# Difference between revisions of "Tutorial:Sternheimer linear response"

Line 10: | Line 10: | ||

For this tutorial we will use a water molecule, with this basic input file for the ground state: | For this tutorial we will use a water molecule, with this basic input file for the ground state: | ||

− | CalculationMode = gs | + | {{variable|CalculationMode|Calculation_Modes}} = gs |

− | %Coordinates | + | %{{variable|Coordinates|System}} |

'O' | 0.000000 | -0.553586 | 0.000000 | 'O' | 0.000000 | -0.553586 | 0.000000 | ||

'H' | 1.429937 | 0.553586 | 0.000000 | 'H' | 1.429937 | 0.553586 | 0.000000 | ||

Line 18: | Line 18: | ||

% | % | ||

− | Radius = 10 | + | {{variable|Radius|Mesh}} = 10 |

− | Spacing = 0.65 | + | {{variable|Spacing|Mesh}} = 0.65 |

− | ConvRelDens = | + | {{variable|ConvRelDens|SCF}} = 1e-6 |

We use a tighter setting on SCF convergence (ConvRelDens) which will help the ability of the Sternheimer calculation to converge numerically, and we increase a bit the size of the box as response calculations tend to require more space around the molecule than ground-state calculations to be converged. | We use a tighter setting on SCF convergence (ConvRelDens) which will help the ability of the Sternheimer calculation to converge numerically, and we increase a bit the size of the box as response calculations tend to require more space around the molecule than ground-state calculations to be converged. | ||

Line 36: | Line 36: | ||

After the ground-state calculation is finished, we change the run mode to {{code|em_resp}}, to run a calculation of the electric-dipole response: | After the ground-state calculation is finished, we change the run mode to {{code|em_resp}}, to run a calculation of the electric-dipole response: | ||

− | CalculationMode = em_resp | + | {{variable|CalculationMode|Calculation_Modes}} = em_resp |

Next, to specify the frequency of the response we use the {{variable|EMFreqs|Linear_Response}} block; in this case we will use three values 0.00, 0.15 and 0.30 {{units|{{Hartree}}}}: | Next, to specify the frequency of the response we use the {{variable|EMFreqs|Linear_Response}} block; in this case we will use three values 0.00, 0.15 and 0.30 {{units|{{Hartree}}}}: | ||

− | %EMFreqs | + | %{{variable|EMFreqs|Linear_Response}} |

3 | 0.0 | 0.3 | 3 | 0.0 | 0.3 | ||

% | % | ||

Line 46: | Line 46: | ||

and we will also specify a small imaginary part to the frequency of 0.1 {{units|eV}}, which avoids divergence on resonance: | and we will also specify a small imaginary part to the frequency of 0.1 {{units|eV}}, which avoids divergence on resonance: | ||

− | EMEta = 0.1/27.211383 | + | {{variable|EMEta|Linear_Response}} = 0.1/27.211383 |

In the run, you will see calculations for each frequency for the ''x'', ''y'', and ''z'' directions, showing SCF iterations, each having linear-solver iterations for the individual states' <math>\psi^{1}</math>, labelled by the k-point/spin (ik) and state (ist). The negative state indices listed indicate response for <math>-\omega</math>. The norm of <math>\psi^{1}</math>, the number of linear-solver iterations (iter), and the residual <math>\left|(H^0-\epsilon^0 + \omega )|\psi^{1}>+P_{\rm c} H^{1}|\psi^{0}>\right|</math> are shown for each. | In the run, you will see calculations for each frequency for the ''x'', ''y'', and ''z'' directions, showing SCF iterations, each having linear-solver iterations for the individual states' <math>\psi^{1}</math>, labelled by the k-point/spin (ik) and state (ist). The negative state indices listed indicate response for <math>-\omega</math>. The norm of <math>\psi^{1}</math>, the number of linear-solver iterations (iter), and the residual <math>\left|(H^0-\epsilon^0 + \omega )|\psi^{1}>+P_{\rm c} H^{1}|\psi^{0}>\right|</math> are shown for each. |

## Revision as of 21:52, 7 May 2015

The Sternheimer approach to perturbation theory allows efficient calculations of linear and non-linear response properties. The basis of this method, just as in standard perturbation theory, is to calculate the variation of the wave-functions under a given perturbing potential. The advantage of the method is that the variations are obtained by solving the linear equation

that only depends on the occupied states instead of requiring an (infinite) sum over unoccupied states. In the case of (time-dependent) density functional theory the variation of the Hamiltonian includes a term that depends on the variation of the density, so this equation must be solved self-consistently.

To run a Sternheimer calculation with Octopus, the only previous calculation you need is a ground-state calculation. For this tutorial we will use a water molecule, with this basic input file for the ground state:

`CalculationMode`

= gs %`Coordinates`

'O' | 0.000000 | -0.553586 | 0.000000 'H' | 1.429937 | 0.553586 | 0.000000 'H' | -1.429937 | 0.553586 | 0.000000 %`Radius`

= 10`Spacing`

= 0.65`ConvRelDens`

= 1e-6

We use a tighter setting on SCF convergence (ConvRelDens) which will help the ability of the Sternheimer calculation to converge numerically, and we increase a bit the size of the box as response calculations tend to require more space around the molecule than ground-state calculations to be converged.

F. D. Vila, D. A. Strubbe, Y. Takimoto, X. Andrade, A. Rubio, S. G. Louie, and J. J. Rehr, *Basis set effects on the hyperpolarizability of CHCl _{3}: Gaussian-type orbitals, numerical basis sets and real-space grids*, J. Chem. Phys.

**133**034111 (2010)

After the ground-state calculation is finished, we change the run mode to `em_resp`

, to run a calculation of the electric-dipole response:

`CalculationMode`

= em_resp

Next, to specify the frequency of the response we use the `EMFreqs`

block; in this case we will use three values 0.00, 0.15 and 0.30 [Ha]:

`%``EMFreqs`

3 | 0.0 | 0.3
%

and we will also specify a small imaginary part to the frequency of 0.1 [eV], which avoids divergence on resonance:

`EMEta`

= 0.1/27.211383

In the run, you will see calculations for each frequency for the *x*, *y*, and *z* directions, showing SCF iterations, each having linear-solver iterations for the individual states' , labelled by the k-point/spin (ik) and state (ist). The negative state indices listed indicate response for . The norm of , the number of linear-solver iterations (iter), and the residual are shown for each.

At the end, you will have a directory called ** em_resp** containing a subdirectory for each frequency calculated, each in turn containing

**(listing = 0.1 [eV]),**

`eta`**(containing the real part of the polarizability tensor), and**

`alpha`**(containing the cross-section for absorption, based on the imaginary part of the polarizability).**

`cross_section`For more information, see Xavier Andrade, Silvana Botti, Miguel Marques and Angel Rubio, *Time-dependent density functional theory scheme for efficient calculations of dynamic (hyper)polarizabilities*, J. Chem. Phys **126** 184106 (2007)