POLARIZATION¶
introduction¶
We calculate the spontaneous polarization of periodic solids by so-called Modern Theory of Polarization, namely Berry phase theory. The electric polarization \(\mathbf{P}\) is a modulo a quantum \(e\mathbf{R}/V_{c}\) multi-valued function, corresponding to the following implementation equation:
where \(\mathbf{A}_{n}(\mathbf{k})\) is the Berry connection of a single band.
example¶
Here, we present an example (located in the examples/PbTiO3 folder) showcasing the calculation of the polarization of PbTiO\(_3\).
The Input file is:
INPUT_PARAMETERS
{
nspin 1
package ABACUS
fermi_energy 13.38267075814371
fermi_energy_unit eV
HR_route data-HR-sparse_SPIN0.csr
SR_route data-SR-sparse_SPIN0.csr
rR_route data-rR-sparse.csr
HR_unit Ry
rR_unit Bohr
}
LATTICE
{
lattice_constant 7.3699
lattice_constant_unit Bohr
lattice_vector
1.0000000000 0.0000000000 0.0000000000
0.0000000000 1.0000000000 0.0000000000
0.0000000000 0.0000000000 1.0000000000
}
POLARIZATION
{
occ_band 22
nk1 10
nk2 10
nk3 10
atom_type 3
stru_file STRU
valence_e 14 12 6
}
occ_band: The number of occupied energy bands of an insulator.
nk1: This refers to the number of samples taken in the \(x\) direction of the reciprocal lattice vector \(\mathbf{G}\).
nk2: This refers to the number of samples taken in the \(y\) direction of the reciprocal lattice vector \(\mathbf{G}\).
nk3: This refers to the number of samples taken in the \(z\) direction of the reciprocal lattice vector \(\mathbf{G}\).
stru_file: Specify the strucutre file. NAOs files are not required.
atom_type: The number of element types in the system.
valence_e: The number of valence electrons per element.
The parameters nk1, nk2, and nk3 correspond to the number of k-points used for the integration in the three lattice directions, and increasing their values leads to a more accurate and convergent result.
After completing the task, polarization.dat appears in the Out/Polarization folder which contains the electric polarization of the three lattice directions.