This document lists and provides the description of the name (keywords) of the response function input variables to be used in the main input file of the abinit code.

The new user is advised to read first the new user's guide, before reading the present file. It will be easier to discover the present file with the help of the tutorial.

When the user is sufficiently familiarized with ABINIT, the reading of the ~abinit/doc/users/tuning file might be useful. For response-function calculations using abinit, please read the response function help file

This file is distributed under the terms of the GNU General Public License, see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt .

For the initials of contributors, see ~abinit/doc/developers/contributors.txt .

A.

B. bdeigrf

C.

D.

E. elph2_imagden esmear

F. frzfermi

G.

H.

I. ieig2rf

J.

K.

M. mkqmem mk1mem

N.

O.

P. prepanl prepgkk prtbbb

Q.

R. rfasr rfatpol rfddk rfdir rfelfd rfmeth rfphon rfstrs rfuser rf1atpol rf1dir rf1elfd rf1phon rf2atpol rf2dir rf2elfd rf2phon rf3atpol rf3dir rf3elfd rf3phon

S. sciss smdelta

T. td_maxene td_mexcit

U.

V.

W.

X.

Y.

Z.

frzfermi

Mnemonics: FReeZe FERMI energy

Characteristic:

Variable type: integer parameter

Default is 0.

Can be used to suppress artificially the first-order change of
Fermi energy, in case of Response Function calculation
for metals at Q=0. This change is needed, but was not computed prior to v4.4 .
Its calculation has been implemented by DHamann. The input variable **frzfermi**,
if set to 1, allows to recover the previous, incorrect behaviour.

Go to the top
** | **Complete list of input variables

bdeigrf

Mnemonics: BanD for second-order EIGenvalues from Response-Function

Characteristic: RESPFN

Variable type: integer parameters

Default is -1.

Only relevant if ieig2rf = 1 or 2, that is, if the user is performing second-order eigenvalue calculations using response-functions.

The variable **bdeigrf** is the maximum number of bands for which the second-order eigenvalues must be calculated: the full number of bands is still used during the computation of these corrections.

If **bdeigrf** is set to -1, the code will automatically set **bdeigrf** equal to nband.

Go to the top
** | **Complete list of input variables

elph2_imagden

Mnemonics: ELectron-PHonon interaction at 2nd order : IMAGina y shoft of the DENominator

Characteristic: RESPFN,'ENERGY'

Variable type: real parameter

Default is 0.0 Ha.

Only relevant if ieig2rf is non-zero, that is, if the user is performing performing second-order eigenvalue calculations using response-functions.

The variable **elph2_imagden** determines the imaginary shift of the denominator of the sum-over-states
in the perturbation denominator, (e_{nk}-e_{n'k'}+i **elph2_imagden**).
One should use a width comparable with the Debye frequency or the maximum phonon frequency.

Can be
specified in Ha (the default), Ry, eV or Kelvin, since
**ecut** has the
'ENERGY' characteristics.
(1 Ha=27.2113845 eV)

Go to the top
** | **Complete list of input variables

esmear

Mnemonics: Eigenvalue SMEARing

Characteristic: RESPFN,'ENERGY'

Variable type: real parameter

Default is 0.04 Ha.

Only relevant if smdelta = 1-5, that is, if the user is performing simulations of the electronic lifetimes induced by the electron-phonon coupling.

The variable **esmear** determines the width of the functions approximating the delta function, \delta(e_{nk}-e_{n'k'}),
present in the expression of the lifetimes. One should use a width comparable with the Debye frequency or the maximum phonon frequency.

Can be specified in Ha (the default), Ry, eV or Kelvin, since
**ecut** has the
'ENERGY' characteristics.
(1 Ha=27.2113845 eV)

Go to the top
** | **Complete list of input variables

ieig2rf

Mnemonics: Integer for second-order EIGenvalues from Response-Function

Characteristic: RESPFN

Variable type: integer parameters

Default is 0.

If **ieig2rf** is greater then 0, the code will produce a file, named with the trailing suffix _EIGR2D, containing the second-order electronic eigenvalues for the perturbation. These files are used in the calculation of the thermal correction to the electronic eigenvalues.

If **ieig2rf** is set to 1, the second-order electronic eigenvalues will be calculated from the DFPT method.

If **ieig2rf** is set to 2, the second-order electronic eigenvalues will be calculated from the Allen-Cardona method.

Related variables : bdeigrf,elph2_imagden,getgam_eig2nkq,smdelta

Go to the top
** | **Complete list of input variables

mkqmem

Mnemonics: Maximum number of K+Q - points in MEMory

mk1mem

Mnemonics: Maximum number of K - points for 1st order wavefunctions, kept in MEMory

Characteristic: RESPFN

Variable type: integer parameters

Default is nkpt, i.e. in-core solution.

Plays a role similar to mkmem
but for different sets of wavefunctions : the
ground state wavefunctions at k+q and the first-order
wavefunctions. Only needed for response calculations.

Internal representation as mkmems(2) and mkmems(3).

Note (991019) that although the effective number of k points
can be reduced thanks to symmetry for different
perturbations, **mkqmem** and **mk1mem** are presently
still compared with the input nkpt. This should be changed
later.

Go to the top
** | **Complete list of input variables

prepanl

Mnemonics: PREPAre Non-Linear response calculation

Characteristic: RESPFN

Variable type: integer parameter

Default is 0.

The computation of third-order derivatives from the 2n+1 theorem
requires the first-order wavefunctions and densities obtained from
a linear response calculation. The standard approach in a linear
response calculation is (i) to compute only the
irreducible perturbations, and (ii) to use symmetries to
reduce the number of k-points for the k-point integration.

This approach cannot be applied, presently (v4.1),
if the first-order wavefunctions are to be used to compute third-order derivatives.
First, for electric fields, the code needs the derivatives
along the three directions. Still, in case of phonons, only the
irreducible perturbations are required.
Second, for both electric fields and phonons, the wavefunctions
must be available in half the BZ (kptopt=2), or the full BZ (kptopt=3).

During the linear response calculation, in order to prepare a non-linear
calculation, one should put **prepanl** to 1 in order
to force ABINIT (i) to compute the electric field perturbation
along the three directions explicitly, and (ii) to keep the full number of k-points.

Go to the top
** | **Complete list of input variables

prepgkk

Mnemonics: PREPAre GKK calculation

Characteristic: RESPFN

Variable type: integer parameter

Default is 0.

The calculation of electron-phonon coupling quantities requires the presence
of all the perturbations (all atoms in all directions) for the chosen set
of (irreducible) q-points. To impose this and prevent ABINIT from using
symmetry to reduce the number of perturbations, set **prepgkk** to 1.
Use in conjunction with **prtgkk**.

Go to the top
** | **Complete list of input variables

prtbbb

Mnemonics: PRinT Band-By-Band decomposition

Characteristic: RESPFN

Variable type: integer parameter

Default is 0.

If **prtbbb** is 1, print the band-by-band decomposition of
Born effective charges and localization tensor, in case they are computed.
See Ph. Ghosez and X. Gonze, J. Phys.: Condens. Matter 12, 9179 (2000).

Go to the top
** | **Complete list of input variables

rfasr

Mnemonics: Response Function : Acoustic Sum Rule

Characteristic: RESPFN

Variable type: integer parameter

Default is 0.

Control the evaluation of the acoustic sum rule in effective charges and dynamical matrix at Gamma within a response function calculation (not active at the level of producing the DDB, but at the level of the phonon eigenfrequencies output).

- 0 => no acoustic sum rule imposed
- 1 => acoustic sum rule imposed for dynamical matrix at Gamma, and charge neutrality imposed with extra charge evenly distributed among atoms
- 2 => acoustic sum rule imposed for dynamical matrix at Gamma, and charge neutrality imposed with extra charge given proportionally to those atoms with the largest effective charge.

Go to the top

rfatpol

Mnemonics: Response Function : limits of ATomic POLarisations

Characteristic: RESPFN

rf1atpol

Mnemonics: non-linear Response Function, 1st mixed perturbation : limits of ATomic POLarisations

Characteristic: NON-LINEAR

rf2atpol

Mnemonics: non-linear Response Function, 2nd mixed perturbation : limits of ATomic POLarisations

Characteristic: NON-LINEAR

rf3atpol

Mnemonics: non-linear Response Function, 3rd mixed perturbation : limits of ATomic POLarisations

Characteristic: NON-LINEAR

Variable type: integer array of 2 elements

Default is 1 1

Control the range
of atoms for which displacements will be considered
in phonon calculations (atomic polarisations), or in non-linear
computations, using the 2n+1 theorem.

These values are only relevant to phonon response function
calculations, or non-linear computations.

May take values from 1 to natom, with **rfatpol**(1)<=**rfatpol**(2).

The atoms to be moved will be defined by the

do-loop variable iatpol :

do iatpol=**rfatpol**(1),**rfatpol**(2)

For the calculation of a full dynamical matrix, use
**rfatpol**(1)=1 and **rfatpol**(2)=natom, together with
rfdir 1 1 1 . For selected elements of the
dynamical matrix, use different values of **rfatpol** and/or
rfdir. The name 'iatpol' is used for the part of the
internal variable ipert when it runs from 1 to natom. The
internal variable ipert can also assume values larger
than natom, of electric field or stress type (see respfn.help).

Go to the top
** | **Complete list of input variables

rfddk

Mnemonics: Response Function with respect to Derivative with respect to K

Characteristic: RESPFN

Variable type: integer parameter

Default is 0.

Activates computation of derivatives of ground state wavefunctions with respect to wavevectors. This is not strictly a response function but is a needed auxiliary quantity in the electric field calculations (see rfelfd) The directions for the derivatives are determined by rfdir.

- 0=>no derivative calculation
- 1=>calculation of first derivatives of wavefunctions with respect to k points (d/dk calculation). The exact same functionality is provided by rfelfd = 2.

Go to the top

rfdir

Mnemonics: Response Function : DIRections

Characteristic: RESPFN

rf1dir

Mnemonics: non-linear Response Function, 1st mixed perturbation : DIRections

Characteristic: NON-LINEAR

rf2dir

Mnemonics: non-linear Response Function, 2nd mixed perturbation : DIRections

Characteristic: NON-LINEAR

rf3dir

Mnemonics: non-linear Response Function, 3rd mixed perturbation : DIRections

Characteristic: NON-LINEAR

Variable type: integer array of 3 elements

Default is 0 0 0.

Gives the directions
to be considered for response function calculations, or non-linear computations
(also for the Berry phase computation of the polarization, see
the berryopt input variable).

The three elements corresponds to the three primitive
vectors, either in real space (phonon calculations),
or in reciprocal space (d/dk, homogeneous electric field, homogeneous magnetic field
calculations). So, they generate a basis
for the generation of the dynamical matrix or
the macroscopic dielectric tensor or magnetic susceptibility and magnetic
shielding, or the effective
charge tensors.

If equal to 1, response functions, as defined
by rfddk,
rfelfd, rfphon, **rfdir**
and rfatpol, are to be computed
for the corresponding direction. If 0, this direction
should not be considered (for non-linear computations, the corresponding input
variables should be used).

Go to the top
** | **Complete list of input variables

rfelfd

Mnemonics: Response Function with respect to the ELectric FielD

Characteristic: RESPFN

rf1elfd

Mnemonics: non-linear Response Function, 1st mixed perturbation : ELectric FielD

Characteristic: NON-LINEAR

rf2elfd

Mnemonics: non-linear Response Function, 2nd mixed perturbation : ELectric FielD

Characteristic: NON-LINEAR

rf3elfd

Mnemonics: non-linear Response Function, 3rd mixed perturbation : ELectric FielD

Characteristic: NON-LINEAR

Variable type: integer parameter

Default is 0.

Turns on electric field response
function calculations (or non-linear computation, including the electric field
perturbation). Actually, such calculations
requires first the non-self-consistent calculation
of derivatives with respect to k, independently of the
electric field perturbation itself.

Only rfelfd
is compatible with both norm-conserving pseudopotentials as well as PAW. Higher mixed
perturbations can be used only with norm-conserving pseudopotentials.

- 0=>no electric field perturbation
- 1=>full calculation, with first the derivative of ground-state wavefunction with respect to k (d/dk calculation), by a non-self-consistent calculation, then the generation of the first-order response to an homogeneous electric field
- 2=>only the derivative of ground-state wavefunctions with respect to k
- 3=>only the generation of the first-order response to the electric field, assuming that the data on derivative of ground-state wavefunction with respect to k is available on disk.

The options 2 and 3 proves useful in that context ; also, in case a scissor shift is to be used, it is usually not applied for the d/dk response).

Go to the top

rfmeth

Mnemonics: Response Function METHod

Characteristic: RESPFN

Variable type: integer parameter

Default is 1.

Selects method used in
response function calculations. Presently, only 1
is allowed.

Go to the top
** | **Complete list of input variables

rfphon

Mnemonics: Response Function with respect to PHONons

Characteristic: RESPFN

rf1phon

Mnemonics: non-linear Response Function, 1st mixed perturbation : PHONons

Characteristic: NON-LINEAR

rf2phon

Mnemonics: non-linear Response Function, 2nd mixed perturbation : PHONons

Characteristic: NON-LINEAR

rf3phon

Mnemonics: non-linear Response Function, 3rd mixed perturbation : PHONons

Characteristic: NON-LINEAR

Variable type: integer parameter

Default is 0.

It must be equal to 1
to run phonon response function calculations, or to include some phonon perturbation
in non-linear computations.

Go to the top
** | **Complete list of input variables

rfstrs

Mnemonics: Response Function with respect to STRainS

Characteristic: RESPFN

Variable type: integer parameter

Default is 0.

Used to run strain response-function calculations (e.g. needed to get elastic constants). Define, with rfdir, the set of perturbations.

- 0=>no strain perturbation
- 1=>only uniaxial strain(s) (ipert=natom+3 is activated)
- 2=>only shear strain(s) (ipert=natom+4 is activated)
- 3=>both uniaxial and shear strain(s) (both ipert=natom+3 and ipert=natom+4 are activated)

Go to the top

rfuser

Mnemonics: Response Function, USER-defined

Characteristic: RESPFN

Variable type: integer parameter

Default is 0.

Available to the developpers, to activate
the use of ipert=natom+5 and ipert=natom+6, two sets of perturbations
that the developpers can define.

- 0=>no computations for ipert=natom+5 or ipert=natom+6
- 1=>response with respect to perturbation natom+5 will be computed
- 2=>response with respect to perturbation natom+6 will be computed
- 3=>responses with respect to perturbations natom+5 and natom+6 will be computed

In order to define and use correctly the new perturbations,
the developper might have to include code lines or additional routines
at the level of the following routines :
cgwf3.f, chkph3.f, dyout3.f, d2sym3.f, eneou3.f, eneres3.f, gath3.f, insy3.f,
loper3.f, mkcor3.f, nstdy3.f, nstwf3.f, respfn.f,
scfcv3.f, syper3.f, vloca3.f, vtorho3.f, vtowfk3.f, wings3.f, .
In these routines, the developper should pay a particular
attention to the rfpert array, defined in the routine respfn.f ,
as well as to the ipert local variable.

Go to the top
** | **Complete list of input variables

sciss

Mnemonics: SCISSor operator

Characteristic: RESPFN, ENERGY

Variable type: real parameter

Default is 0.

It is the value of the "scissors operator", the
shift of conduction band eigenvalues,
used in response function calculations.

Can be specified in Ha (the default), Ry, eV or Kelvin, since
**ecut** has the
'ENERGY' characteristics.
(1 Ha=27.2113845 eV)

Typical use is for response to electric field (rfelfd=3),
but NOT for d/dk (rfelfd=2) and phonon responses.

Go to the top
** | **Complete list of input variables

smdelta

Mnemonics: SMeared DELTA function

Characteristic: RESPFN

Variable type: integer parameter

Default is 0

When **smdelta** in non-zero, it will trigger the calculation of the imaginary part of the second-order electronic eigenvalues, which can be related to the electronic lifetimes. The delta function is evaluated using:

- when
**smdelta**== 1, Fermi-Dirac smearing : 0.25_dp/(cosh(xx/2.0_dp)**2 - when
**smdelta**== 2, Cold smearing by Marzari using the parameter a=-.5634 (minimization of the bump): exp(-xx2)/sqrt(pi) * (1.5d0+xx*(-a*1.5d0+xx*(-1.0d0+a*xx))) - when
**smdelta**== 3, Cold smearing by Marzari using the parameter a=-.8165 (monotonic function in the tail): as 2 but different a - when
**smdelta**== 4, Smearing of Methfessel and Paxton (PRB40,3616(1989)) with Hermite polynomial of degree 2, corresponding to "Cold smearing" of N. Marzari with a=0 (so, same smeared delta function as smdelta=2, with different a). - when
**smdelta**== 5, Gaussian smearing : 1.0d0*exp(-xx**2)/sqrt(pi)

Go to the top

td_maxene

Mnemonics: Time-Dependent dft : MAXimal kohn-sham ENErgy difference

Characteristic: TDDFT

Variable type: real parameter

Default is 0.0

The Matrix to be diagonalized in the Casida framework
(see "Time-Dependent Density Functional Response Theory of Molecular
systems: Theory, Computational Methods, and Functionals", by M.E. Casida,
in Recent Developments and Applications of Modern Density Functional
Theory, edited by J.M. Seminario (Elsevier, Amsterdam, 1996).)
is a NxN matrix, where, by default, N is the product of
the number of occupied states by the number of unoccupied states.

The input variable **td_maxene** allows to diminish N : it selects
only the pairs of occupied and unoccupied states for which the
Kohn-Sham energy difference is less than **td_maxene**.
The default value 0.0 means that all pairs are taken into account.

See td_mexcit for an alternative
way to decrease N.

Go to the top
** | **Complete list of input variables

td_mexcit

Mnemonics: Time-Dependent dft : Maximal number of EXCITations

Characteristic: TDDFT

Variable type: real parameter

Default is 0.

The Matrix to be diagonalized in the Casida framework
(see "Time-Dependent Density Functional Response Theory of Molecular
systems: Theory, Computational Methods, and Functionals", by M.E. Casida,
in Recent Developments and Applications of Modern Density Functional
Theory, edited by J.M. Seminario (Elsevier, Amsterdam, 1996).)
is a NxN matrix, where, by default, N is the product of
the number of occupied states by the number of unoccupied states.

The input variable **td_mexcit** allows to diminish N : it selects
the first **td_mexcit** pairs of occupied and unoccupied states, ordered
with respect to increasing Kohn-Sham energy difference.
However, when **td_mexcit** is zero, all pairs are allowed.

See td_maxene for an alternative
way to decrease N.

Go to the top
** | **Complete list of input variables