Density Functional Perturbation Theory calculations

This page gives hints on how to generically perform DFPT calculations with the ABINIT package.

Copyright (C) 2016-2017 ABINIT group (MT)
Mentioned in   topic_Berry,   topic_EffMass,   topic_Elastic,   topic_Phonons,   help_features#6.

Table of content:

 
 

1. Introduction.

Density-Functional Perturbation Theory (DFPT) allows one to address a large variety of physical observables. Many properties of interest can be computed directly from the derivatives of the energy, without the use of finite differences: phonons modes, elastic tensors, effective charges, dielectric tensors, etc... Even non-linear properties can be computed, like the Raman intensities (for the latter, see topic_nonlinear)..

A DFPT calculation workflow is conducted as follows:

  • Run a Ground-State calculation in order to extract the Kohn-Sham pseudo wave-functions; these must be extremely well converged.
  • If necessary, e.g., for the application of the derivative of the Hamiltonian with respect to an electric field, determine the derivatives of the wave functions with respect to the wave vector k, and keep them in a file. The keyword rfddk is used to perform this type of calculation.
  • Compute the 2nd-order derivative matrix (i.e., 2nd derivatives of the energy with respect to different perturbations λ). This can be done thanks to the keywords rfphon (λ=atomic displacement), rfstrs (λ=strain), rfelfd (λ=electric field) or rfmagn (λ=magnetic field).
  • Launch the anaddb tool (distributed with ABINIT) to analyse the derivative database and compute relaxed tensors and thermodynamical properties.
  • Note that for PAW calculation, when performing the post-processing with anaddb, it is recommended to include all the keywords enforcing the sum rules (acoustic sum and charge neutrality). Indeed the PAW formalism involves, for each atom, the calculation of a large number of real space integrals, whose numerical effect may be to break the translational invariance.

    Thanks to the locality provided by PAW partial wave basis, it is possible to perform response function calculations for correlated electron materials. The LDA+U formalism is usable without any restriction for the PAW+DFPT calculations.

    All the tutorials dedicated to response functions can be followed both with norm-conserving pseudopotentials and with PAW atomic datasets.

    More detailed explanations to perform a response calculation are given in the help_respfn file.

    Go to the top  


     

    2. Related lesson(s) of the tutorial.

  • The lesson Response-Function 1 (RF1) presents the basics of DFPT calculations within ABINIT. The example given is the study of dynamical and dielectric properties of AlAs (an insulator): phonons at Gamma, dielectric constant, Born effective charges, LO-TO splitting, phonons in the whole Brillouin zone. The creation of the "Derivative Data Base" (DDB) is presented.
  • The lesson Response-Function 2 (RF2) presents the analysis of the DDBs that have been introduced in the preceeding lesson RF1. The computation of the interatomic forces and the computation of thermodynamical properties is an outcome of this lesson.
  • The lesson on the elastic properties presents the computation with respect to the strain perturbation and its responses: elastic constants, piezoelectricity.
  • Parallelism of response-function calculations. Additional information to use the DFPT in parallel.
  • Lesson on static non-linear properties. Electronic non-linear susceptibility, non-resonant Raman tensor, electro-optic effect.


  • Go to the top  
     

    3. Related input variables.

    Compulsory input variables:

    ... optdriver [OPTions for the DRIVER]
    ... rfdir [Response Function : DIRections]

    Basic input variables:

    ... rfatpol [Response Function : ATomic POLarisation]
    ... rfddk [Response Function with respect to Derivative with respect to K]
    ... rfelfd [Response Function with respect to the ELectric FielD]
    ... rfmagn [Response Function with respect to MAGNetic B-field perturbation]
    ... rfphon [Response Function with respect to PHONons]
    ... rfstrs [Response Function with respect to STRainS]

    Useful input variables:

    ... asr [Acoustic Sum Rule]
    ... dfpt_sciss [DFPT SCISSor operator]
    ... getwfkfine [GET the fine grid wavefunctions from _WFK file]
    ... ird1wf [Integer that governs the ReaDing of _1WF files ]
    ... irdddk [Integer that governs the ReaDing of DDK wavefunctions, in _1WF files]
    ... irdwfq [Integer that governs the ReaDing of _WFQ files]

    Relevant internal variables:

    ... %qptn [Q-PoinT re-Normalized]

    Input variables for experts:

    ... frzfermi [FReeZe FERMI energy]
    ... pawcross [PAW - add CROSS term in oscillator strengths]
    ... rf2_dkdk [Response Function : 2nd Derivative of wavefunctions with respect to K]
    ... rfmeth [Response Function METHod]
    ... rfuser [Response Function, USER-defined]
    ... scphon_supercell [Self Consistent PHONon SUPERCELL]
    ... scphon_temp [Self Consistent PHONon TEMPerature]


    Go to the top  


     

    4. Selected input files.

    WARNING : as of ABINITv8.6.x, the list of input files provided in the specific section of the topics Web pages is still to be reviewed/tuned. In some cases, it will be adequate, and in other cases, it might be incomplete, or perhaps even useless.

    The user can find some related example input files in the ABINIT package in the directory /tests, or on the Web:

    tests/v4/Input: t63.in t66.in

    tests/v5/Input: t05.in t30.in

    tests/v6/Input: t62.in t63.in t89.in

    tests/v7/Input: t43.in t44.in t45.in

    tests/v8/Input: t07.in t20.in


    Go to the top