Question About Superlattice Simulation AlGaN

Hi

I am very new to DFT calculation and also the abinit package. I hope I can get some help or any constructive suggestions for my code and debugging progress. Thanks

I am trying to perform a geometric optimization of Al0.25Ga0.75N for which I have created superlattice which double the size of a regular AlN cell. In the log file during the SCF cycle the dilatmx keep increasing which make me think if my initial unit cell is wrong. But I think everything for my input structure make sense. I am using the correct hexagonal rprim and I have doubled the caxis length. In the unit cell there are 8 atoms which is the double the 4 atoms in a regular AlN unit cell. The input file is the following:

Definition of the unit cell

acell 6.1775376504E+00 6.1775376302E+00 19E+00 Bohr

Definition of the primitive vectors

rprim 1.0 0.0 0.0
-0.5 0.8660254 0.0
0.0 0.0 1.0
#angdeg 90 90 120

Definition of the atom types and pseudopotentials

ntypat 3 # three types of atoms
znucl 13 21 7 # the atom types are Aluminum, Scandium, and Nitrogen

Pseudopotentials for Al, Ga, and N

pp_dirpath “/home/hang/snap/snapd-desktop-integration/178/Downloads/abinit-10.0.5/Run_files/pbe_s_sr/”
pseudos “Al.psp8, Ga.psp8, N.psp8”

Definition of the atoms

natom 8 # four atoms in the cell
typat 3 3 3 3 1 1 1 2 # type 3 is Nitrogen, type 1 is Aluminum, type 2 is Gallium

xred 0.6666666667 0.3333333333 0.12505 # N1
0.3333333333 0.6666666667 0.3756 # N2
0.6666666667 0.3333333333 0.62505 # N3
0.3333333333 0.6666666667 0.8756 # N4
0.6666666667 0.3333333333 0.0 # Al1
0.6666666667 0.3333333333 0.5 # Al2
0.3333333333 0.6666666667 0.25 # Ga
0.3333333333 0.6666666667 0.75 # Al3

Structure Optimization

#-----------------------
chksymbreak 0
chksymtnons 0
chkprim 0
#nsym 1 # Disable symmetry operations

#ngfft 64 64 128
nstep 50
#chkdilatmx=1
dilatmx 1.05
optcell 2
ionmov 22

ntime 100
tolvrs 1e-8

Numerical parameters of the calculation: planewave basis set and k-point grid

ecut 50 # Increased ecut value for better accuracy
ecutsm 0.5
#dilatmx 1.05
ngkpt 6 6 6
nshiftk = 1
shiftk 0.0 0.0 0.5

Suppress printing of density, wavefunctions, etc for this tutorial

prtwf 0
prtden 0
prteig 0

Hi hcui47,

When you deal with more delicate systems to relax, my recommendation is to do it in two stages:

  1. relax the internal coordinates (keeping the lattice fixed)
  2. restart the full relaxation from step 1.

If you have any specific difficulties/errors that you encounter, let us know.
Bogdan

Thank you for your recommendation! It is really hepful for achieving convergence!

Thanks,
Hang

Hi

My simulation runs smoothly with your suggestion for NC GGA-PBE pseudopotentials. Thank you! But when I try to run the exact geometric optimization for PAW pseudopoentials I got the following error:

— !ERROR
src_file: m_paw_sphharm.F90
src_line: 3364
mpi_rank: 0
message: |
** Error during determination of symetries!**
** Action: check your input file:**
** unit cell vectors and/or atoms positions**
** have to be given with a better precision.**

** abinit_abort: decision taken to exit. Check above messages for more info**

Here is my .abi file:

#AlGaN 25% molefraction

Definition of the unit cell

acell 6.1775376504E+00 6.1775376302E+00 19E+00 Bohr

Definition of the primitive vectors

rprim 1.0000000000 0.0000000000 0.0000000000
-0.5000000000 0.8660254000 0.0000000000
0.0000000000 0.0000000000 1.0000000000

angdeg 90 90 120

Definition of the atom types and pseudopotentials

ntypat 3 # three types of atoms
znucl 13 31 7 # the atom types are Aluminum, Gallium, and Nitrogen

Pseudopotentials for Al, Sc, and N

pp_dirpath “/home/hang/abinit-10.0.9/Run_files/JTH-PBE-atomicdata-1.1/ATOMICDATA/”
pseudos “Al.GGA_PBE-JTH.xml, Ga.GGA_PBE-JTH.xml, N.GGA_PBE-JTH.xml”

Definition of the atoms

natom 8 # four atoms in the cell
typat 3 3 3 3 1 1 1 2 # type 3 is Nitrogen, type 1 is Aluminum, type 2 is Gallium

xred 6.6666666663E-01 3.3333333337E-01 1.5597865275E-01
3.3333333330E-01 6.6666666670E-01 4.1111337280E-01
6.6666666663E-01 3.3333333337E-01 6.6685686525E-01
3.3333333330E-01 6.6666666670E-01 8.9963776792E-01
6.6666666663E-01 3.3333333337E-01 -3.7607494449E-02
6.6666666663E-01 3.3333333337E-01 4.7303517184E-01
3.3333333330E-01 6.6666666670E-01 2.1756728294E-01
3.3333333330E-01 6.6666666670E-01 7.1471838095E-01

Structure Optimization

chkdilatmx=0
dilatmx 1.2
optcell 0
ionmov 3
nstep = 100
ntime 100
#tolvrs 1e-12
toldff 1.0d-6

Numerical parameters of the calculation: planewave basis set and k-point grid

ecut 30
pawecutdg 60
ecutsm 0.5
ngkpt 6 6 6
nshiftk = 1
shiftk 0.0 0.0 0.5

Suppress printing of density, wavefunctions, etc

prtwf 0
prtden 0
prteig 0

Any help or suggestion would be greatly appreciated!

Thanks in advance
Hang

Hi Hang,

I think the key to solve this is in the error message:

Internally abinit has a default symmetry tolerance tolsym 1E-5 and the atomic position deviation from said symmetries of 1E-8. If you want to benefit of the speed-up provided by symmetry, you need to make sure that lattice vectors and coordinates comply with the threshold that abinit has by default (or which you could potentatially set).

From the look of it, your in-plane cell parameters are similar within 1E-7, and secondly the rprim are not necessary to be used when the angdeg are used. I recommend using either one or the other. In the case of rprim for hexagonal lattices, I would rely on abinit’s recognition of expressions of this kind sqrt(3)/2 instead of putting the decimals by hand.

Let me know if this solves your issues!
Bogdan