Questaal Home
Navigation

First DFT and QSGW calculations

Silicon

The most vital parameter to converge is the GW k-mesh, but it can become expensive. For a fixed k-mesh, the next most important factor is the LMTO basis; using the blm’s “–gw” tuning, adding empty spheres, increasing lmax and lmaxa can be examined to gauge how reliable the basis is.

simplest configuration

ase convert Si.cif si.poscar --read-args primitive_cell=True subtrans_included=False
poscar2init si.poscar >init.si
blm --nk=8 --gmax=9.4 --simple init.si
echo 'gw nkabc=4 4 4' >> ctrl.si

lmfa ctrl.si >llmfa
mpirun -n 32 lmf ctrl.si > llmf_lda

lmchk --syml ctrl.si >llmchk

mpirun -n 32 lmf --band~fn=syml ctrl.si >llmf_band_lda
mv bnds.si bnds_lda.si


lmgw.sh --mpirun-n='OMP_NUM_THREADS=1 mpirun -n 32' --cmd-gd='mpirun -n 8' --mpirun-1='OMP_NUM_THREADS=32 mpirun -n 1' ctrl.si

mpirun -n 32 lmf --band~fn=syml ctrl.si >llmf_band_qsgw
mv bnds.si bnds_qsgw.si

band-plot -e -8,8 -u eV syml.si bnds_lda.si:c=blue bnds_qsgw.si:w=1.3:c=orange -f -o si_comparison.pdf

adding empty spheres

Using “–gw” causes blm to add various GW controls. “–findes” and “–addes” finds and adds empty spheres.

ase convert Si.cif si.poscar --read-args primitive_cell=True subtrans_included=False
poscar2init si.poscar >init.si
blm --nk=8 --gmax=9.4 --gw~nk=4 --findes --addes --simple init.si

lmfa ctrl.si >llmfa
mpirun -n 32 lmf ctrl.si > llmf_lda

continuing exactly as before.

alternative uses of the init for setting up the crystal

LATTICE
   SPCGRP=227
   A=10.26
SITE
    ATOM=Si X=0 0 0

Iron

It is necessary to add a moment to break the spin symmetry.

(The moment is specified by , i.e. s,p,d,f starting charges.)

ase convert Fe.cif fe.poscar --read-args primitive_cell=True subtrans_included=False
poscar2init fe.poscar >init.fe
blm --nk=20 --gmax=9.9 --simple --gw~nk=6 --mag init.fe

sed -i -e 's/atom=Fe     z= 26  r= 2.345586  lmx=3 lmxa=5/atom=Fe     z= 26  r= 2.345586  lmx=3 lmxa=5 mmom=0 0 2/' ctrl.fe

lmfa ctrl.fe >llmfa
mpirun -n 32 lmf ctrl.fe > llmf_lda

lmchk --syml ctrl.fe >llmchk

mpirun -n 32 lmf ctrl.fe >llmf_lda
mpirun -n 32 lmf --band~fn=syml ctrl.fe >llmf_band_lda
mv bnds.fe bnds_lda.fe
band-plot syml.fe bnds_lda.fe -e -8,8 -u eV -f -o fe_lda.pdf

lmgw.sh --mpirun-n='OMP_NUM_THREADS=1 mpirun -n 32' --mpirun-1='OMP_NUM_THREADS=32 mpirun -n 1' ctrl.fe
mpirun -n 32 lmf --band~fn=syml ctrl.fe >llmf_band_qsgw
mv bnds.fe bnds_qsgw.fe
band-plot syml.fe bnds_qsgw.fe -e -8,8 -u eV -f -o fe_qsgw.pdf

band-plot syml.fe bnds_qsgw.fe:c=orange bnds_lda.fe:c=grey -e -8,8 -u eV -f -o fe_comparison.pdf

mpirun -n 32 lmf --dos ctrl.fe
echo 1001 -1 1 | lmdos ctrl.fe

The dos file can be processed using dosplot.py in the “inputs/lmf” directory:

python dosplot.py dos.fe 0 1

LDA magnetic moment at Fe site:

 mkrout:  Qtrue      sm,loc       local        true mm   smooth mm    local mm     ovlp
   1    7.039956    2.794799    4.245157      2.239939    0.387894    1.852046     2.154687

QSGW moment:

 mkrout:  Qtrue      sm,loc       local        true mm   smooth mm    local mm     ovlp
   1    6.994343    2.819829    4.174514      2.305116    0.383774    1.921342     2.137876

Tutorials for partial DOS, Mulliken analysis, and core-level spectroscopy, can be found on this page.


Nickel oxide

The antiferromagnetic structure requires a supercell. This can be built from the primitive cell using lmscell which interactively prompts for the desired lattice vectors of the target supercell.

lmscell can be caused to write the new structure to a “site.ext” file. The control file can be edited to use the site file, replacing the structure or site blocks. Without the “–simple” option, blm will use “site.ext” by default.

We add the flags for the screened method in the blm and lmgw.sh calls to obtain more rapidly converging results with k-mesh.

generate a the primitive cell and supercell structure with AF configuration

ase convert NiO.cif nio.poscar --read-args primitive_cell=True subtrans_included=False
poscar2init nio.poscar >init.nio

blm --nk=6 --gw~nk=3 --mag --gmax=11.2 --simple --rsham init.nio

lmchk ctrl.nio > llmchk_primitive

echo "2.089 2.089 4.178 2.089 4.178 2.089 4.178 2.089 2.089" | lmscell --wsite~fn=site ctrl.nio

See here for documentation on the supercell maker.

Edit the ctrl file to setup an AF configuration and to use the “site.ext” file for the structural information

# Autogenerated from init.nio using:
# blm --nk=6 --gw~nk=3 --mag --gmax=11.2 --simple --rsham init.nio


#symgrp i*r3(1,1,-1) r4x
#symgrp spglib

ham
    gmax=   11.2
    autobas[pnu=1 loc=1 mto=4 gw=1 pfloat=2,1]
    forces= 0
    nspin=  2
    so=     0
    xcfun="lm_lda_bh"
    sigp[emax=3]

str
    rmaxa=4.73698
    env[mode=1 nel=2 el=-0.5 -1.2]

iter
    nit=    99
    mix= b2,b=0.3,k=7
    conv=   1e-5
    convc=  3e-5

bz
    nkabc= 6

gw
    nkabc= 3
    gcutb=3.51
    gcutx=2.86
    mixbeta=1

struc
        file=site

spec
    atom=Ni     z= 28  r= 2.192965  lmx=3 lmxa=5 idmod=0,0,1 mmom=0 0 2
    atom=NiX    z= 28  r= 2.192965  lmx=3 lmxa=5 idmod=0,0,1 mmom=0 0 -2
    atom=O      z=  8  r= 1.754673  lmx=3 lmxa=5

site
        file=site

Swap one site from “up” to “down” by marking it “NiX” in the site.nio file:

sed -i -e 's/Ni        4.1780000   4.1780000   4.1780000/NiX       4.1780000   4.1780000   4.1780000/' site.nio
lmchk ctrl.nio >llmchk_afm

generate the basis parameters for the new “NiX” species

lmfa --usebasp ctrl.nio

run the QSGW calculation

lmgw.sh --mpirun-n='OMP_NUM_THREADS=1 mpirun -n 32' --cmd-gd='mpirun -n 8' --lm-args='--v8' ctrl.nio

Optionally, you can use the AF symmetry by specifying in the control file “symgrp find afm:e::(1/2,1/2,1/2)”.

There is also room for some empty spheres.


Indium-2 Selenium-3

Alpha-In2Se3 is an insulator that is part of the ferroelectric material class. Similar to how there are ferromagnets which are materials that have a spontaneous magnetic field that arises from the spin structure of a material ferroelectrics have a spontaneous electric field that arises from the atomic structure of a material. It is also a vdW material so it is constructed of 2D five-atom sheets that stack in either an A-B-A or A-B-C pattern to make the bulk structure. This system is the A-B-A structure and bulk measurements provide an indirect band gap of ~1.3 +/- 0.1 eV. It has potential applications in further miniaturisation of transistors.

3-4 iterations gives a reasonable result while 4-5 loops is needed for full convergence. If this is still too long then you can decrease the gw k-points to 2,2,1.