Ferroelectric material calculation

Total energy, geometry optimization, DFT+U, spin....

Moderator: bguster

Locked
sheng
Posts: 64
Joined: Fri Apr 11, 2014 3:44 pm

Ferroelectric material calculation

Post by sheng » Sat Aug 23, 2014 11:07 am

Hi I am using Abinit 7.6.3 to calculate the energy and polarization of barium titanate using Berry phase formalism. I choose GGA approximation with the PBE GGA pseodopotential generated by Opium.
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?

Locked