[QE-users] R: Translated orbitals in periodic calculation

Pietro Davide Delugas pdelugas at sissa.it
Tue Aug 2 09:55:38 CEST 2022


Dear Philip

Final orbitals corresponding  to degenerate set of levels may always be different sets of wavefunctions spanning the same manifold.
This may happen for a lot of reasons (e.g. a different number of MPI ranks, using a different diagonalization algorithm).

In your case the reason may be that you are running using a different set of symmetries in the 2 cases.

In supercell calculations, all symmetries that include a fractional translation are disabled.
This makes the program exclude more symmetries in the second setup ( the 3 symmetry equivalent k points in the second run are points that are symmetry equivalent only using operations that have been excluded).

To avoid symmetrisation, and possibly (not warranted though) end up with the same orbitals you may use the &system flags:

nosym = .true.

or the safer

nosym_evc = .true.

I hope it works, but it's not guaranteed that you will obtain the same set of orbitals even without symmetries.
best regards
Pietro
________________________________
Da: users <users-bounces at lists.quantum-espresso.org> per conto di Phillip Thomas <PThomas at lbl.gov>
Inviato: martedì 2 agosto 2022 03:03
A: users at lists.quantum-espresso.org <users at lists.quantum-espresso.org>
Oggetto: [QE-users] Translated orbitals in periodic calculation

Dear QE team,

I have an issue regarding orbitals generated from QE 7.0 runs on two different translated variants of a Silicon lattice. I am using a primitive cubic cell containing 8 atoms instead of the simplest 2-atom unit cell (as I need to pass the output orbitals to another program which only accepts a tetragonal cell geometry).

Here is the input file for 'pw.x' for the first variant:
--------------------------------
&control
   prefix = 'silicon'
   calculation = 'scf'
   tstress = .true.
   etot_conv_thr = 1d-5
   forc_conv_thr = 1d-4
/
&system
   ibrav = 1
   celldm(1) = 10.173697855629921
   nat = 8
   ntyp = 1
   nbnd = 32
   ecutwfc = 80.0
/
&electrons
   electron_maxstep = 100
   conv_thr = 1.0d-8
   mixing_mode = 'plain'
   mixing_beta = 0.7
   mixing_ndim = 8
   diagonalization = 'david'
   diago_david_ndim = 4
   diago_full_acc = .true.
/
&ions
/
ATOMIC_SPECIES
  Si  28.086  Si.pw-mt_fhi.UPF
ATOMIC_POSITIONS alat
  Si  0.00  0.00  0.00
  Si  0.00  0.50  0.50
  Si  0.50  0.00  0.50
  Si  0.50  0.50  0.00
  Si  0.25  0.25  0.25
  Si  0.75  0.75  0.25
  Si  0.25  0.75  0.75
  Si  0.75  0.25  0.75
K_POINTS automatic
4 4 4 0 0 0
--------------------------------
The second variant has the same input file except that the coordinates of the atoms are shifted to:

  Si  0.125  0.125  0.125
  Si  0.125  0.625  0.625
  Si  0.625  0.125  0.625
  Si  0.625  0.625  0.125
  Si  0.375  0.375  0.375
  Si  0.875  0.875  0.375
  Si  0.375  0.875  0.875
  Si  0.875  0.375  0.875

Both calculations give the same total energy, -63.52598191 Ry, as I would expect, and the same band structure (except that three additional symmetry equivalent bands are printed out in the latter case); the bands for matching KPOINTS are also the same in both runs, all as expected. Here are the bands for the 0 0 0 KPOINT for reference:
--------------------------------
     End of self-consistent calculation

          k = 0.0000 0.0000 0.0000 ( 12797 PWs)   bands (ev):

    -5.8606  -1.6207  -1.6207  -1.6207  -1.6207  -1.6207  -1.6207   3.3705
     3.3706   3.3706   3.3706   3.3706   3.3706   6.2827   6.2827   6.2827
     6.8712   6.8712   6.8712   6.8712   6.8712   6.8712   8.8517   8.8517
     8.8517   9.6765  14.0241  14.0783  14.0783  16.4618  16.4618  16.4618
--------------------------------
Now I would like to generate the orbitals for the 0 0 0 KPOINT in cube file format, so here is my input to ''pp.x':
--------------------------------
 &inputpp
 prefix='silicon'
 plot_num=7
 kband(1)=1
 kband(2)=          32
 kpoint=1
 lsign=.true.
 /
 &plot
 iflag=3
 output_format=6
 /
--------------------------------

When I visually inspect the orbitals, I find that many of the orbitals are qualitatively different for the two translated variants of the lattice; they are not simply translated variants of the same orbital as I would expect. I have attached plots of the highest occupied orbital (#16) as examples.

So I am curious, is there a mistake in my inputs or procedure that would cause differences like these? If not, then is there a way in QE that I can generate the orbitals such that they are translationally invariant? Many thanks for looking into this!

Kind regards,

Phillip Thomas, Ph.D.
National Energy Research Scientific Computing Center
Lawrence Berkeley National Laboratory
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20220802/779a6f4a/attachment.html>


More information about the users mailing list