Here is the input script I use:
Code: Select all
# Polarization of BaTiO3
# (Sheng, 22.8.2014)
#
#Definition of the cell
#************************************
acell 3*3.973 angstrom
xred 0.000000 0.000000 0.000000
0.500000 0.500000 0.500000
0.000000 0.500000 0.500000
0.500000 0.000000 0.500000
0.500000 0.500000 0.000000
#Parallelization
#****************
# paral_kgb 1 autoparal 1 max_ncpus 4 # used to determine distribution of processors
paral_kgb 1 npkpt 2 npband 1 npfft 2
fftalg 401
#Definition of the elementary cell
#*********************************
rprim 1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
#Definition of the atoms
#***********************
nband 32
natom 5
ntypat 3
znucl 56 22 8
typat 1 2 3 3 3
ixc 11
#Definition of the SCF procedure
#*******************************
nstep 100
#Definition of the plane wave basis set
#**************************************
ecut 520 eV
ecutsm 0.5
dilatmx 1.05
ngkpt 6 6 6
nshiftk 1
shiftk 0.5 0.5 0.5
toldfe 1.0d-12
# Berry phase calculation of the polarization
#********************************************
berryopt -1
rfdir 1 1 1
# add to conserve old < 6.7.2 behavior for calculating forces at each SCF step
optforces 1
However I face two problem:
1) First I run the calculation without the berry phase option. The energy calculated deviates much from the value in literature. The energy calculated is:
Code: Select all
Components of total free energy (in Hartree) :
Kinetic energy = 6.02272589212694E+01
Hartree energy = 2.89111298038971E+01
XC energy = -2.15927391549465E+01
Ewald energy = -1.04434813903129E+02
PspCore energy = 1.48708279824733E+01
Loc. psp. energy= -5.94007083254980E+01
NL psp energy= -4.98856278271985E+01
>>>>>>>>> Etotal= -1.31304672503132E+02
Other information on the energy :
Total energy(eV)= -3.57298184609432E+03 ; Band energy (Ha)= -1.9302046612E+01
whereas the total energy given in literature is only -39.985 eV.
2) The calculation cannot even start with the Berry phase option on. Here is the error in the log file:
Code: Select all
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x2B1537EE4457
#1 0x2B1537EE4A6E
#2 0x3120E302CF
#0 0x2B872D9D3457
#1 0x2B872D9D3A6E
#2 0x3120E302CF
#3 0xDDC39F in __m_kpgsph_MOD_kpgsph
#4 0xCE9B65 in kpgio_
#5 0x4DFC17 in inwffil_
#6 0x48A21D in gstate_
#3 0xDDC39F in __m_kpgsph_MOD_kpgsph#7 0x42AB1E in gstateimg_
#8 0x41C297 in driver_
#4 #9 0x414569 in MAIN__ at abinit.F90:0
0xCE9B65 in kpgio_
#5 0x4DFC17 in inwffil_
#6 0x48A21D in gstate_
#7 0x42AB1E in gstateimg_
#8 0x41C297 in driver_
#9 0x414569 in MAIN__ at abinit.F90:0
Approach that I tried but not working:
i) using iprcel 45
ii) usng LDA instead of GGA, giving a total energy of:
Code: Select all
Total energy(eV)= -1.93747752933407E+03
which is totally different than found by GGA but it is still wrong
iii) using 2 datasets with a self-consistent calculation and another non self-consistent calculation for Berry phase.
iv) changing diemac
v) changing ecut
Is there anything wrong with my input script?