Introduction to Polarization Calculations
This tutorial describes how to calculate spontaneous polarization using density functional theory and modern theory of polarization.
Spontaneous Polarization
Ferroelectrics play a significant role in various technological applications, including tunable capacitors, non-volatile random access memory devices, and electro-optical data storage. The phenomenon of ferroelectricity often arises due to a structural phase transition from a high-symmetry nonpolar phase to a low-symmetry polar phase as temperature decreases, leading to the spontaneous emergence of polarization.
Ferroelectrics exhibit a distinctive hysteresis loop in the polarization versus electric field curve.
The spontaneous polarization can be experimentally determined by taking half of the change in polarization at zero external fields.
The spontaneous polarization of a material is not directly observable. Instead, it is determined by measuring the change in polarization between two stable configurations of the material.
Following the modern theory of polarization, the polarization, P, of a crystal is defined as,
where e is the charge of the electron, ni is an integer, Ri is a primitive lattice vector, and Ω is the unit cell volume. The second term on the right-hand side of the equation is the quantum of polarization, , a consequence of translation symmetry.
Only differences in the computed polarization on the “same branch” are physically meaningful, so one needs a polar structure and a non-polar reference structure in order to perform the polarization calculations.
The following section describes how to compute spontaneous polarization values using density functional theory and the modern theory of polarization
Getting Polar and non-Polar structure
To compute the spontaneous polarization using the berry phase method implemented in VASP.
1: Relax the polar structure using VASP.
2: Create an anti-polar structure from the relaxed polar structure.
3: One can use vtst scripts to create several images in between these two endpoints, for example for AlN wurtzite structure, the interpolation path is such that the middle image looks like hexagonal boron nitride.
use nebmake.pl script to create 10 images between the polar and anti-polar endpoints with the following command line
4: Use these images to calculate the value of spontaneous polarization. Use the flags LCALPOL = .TRUE. and DIPOL = 0.5 0.5 0.5 .
5: After completing this step collect all the POSCAR and OUTCAR files in a directory with proper indexing. e.g POSCAR-00 .... POSCAR-10, OUTCAR-00....OUTCAR-10
to get the polarization branch use pymatgen utility
If you are working with many Python packages, it is generally recommended you create a separate environment for each of your packages. For example:
Now using pymatgen utility you can extract the spontaneous polarization values from the POSCAR and OUTCAR files collected in step 5.
The spontaneous polarization can be calculated by using the formula
The relative energy per formula shows the switching barrier from polar to anti-polar structures assuming a smooth homogeneous switching from polar to anti-polar structure via non-polar h-BN type intermediate. In order to get a proper switching barrier one needs to do ss-NEB calculations. One can find this useful tutorial on how to perform ss-NEB calculations
Last updated