[Pw_forum] PW.x homogeneous electric field berry phase calculation in trigonal cell

Louis Fry-Bouriaux ellf at leeds.ac.uk
Tue Feb 7 18:09:03 CET 2017


Hi there,


    I am trying to perform a berry phase calculation with a homogeneous electric field (lelfield=.true.) however I receive the "wrong k-strings?" in c_phase error while running in parallel with OpenMPI on 4 processors:


>From the documentation, if K_POINTS is automatic, then field strength should be specified in cartesian coordinates (efield_cart(i)) and 'efield' is not used, however reading the berry phase documentation says that the direction of the efield is taken along gdir when a homogeneous electric field is applied.


Must I still specify efield_cart values when gdir is specified (it would seem so)? The code doesn't complain until after bandstructure computation. I have tried efield calculation with the following specification (see below for input file used):


efield_cart(1) = 0.0001,

efield_cart(2) = 0,

efield_cart(3) = 0,


which results in the electric field existing in two directions in crystal reference system, but the error is the same whether I do or do not include these fields and leave efield=0.0001


My process is as follows:

 - scf calculation of trigonal alpha-Al2O3 cell (input crystal is correct)

 - band structure calculation

 - Berry phase calculation *without* electric field (this works and output is correct) with input:


 &CONTROL
                       title = 'alpha-Alumina' ,
                 calculation = 'nscf' ,
                      outdir = '${PWD}' ,
                  pseudo_dir = '${PWD}/pseudo/' ,
                   verbosity = 'high' ,
                      prefix = 'run_${RUN_NUMBER}',
                      lberry = .true.,
                        gdir = 1,
                      nppstr = 10,
                    lelfield = .false.,
                   nberrycyc = 1
 /
 &SYSTEM
                       ibrav = 5,
                           A = 5.136,
                       cosAB = 0.56956647115,
                         nat = 10,
                        ntyp = 2,
                 occupations = 'fixed',
                     ecutwfc = 50,
                     ecutrho = 350,
                        nbnd = 48
 /
 &ELECTRONS
                    conv_thr = 1d-8,
             diagonalization =  'cg',
                 mixing_beta = 0.7,
            electron_maxstep = 200,
                      efield = 0,
                efield_phase = 'write'
 /
ATOMIC_SPECIES
    O   15.99900   O.pbe-van_ak.UPF
   Al   26.98200   Al.pbe-n-van.UPF
ATOMIC_POSITIONS crystal
    O      0.556000000    0.944000000    0.250000000
    O      0.444000000    0.056000000    0.750000000
    O      0.250000000    0.556000000    0.944000000
    O      0.750000000    0.444000000    0.056000000
    O      0.944000000    0.250000000    0.556000000
    O      0.056000000    0.750000000    0.444000000
   Al      0.352000000    0.352000000    0.352000000
   Al      0.648000000    0.648000000    0.648000000
   Al      0.148000000    0.148000000    0.148000000
   Al      0.852000000    0.852000000    0.852000000
K_POINTS automatic
  10 4 4   0 0 0

- Then Berry phase calculation *with* electric field:


 &CONTROL
                       title = 'alpha-Alumina' ,
                 calculation = 'nscf' ,
                      outdir = '${PWD}' ,
                  pseudo_dir = '${PWD}/pseudo/' ,
                   verbosity = 'high' ,
                      prefix = 'run_${RUN_NUMBER}',
                      lberry = .true.,
                        gdir = 1,
                      nppstr = 10,
                    lelfield = .true.,
                   nberrycyc = 1
 /
 &SYSTEM
                       ibrav = 5,
                           A = 5.136,
                       cosAB = 0.56956647115,
                         nat = 10,
                        ntyp = 2,
                 occupations = 'fixed',
                     ecutwfc = 50,
                     ecutrho = 350,
                        nbnd = 48,
                       nosym = .false.
 /
 &ELECTRONS
                    conv_thr = 1d-8,
             diagonalization =  'cg',
                 mixing_beta = 0.7,
            electron_maxstep = 200,
                      efield = 0.0001,
                efield_phase = 'read'
 /
ATOMIC_SPECIES
    O   15.99900   O.pbe-van_ak.UPF
   Al   26.98200   Al.pbe-n-van.UPF
ATOMIC_POSITIONS crystal
    O      0.556000000    0.944000000    0.250000000
    O      0.444000000    0.056000000    0.750000000
    O      0.250000000    0.556000000    0.944000000
    O      0.750000000    0.444000000    0.056000000
    O      0.944000000    0.250000000    0.556000000
    O      0.056000000    0.750000000    0.444000000
   Al      0.352000000    0.352000000    0.352000000
   Al      0.648000000    0.648000000    0.648000000
   Al      0.148000000    0.148000000    0.148000000
   Al      0.852000000    0.852000000    0.852000000
K_POINTS automatic
  10 4 4   0 0 0

My last thought is that when the electric field is specified in cartesian coordinates as above, the fact that the field in the crystal reference system is along two directions causes the problem, I have struggled to get the field to exist along one direction in the crystal reference system (does anyone know a reference I could use to do this properly?). Maybe the sensible thing to do is not use automatic K_POINTS?

Kindest regards,
Louis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20170207/3000c671/attachment.html>


More information about the users mailing list