Difference between revisions of "Manual:Linear Response"
(No difference)

Revision as of 23:24, 29 June 2006
Contents
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.
Ground state
To do a polarizability calculation you need a gs calculation for the system with very well converged wave functions, the following convergency parameters are recommended:
EigenSolverFinalTolerance = 1e10 ConvAbsDens = 0 ConvRelDens = 0 ConvAbsEv = 1e10 ConvRelEv = 0
Polarizability
After that you can calculate the hyperpolarizabity using RunMode = pol_lr. This will run a self consistent iteration for each dimension, each one takes about 1020 steps and the calculation time is about the same for the ground state. The results will be in the linear/ directory in two files:
 The polarizability_lr file contains the static polarizability given as a matrix and the mean static polarizablity
 The beta_lr file which contains the first static hyperpolarizability given by components (as the tensor is symmetrical there are only 10 independent components). Finally there are the 3 values defined as