next up previous contents index
Next: Response output Up: Perturbation Theory / Linear Previous: General   Contents   Index


&RESP section input

Generally, the keyword LINEAR RESPONSE in the &CPMD input section initiates the calculation. In the section &RESP, the type of the perturbation needs to be specified. Either one of the following keywords must appear:

PHONON
LANCZOS
RAMAN
FUKUI
KPERT
NMR

They are discussed in detail in the following. An overview is also contained in the file respin_p.F. In addition to the specific keywords of every option, there are several keywords which are common to all perturbation types. They determine fine-tuning parameters of the wavefunction optimization process, and usually you do not need to change them. A # indicates that a command takes an argument which is read from the next line. All other keywords toggle between two states and do not require any argument. Those keywords can be put together, and they can also figure in the main keyword line (example: NMR NOOPT FAST WANNIERCENTERS)

NB: The linear response code works with all cell symmetries1, but it is not implemented for $ k$-points.

#
CG-ANALYTIC: The wavefunction optimization uses a preconditioned conjugate gradient technique. The optimum length of the ``time step'' can be calculated analytically assuming a purely linear equation, according to the Numerical Recipes Eq. 10.6.4. However, this is somewhat expensive, and experience shows that the time step is almost constant except at the very beginning. Therefore, it is only calculated a few times, and lateron, the last calculated value is used. This option controls the number of times the step length is calculated analytically. Default is 3 for NMR and 99 for all other perturbations.

#
CG-FACTOR: The analytic formula for the time step assumes that the equation to be solved is purely linear. However, this is not the case, since the right hand side can still depend on the first order wavefunctions through the dependence of the perturbation hamiltonian $ H^{(1)}$ on the perturbation density $ n^{(1)}$. Therefore, the analytic formula has a tendency to overshoot. This is corrected by an empirical prefactor which is controlled by this option. Default is 0.7.

#
CONVERGENCE: The criterium which determines when convergence is reached is that the maximum element of the gradient of the energy with respect to the wavefunction coefficients be below a certain threashold. This value is read from the next line. Default is 0.00001. Experience shows that often, it is more crucial to use a strict convergence criterium on the ground state wavefunctions than for the response. A rule of thumb is that good results are obtained with a 10 times stricter convergence on the ground state orbitals compared to that of the response orbitals.

#
HTHRS or HAMILTONIAN CUTOFF: The preconditioning calculates the diagonal $ (\mathbf{G},\mathbf{G})$ matrix elements of $ \eta=H^{(0)}-\frac 1N \sum_k\varepsilon_k$ to do an approximate inversion of Eq. (4). However, these diagonal values can become very small, yielding numerical instabilities. Therefore, a smoothing is applied instead of simply taking the reciprocal values:
$\displaystyle \eta^{-1}$ $\displaystyle \mapsto$ $\displaystyle \left(\eta^2 + \delta^2\right)^{-1/2}$ (8)
$\displaystyle \eta^{-1}$ $\displaystyle \mapsto$ $\displaystyle \frac {\eta} {\eta^2 + \delta^2}$ (9)

The value of the parameter $ \delta$ in a.u. is read from the line after HTHRS, default is 0.5. By default, Eq. (8) is used. TIGHTPREC switches to Eq. (9).

 $&bull#bullet;$
NOOPT: In order for the wavefunction optimization to work properly, the ground state wavefunction must be converged. For this reason, a ground state optimization is performed by default prior to computing the response. When restarting from an already converged wavefunction, this step can be skipped through this keyword and the computer time for initializing the ground state optimization routine is saved. However, the use of this option is strongly discouraged.

 $&bull#bullet;$
POLAK: There are several variants of the conjugate gradient algorithm. This keyword switches to the Polak-Ribiere formulation (see the Numerical Recipes, Eq. 10.6.7) which is usually significantly slowlier but safer in the convergence. By default, the Fletcher-Reeves formula is used.

 $&bull#bullet;$
TIGHTPREC: Switches to another preconditioning formula. See HTHRS.


next up previous contents index
Next: Response output Up: Perturbation Theory / Linear Previous: General   Contents   Index

2006-03-29 cpmd@cpmd.org