# Difference between revisions of "Manual:Linear Response"

m (Polarizabilites moved to Polarizabilities) |
|||

Line 5: | Line 5: | ||

== Finite differences == | == Finite differences == | ||

− | This is calculated doing a numerical derivative of the total energy with respect to | + | This is calculated doing a numerical derivative of the total energy with respect to an applied electric field, it only gives the polarizability. |

+ | |||

+ | To use this run with ''RunMode = pol'', this will do several ground state calculations. The resulting tensor will be in the ''linear/polarizability'' file. | ||

== Linear Response == | == Linear Response == |

## Revision as of 14:15, 9 January 2006

# Calculate Polarizabolities and Hyperpolarizabilites with Octopus

With version 2.0rc1 the calculation of static polarizability () and the first hyperpolarizability () is supported. There are two ways to do this:

## Finite differences

This is calculated doing a numerical derivative of the total energy with respect to an applied electric field, it only gives the polarizability.

To use this run with *RunMode = pol*, this will do several ground state calculations. The resulting tensor will be in the *linear/polarizability* file.

## Linear Response

In this method the derivative of the energy is calculated analytically through Density Functional Perturbation Theory, is faster and more reliable that the previous method and also calculates the first hyperpolarizability tensor.

To use this you first need a gs calculation for the system with very well converged wave functions, the following parameters are recommended:

EigenSolverFinalTolerance = 1e-10 ConvAbsDens = 0 ConvRelDens = 0 ConvAbsEv = 1e-10 ConvRelEv = 0

After that you can calculate the hyperpolarizabity using *RunMode = pol_lr*. Results will be in the *linear/* directory in files *polarizability_lr* and *beta_lr*.