Page 1 of 1

ETOT

Posted: Sun Nov 07, 2010 1:34 pm
by hamideh
Dear abinit users
I'm trying to plot a Graphene band structure & my job run successfully but when I chang the bondlength for example when I use 1.44 angstrom instead of 1.42 my ETOT is smaller & the min of ETOT is for 1.47 or 1.48 but it should be for 1.42 .
I mean .......
for lattice constant 2.50 =====> ETOT =-3.21655672860750E+02
for lattice constant 2.46(bondlength 1.42 ) =====> ETOT = -3.21558198700538E+02
I don't know what's wrong with my input file ?
#Graphen
ndtset 2
kptopt1 1
nshiftk1 1
shiftk1 0.0 0.0 0.5
ngkpt1 10 10 10
#ngkpt1 1 1 1
prtden1 1
toldfe1 1.0d-6
iscf2 -2
getden2 -1
kptopt2 -3
nband2 10
ndivk2 20 20 20
kptbounds2 1/2 0 0 # M point
0 0 0 # gamma point
1/3 1/3 0 # k point
1/2 0 0 # M point
tolwfr2 1.0d-12
enunit2 1
acell 2.48 2.46 10 Angstrom
#rprim 1.0 0.0 0.0
# -0.5 0.866025 0.0
# 0.0 0.0 1.0
angdeg 90 90 120
chkprim 0
ntypat 1
znucl 6
natom 2
typat 1 1
xred 1.3333333333333335 1.6666666666666665 0.5000000000000000
-1.3333333333333335 -1.6666666666666663 0.5000000000000000
ecut 10
nstep 20
diemac 12.0
##########
thanks in advance .

Re: ETOT

Posted: Thu Nov 11, 2010 8:00 pm
by jolafc
Here are a few remarks about you input files (I commented some lines and corrected them, with an explanation about the correction) :

Code: Select all

#Graphen 
ndtset 2
kptopt1 1
nshiftk1 1
shiftk1 0.0 0.0 0.5
#ngkpt1 10 10 10
ngkpt1 10 10 1
#you don't need any k-point in the 3rd direction of your crystal structure since it is in fact isolated in that direction. Also, you should perform a convergence study on the first two values (see if 15 15 1 give similar results, aka optimal bond length, as a 10 10 1 grid).

prtden1 1
toldfe1 1.0d-10
iscf2 -2
getden2 -1
kptopt2 -3
nband2 10
ndivk2 20 20 20
kptbounds2 1/2 0 0 # M point
0 0 0 # gamma point
1/3 1/3 0 # k point
1/2 0 0 # M point
tolwfr2 1.0d-12
enunit2 1
#acell 2.48 2.46 10 Angstrom
acell 2.48 2.48 10 Angstrom
# For Abinit to find the right symmetry, the first 2 primitive vectors must be the same length, up to 1d-8.

angdeg 90 90 120
#chkprim 0
# (Why were you using this?)

ntypat 1
znucl 6
natom 2
typat 1 1
#xred 1.3333333333333335 1.6666666666666665 0.5000000000000000
#-1.3333333333333335 -1.6666666666666663 0.5000000000000000
xred 1/3 2/3 0
     2/3 1/3 0
# Best to write your atomic position this way, so your relative coordinates are exact up to machine precision.

#ecut 10
ecut 30
# For a norm-conserving pseudopotential of carbon, a cutoff of 30 Ha is usually required to have accurate results. You should always perform a convergence study on this value.

#nstep 20
nstep 100
# I thought nstep 20 might not be enough to reach convergence of toldfe 1d-10, running the calculation proved that 10 iterations are in fact enough. Still, you should always keep nstep high, to ensure that it doesn't stop the calculation before convergence is reached.

diemac 12.0
##########


I checked that this give the right bond length with this input (basically, your first dataset added with 6 options at the end) and obtained 1.415 angström (with ecut 10, I got 1.49 angström, so looks like this was your problem) :

Code: Select all

kptopt 1
nshiftk 1
shiftk 0.0 0.0 0.5
ngkpt 10 10 1
toldfe 1.0d-10
acell 2.48 2.48 10 Angstrom
angdeg 90 90 120
ntypat 1
znucl 6
natom 2
typat 1 1
xred 1/3 2/3 0
     2/3 1/3 0
ecut 30
nstep 100
diemac 12.0

optcell 9
ecutsm 0.5
dilatmx 1.1
ionmov 3
tolmxf 1d-5
ntime 20


Bottom line : always do a convergence study. Otherwise, your results may reflect more the numerical errors than the physics of the problem.