3.38 Response to homogenous electric fields using DFPT for polarizability and dieletric constant calculations
This code has recently been reorganised by Connor Box, the original DFPT implementation in FHI-aims was written by Honghui Shang and coworkers at FHI. Please contact mariana.rossi@mpsd.mpg.de for any questions related to the response of homogenous electric fields using DFPT in FHI-aims.
The implementation is described in the following reference:
-
1.
All-Electron, Real-Space Perturbation Theory for Homogeneous Electric Fields: Theory, Implementation, and Application within DFT
Honghui Shang, Nathaniel Raimbault, Patrick Rinke, Matthias Scheffler, Mariana Rossi, Christian Carbogno
New J. Phys., 20, 073040 (2018)
Homogeneous Electric Fields
Suppose we have an external electrical field , the Hamitonian is changed by adding the following term:
| (3.157) |
and the induced total energy becomes:
| (3.158) |
Here label the dipole moment,
| (3.159) |
and the corresponding polarizability is defined as the first order derivative of dipole moment with respect to external electrical field:
| (3.160) |
The polarizability for cluster system can be calculated using 3.160. For extended systems, the position operator is unbounded, in order to deal with it, we use:
| (3.161) |
so we can rewrite the polarizability (Eq.3.160) for extended system as:
| (3.162) | ||||
| (3.163) |
and the corresponding dielectric constant is:
| (3.164) |
Similar to the lattice dynamic case, calculating the first-order density matrix requires a DFPT calculation. The flowchart of our DFPT calculation for response to an electric field is illustrated in Fig. 3.9.
The electric field response calculation is triggered by setting the electric_field_response keyword to DFPT in the control.in file. The electric_field_serial keyword can be used to determine whether the DFPT cycle is carried out for each Cartesian coordinate in serial, or for all 3 Cartesian coordinates at the same time.
Tags for general section of control.in
Tag: electric_field_response(control.in)
Usage: electric_field_response type
Purpose:
type specifies the method to calculate response to electric fields and triggers such a calculation.
Currently, only DFPT is a valid option.
Default: DFPT.
Tag: electric_field_serial(control.in)
Usage: electric_field_serial boolean
Purpose:
Determines whether the DFPT cycle is carried out for each Cartesian coordinate in serial, or for all 3 Cartesian coordinates at the same time.
Not much difference between the two. Generally no need to alter this.
Default: .true..