This thread is locked.Only browsing is available.
Top Page > Browsing
Polarization calculation
Date: 2020/10/03 22:05
Name: Sergey

Hello all,

I'm studying a MOF structure, and the part of the study is to calculate polarization using Berry Phase approach. When I performed these calculations for relaxed structure I got the following results:


******************************************************************
******************************************************************
polB:
code for calculating the electric polarization of bulk systems
Copyright (C), 2006-2019,
Fumiyuki Ishii, Naoya Yamaguchi 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 (TMCM.scfout)
***
The file format of the SCFOUT file: 3
And it supports the following functions:
- jx
- polB
- kSpin
- Z2FH
- calB
***
Previous eigenvalue solver = Band
atomnum = 84
ChemP = -0.141551193615 (Hartree)
E_Temp = 300.000000000000 (K)
Total_SpinS = 0.000000000002 (K)
Spin treatment = collinear spin-polarized

r-space primitive vector (Bohr)
tv1= 18.317201 0.000209 -0.040939
tv2= 0.000099 29.965707 0.000204
tv3= -1.161491 0.000686 12.377636
k-space primitive vector (Bohr^-1)
rtv1= 0.343093 -0.000001 0.032195
rtv2= -0.000002 0.209679 -0.000012
rtv3= 0.001135 -0.000003 0.507730

Cell_Volume=6792.509631 (Bohr^3)


Specify the number of grids to discretize reciprocal a-, b-, and c-vectors
(e.g 2 4 3)
.....

***************************************************************
Electric polarization (muC/cm^2) : Berry phase
***************************************************************

Background Core Electron Total

Px -0.00000000 1959.68575398 -0.00000000 1959.68575398
Py -0.00000000 3786.09521997 -0.00000000 3786.09521997
Pz -0.00000000 1526.08278156 -0.00000000 1526.08278156

I'm confused by these results. It seems that there is no contributions from electrons, which is strange. Other plane-waves codes give different results (non zero polarization along 101 direction).

Any advice?

Thanks,
Sergey
メンテ
Page: [1]

Re: Polarization calculation ( No.1 )
Date: 2020/10/04 01:23
Name: Naoya Yamaguchi

Hi,

Can you show the given input parameters through the standard input?

Regards,
Naoya Yamaguchi
メンテ
Re: Polarization calculation ( No.2 )
Date: 2020/10/04 11:15
Name: Sergey

Hi Naoya,

You mean input parameters for polB executable? It was just this:

11 7 11
1 0 1
メンテ
Re: Polarization calculation ( No.3 )
Date: 2020/10/04 12:23
Name: Naoya Yamaguchi

Dear Sergey,

Input parameters are normal. From the electronic contribution, I wondered if the calculation od Berry phases was not done. But, I can't find solution only from the standard output you showed. If you can, please share the input for OpenMX or scfout file.

Regards,
Naoya Yamaguchi
メンテ
Re: Polarization calculation ( No.4 )
Date: 2020/10/04 18:24
Name: Sergey

Dear Naoya,

Thanks for your help. I put an archive (input, scfout files) on Google Drive:

https://drive.google.com/file/d/1JYEij2WCNMESC5OOTtaS7mLDk5Z8b3aD/view?usp=sharing

Sergey
メンテ
Re: Polarization calculation ( No.5 )
Date: 2020/10/05 12:49
Name: Naoya Yamaguchi

Dear Sergey,

I tried it from the scfout file with your input for polB, and the calculation seemed to be finished normally.

$ mpiexec -n 64 polB TMCM.scfout < pol.inp

******************************************************************
******************************************************************
polB:
code for calculating the electric polarization of bulk systems
Copyright (C), 2006-2019,
Fumiyuki Ishii, Naoya Yamaguchi 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 (TMCM.scfout)
***
The file format of the SCFOUT file: 3
And it supports the following functions:
- jx
- polB
- kSpin
- Z2FH
- calB
***
Previous eigenvalue solver = Band
atomnum = 84
ChemP = -0.141551193615 (Hartree)
E_Temp = 300.000000000000 (K)
Total_SpinS = 0.000000000002 (K)
Spin treatment = collinear spin-polarized

r-space primitive vector (Bohr)
tv1= 18.317201 0.000209 -0.040939
tv2= 0.000099 29.965707 0.000204
tv3= -1.161491 0.000686 12.377636
k-space primitive vector (Bohr^-1)
rtv1= 0.343093 -0.000001 0.032195
rtv2= -0.000002 0.209679 -0.000012
rtv3= 0.001135 -0.000003 0.507730

Cell_Volume=6792.509631 (Bohr^3)


Specify the number of grids to discretize reciprocal a-, b-, and c-vectors
(e.g 2 4 3)
k1 0.00000 0.09091 0.18182 0.27273 0.36364 0.45455 0.54545 0.63636 0.72727 0.81818 0.90909
k2 0.00000 0.14286 0.28571 0.42857 0.57143 0.71429 0.85714
k3 0.00000 0.09091 0.18182 0.27273 0.36364 0.45455 0.54545 0.63636 0.72727 0.81818 0.90909


Specify the direction of polarization as reciprocal a-, b-, and c-vectors
(e.g 0 0 1 )
calculating the polarization along the a-axis ....


The number of strings for Berry phase : AB mesh=77

calculating the polarization along the a-axis .... 1/ 2
calculating the polarization along the a-axis .... 2/ 2

calculating the polarization along the c-axis ....


The number of strings for Berry phase : AB mesh=77

calculating the polarization along the c-axis .... 1/ 2

calculating the polarization along the c-axis .... 2/ 2

*******************************************************
Electric dipole (Debye) : Berry phase
*******************************************************

Absolute dipole moment 13656.21945973

Background Core Electron Total

Dx -0.00000000 5913.39719351 -29.28751007 5884.10968344
Dy -0.00000000 11424.63009830 0.00052855 11424.63062685
Dz -0.00000000 4604.99017214 15.33429759 4620.32446973



***************************************************************
Electric polarization (muC/cm^2) : Berry phase
***************************************************************

Background Core Electron Total

Px -0.00000000 1959.68575398 -9.70581112 1949.97994286
Py -0.00000000 3786.09521997 0.00017516 3786.09539513
Pz -0.00000000 1526.08278156 5.08174972 1531.16453128



Elapsed time = 854.170981 (s) for myid= 0

The calculation was finished normally in myid= 0.

I used the following CC with gcc 9.3.0, and Intel MPI and MKL.
CC= /opt/intel/impi/2019.7.217/intel64/bin/mpicc -Dkcomp -Ofast -ffast-math -march=znver2 -mfma -fomit-frame-pointer -fopenmp -I${MKLROOT}/include/fftw
Note that "-Dkcomp" doesn't affect building polB.
You may solve it by adjusting compiler options.

Regards,
Naoya Yamaguchi
メンテ
Re: Polarization calculation ( No.6 )
Date: 2020/10/06 18:18
Name: Sergey

Hi Naoya,

It seems I found what is the problem. For some reason on our platform (this is new IBM Power9, where only GNU/PGI compilers and OpenMPI/IBM Spectrum MPI under LSF is available) I don't know how to read from standard input ("<"). So, basically polB ignores "< pol.inp".

Is there a way to read input file for polB in the same way as for OpenMX (like "polB file.scfout -inp pol.inp")?

thanks,
sergey
メンテ
Re: Polarization calculation ( No.7 )
Date: 2020/10/06 21:09
Name: Naoya Yamaguchi

Dear Sergey,

Please try the following.
https://gist.github.com/Ncmexp2717/c2f5da3404089abfdc477d7f82bd97bd

You can run the modified polB as follows.
$ mpiexec -n 64 polB TMCM.scfout 11 7 11 1 0 1

Regards,
Naoya Yamaguchi
メンテ
Re: Polarization calculation ( No.8 )
Date: 2020/10/07 04:12
Name: Sergey

Thanks, Naoya

I have trouble analyzing the results though.

According results of plane-wave calculations (quantum-espresso), polarization should be about (-4,0,3) muC/cm^2.
メンテ
Re: Polarization calculation ( No.9 )
Date: 2020/10/07 14:18
Name: Naoya Yamaguchi

Dear Sergey,

Please calculate the difference of polarization from the reference that has P=(0, 0, 0). As you know it, in solids, the difference is meaningful, so please also calculate the reference structure and take the difference of polarization.

And, from the above result I showed, I also got Px = -4.57331998 muC/cm^2 and Pz = 3.20007758 muC/cm^2 by removing the unimportant part of polarization through adjustment of arbitrary part of Berry phases.

Regards,
Naoya Yamaguchi
メンテ
Re: Polarization calculation ( No.10 )
Date: 2020/10/08 01:18
Name: Sergey

Thanks, Naoya,

Yes, I'm aware that only polarization difference is meaningful.

Can you show, how did you get those numbers? I calculated by hand a quantum of polarization (e*R/volume), but numbers don't match with yours.

Sergey
メンテ
Re: Polarization calculation ( No.11 )
Date: 2020/10/08 13:31
Name: Naoya Yamaguchi

Dear Sergey,

In units of muC/cm^2, the polarization is as follows.
Background Core Electron Total
Px -0.00000000 1959.68575398 -9.70581112 1949.97994286
Py -0.00000000 3786.09521997 0.00017516 3786.09539513
Pz -0.00000000 1526.08278156 5.08174972 1531.16453128

And, I got vectors of quantums of polarization, in units of muC/cm^2, as follows.
R1 R2 R3
eRix/V 15.42911253 0.00008333 -0.97835742
eRiy/V 0.00017640 25.24098885 0.00057825
eRiz/V -0.03448369 0.00017196 10.42604382


And, the values of Px and Pz was slightly different from those in No. 9 after I modified the function in Excel to calculate it. (I used Excel but now the value was changed in using an older version of Excel than I had used for No. 9.)
And, I got Px(modified)=3.25166558 muC/cm^2 and Pz(modified)=-4.54832098 muC/cm^2.

And, I got them with the following relation.
Px(modified)=Px(Total)+N1*eR1x/V+N2*eR2x/V+N3*eR3x/V
Pz(modified)=Pz(Total)+N1*eR1z/V+N2*eR2z/V+N3*eR3z/V
, where N1, N2, and N3 are arbitrary integers.

N2 was found to be 150 from Py(Total)/(eR2y/V)=3786.09539513/25.24098885.
Then, N1 and N3 were found to be -136 and -147, respectively by hand.
As such, I can get Px and Pz as follows.
Px(modified)=1949.97994286+(-136)*15.42911253+150*0.00008333+(-147)*(-0.97835742)=3.25166558 muC/cm^2
Pz(modified)=1531.16453128+(-136)*(-0.03448369)+150*0.00017196+(-147)*10.42604382=-4.54832098 muC/cm^2
I omitted Py because there is an error due to omitting the calculation along the b-axis.

Regards,
Naoya Yamaguchi
メンテ

Page: [1]