The macroscopic electric polarization of a bulk system can
be calculated based on a Berry's phase formalism [12].
As an example, let us illustrate a calculation of a Born
effective charge of Na in a NaCl bulk via the macroscopic
polarization.
(1) SCF calculation
First, perform a conventional SCF calculation using an input
file NaCl.dat in the directory 'work'. Then, the following
keyword 'HS.fileout' should be switched on
HS.fileout on # on|off, default=off
(2) Calculation of macroscopic polarization
The macroscopic polarization is calculated by a post-processing
code 'polB' of which input data is 'nacl.scfout'.
In the directory 'source', compile as follows:
% make polB
% polB nacl.scfout or % polB nacl.scfout < in > out
9 9 9 1 1 1
****************************************************************** ****************************************************************** polB: code for calculating the electric polarization of bulk systems Copyright (C), 2006-2007, Fumiyuki Ishii and Taisuke Ozaki This is free software, and you are welcome to redistribute it under the constitution of the GNU-GPL. ****************************************************************** ****************************************************************** Read the scfout file (nacl.scfout) Previous eigenvalue solver = Band atomnum = 2 ChemP = -0.234375000000 (Hartree) E_Temp = 300.000000000000 (K) Total_SpinS = 0.000000000000 (K) Spin treatment = collinear spin-polarized r-space primitive vector (Bohr) tv1= 0.000000 5.319579 5.319579 tv2= 5.319579 0.000000 5.319579 tv3= 5.319579 5.319579 0.000000 k-space primitive vector (Bohr^-1) rtv1= -0.590572 0.590572 0.590572 rtv2= 0.590572 -0.590572 0.590572 rtv3= 0.590572 0.590572 -0.590572 Cell_Volume=301.065992 (Bohr^3) Specify the number of grids to discretize reciprocal a-, b-, and c-vectors (e.g 2 4 3) 9 9 9 k1 0.00000 0.11111 0.22222 0.33333 0.44444 0.55556 .... k2 0.00000 0.11111 0.22222 0.33333 0.44444 0.55556 .... k3 0.00000 0.11111 0.22222 0.33333 0.44444 0.55556 .... Specify the direction of polarization as reciprocal a-, b-, and c-vectors (e.g 0 0 1 ) 1 1 1Then, the calculation will start like this:
calculating the polarization along the a-axis .... The number of strings for Berry phase : AB mesh=81 calculating the polarization along the a-axis .... 1/ 82 calculating the polarization along the a-axis .... 2/ 82 ..... ... ******************************************************* Electric dipole (Debye) : Berry phase ******************************************************* Absolute dipole moment 163.93374185 Background Core Electron Total Dx -0.00000000 94.64718996 0.00000013 94.64719009 Dy -0.00000000 94.64718996 0.00000013 94.64719009 Dz -0.00000000 94.64718996 -0.00000018 94.64718978 *************************************************************** Electric polarization (muC/cm^2) : Berry phase *************************************************************** Background Core Electron Total Px -0.00000000 707.66166752 0.00000095 707.66166847 Py -0.00000000 707.66166752 0.00000095 707.66166847 Pz -0.00000000 707.66166752 -0.00000138 707.66166614 Elapsed time = 15.445211 (s) for myid= 0
Px = 94.39158732 (Debye/unit cell) at x= -0.05 (Ang) Px = 94.64719009 (Debye/unit cell) at x= 0.0 (Ang) Px = 94.90279293 (Debye/unit cell) at x= 0.05 (Ang)
OpenMX | FD | Expt. | |
1.06 | 1.09 | 1.12 |
In the NaCl bulk the off-diagonal terms in the tensor of Born charge are zero, and . In Table 5 we see that the calculated value is in good agreement with the other calculation [61] and an experimental result [62]. The calculation of macroscopic polarization is supported for both the collinear and non-collinear DFT. It is also noted that the code 'polB' has been parallelized for large-scale systems where the number of processors can exceed the number of atoms in the system.