Graphite TS binding energy: Difference between revisions

From VASP Wiki
No edit summary
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Template:Bulk_systems}}
{{Template:Bulk_systems - Tutorial}}


== Task ==
== Task ==


Determine the interlayer binding energy of graphite in its experimental structure using the method  
In this example you will determine the interlayer binding energy of graphite in its experimental structure using the method  
of Tchatchenko and Scheffler to account for van der Waals interactions.
of Tchatchenko and Scheffler to account for van der Waals interactions.
Semilocal DFT at the GGA level underestimates long-range dispersion interactions.
In the case of graphite, PBE predicts the interlayer binding energy of ~1 meV/atom which is too small compared to the RPA reference of 0.048 eV/atom <ref name="lebegue"/>.
In this example, the interlayer binding energy of graphite in its experimental structure is determined using the {{TAG|Tkatchenko-Scheffler method}},
which performs well in description of the structure of graphite (see e.g. example [[graphite interlayer distance]]).
----
----


Line 36: Line 43:
=== INCAR ===
=== INCAR ===


  IVDW=20             
  {{TAGBL|IVDW}} = 20             
  LVDW_EWALD =.TRUE.  
  {{TAGBL|LVDW_EWALD}} =.TRUE.  
  NSW=1  
  {{TAGBL|NSW}} = 1  
  IBRION=2
  {{TAGBL|IBRION}} = 2
  ISIF=4
  {{TAGBL|ISIF}} = 4
  PREC=Accurate
  {{TAGBL|PREC}} = Accurate
  EDIFFG=1e-5
  {{TAGBL|EDIFFG}} = 1e-5
  LWAVE=.FALSE.
  {{TAGBL|LWAVE}} = .FALSE.
  LCHARG=.FALSE.
  {{TAGBL|LCHARG}} = .FALSE.
  ISMEAR=-5
  {{TAGBL|ISMEAR}} = -5
  SIGMA =   0.01
  {{TAGBL|SIGMA}} = 0.01
  EDIFF=1e-6
  {{TAGBL|EDIFF}} = 1e-6
  ALGO=Fast
  {{TAGBL|ALGO}} = Fast
  NPAR=2
  {{TAGBL|NPAR}} = 2




Line 70: Line 77:
There is no interaction of layers in z-direction for graphene so we need only 1 k point in this direction.
There is no interaction of layers in z-direction for graphene so we need only 1 k point in this direction.


== Calculation ==
== Running this example ==
 
To run this example, execute the <code>run.sh</code> bash-script:
<pre>
#
# To run VASP this script calls $vasp_std
# (or posibly $vasp_gam and/or $vasp_ncl).
# These variables can be defined by sourcing vaspcmd
. vaspcmd 2> /dev/null
 
#
# When vaspcmd is not available and $vasp_std,
# $vasp_gam, and/or $vasp_ncl are not set as environment
# variables, you can specify them here
[ -z "`echo $vasp_std`" ] && vasp_std="mpirun -np 8 /path-to-your-vasp/vasp_std"
[ -z "`echo $vasp_gam`" ] && vasp_gam="mpirun -np 8 /path-to-your-vasp/vasp_gam"
[ -z "`echo $vasp_ncl`" ] && vasp_ncl="mpirun -np 8 /path-to-your-vasp/vasp_ncl"
 
#
# The real work starts here
#
 
rm results.dat
 
drct=$(pwd)
 
for i in graphene graphite
do
  cd $drct/$i
  $vasp_std
done
 
cd $drct
 
# obtain total energy for graphite
en2=$(grep "free  ene" graphite/OUTCAR |tail -1|awk '{print $5}')


Semilocal DFT at the GGA level underestimates
# obtain total energy for graphene
long-range dispersion interactions.
en1=$(grep "free ene" graphene/OUTCAR |tail -1|awk '{print $5}')
In the case of graphite, PBE predicts the
interlayer binding energy of ~1 meV/atom
which is too small compared to the RPA
reference of 0.048 eV/atom
(Lebgue et al., PRL 105, 195401 (2010)).
   
In this example, the interlayer binding energy
of graphite in its experimental structure is
determined using the {{TAG|Tkatchenko-Scheffler method}},
which performs well in description of the
structure of graphite (see e.g. example
graphiteDistance_ts).


The calculation is performed in two steps (sigle-point
# compute interlayer binding energy (eV/atom)
calculations) in which the energy for bulk graphite
deltaE=$(echo print $en2/4 - $en1/2 |python)
and for graphene are obtained. The binding energy
is computed automatically and it is written in the
file results.dat.


Even though the TS method predicts a reasonable geometry
echo "Binding energy (eV/atom): " $deltaE >results.dat
it overestimates the energetics strongly:
</pre>
the computed binding energy of -0.083 eV/atom is too
large compared to the RPA reference of 0.048 eV/atom
This overestimation is - at least in part - due to
neglecting the many-body interactions (see example
graphiteBinding_mbd).


Details of implementation of TS in VASP + a number
Note that the calculation is performed in two steps (two separate single-point calculations) in which the energy for bulk graphite and for graphene are obtained.
of tests:
The binding energy is computed automatically and it is written in the file <code>results.dat</code>.
Bucko et al., PRB 87, 064110 (2013).
(N.B.: for the latter ''python'' needs to be available.)


== Used INCAR Tags ==
Even though the TS method predicts a reasonable geometry (see the [[Graphite interlayer distance]] example) it overestimates the energetics strongly:
{{TAG|ALGO}}, {{TAG|EDIFF}}, {{TAG|EDIFFG}}, {{TAG|IBRION}}, {{TAG|ISIF}}, {{TAG|ISMEAR}}, {{TAG|IVDW}}, {{TAG|LCHARG}}, {{TAG|LVDW_EWALD}}, {{TAG|LWAVE}}, {{TAG|NPAR}}, {{TAG|NSW}}, {{TAG|PREC}}, {{TAG|SIGMA}}
the computed binding energy of -0.083 eV/atom is too large compared to the RPA reference of 0.048 eV/atom.
This overestimation is - at least in part - due to neglecting the many-body interactions (see example [[Graphite MBD binding energy]]).


== Download ==
== Download ==
[http://www.vasp.at/vasp-workshop/examples/graphiteBinding_ts.tgz graphiteBinding_ts.tgz]
[[Media:GraphiteBinding ts.tgz| graphiteBinding_ts.tgz]]


== References ==
== References ==
<references>
<references>
<ref name="Tkatchenko09">[http://onlinelibrary.wiley.com/doi/10.1002/jcc.20495/abstract A. Tkatchenko and M. Scheffler, Phys. Rev. Lett. 102, 073005 (2009).]</ref>
<ref name="lebegue">[https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.105.196401 S. Lebègue, J. Harl, Tim Gould, J. G. Ángyán, G. Kresse, and J. F. Dobson, Phys. Rev. Lett. 105, 196401 (2010).]</ref>
<ref name="bucko">[http://journals.aps.org/prb/abstract/10.1103/PhysRevB.87.064110 T. Bučko, S. Lebègue, J. Hafner, and J. G. Ángyán, Phys. Rev. B 87, 064110 (2013).]</ref>
<ref name="kerber">[http://onlinelibrary.wiley.com/doi/10.1002/jcc.21069/abstract Kerber and J. Sauer, J. Comp. Chem. 29, 2088 (2008).]</ref>
</references>
</references>
----
[[VASP_example_calculations|To the list of examples]] or to the [[The_VASP_Manual|main page]]
{{Template:Bulk_systems}}


[[Category:Examples]]
[[Category:Examples]]

Latest revision as of 13:25, 14 November 2019

Task

In this example you will determine the interlayer binding energy of graphite in its experimental structure using the method of Tchatchenko and Scheffler to account for van der Waals interactions.

Semilocal DFT at the GGA level underestimates long-range dispersion interactions. In the case of graphite, PBE predicts the interlayer binding energy of ~1 meV/atom which is too small compared to the RPA reference of 0.048 eV/atom [1].

In this example, the interlayer binding energy of graphite in its experimental structure is determined using the Tkatchenko-Scheffler method, which performs well in description of the structure of graphite (see e.g. example graphite interlayer distance).


Input

POSCAR

  • Graphite:
graphite
1.0
1.22800000 -2.12695839  0.00000000
1.22800000  2.12695839  0.00000000
0.00000000  0.00000000  6.71
4
direct
   0.00000000  0.00000000  0.25000000
   0.00000000  0.00000000  0.75000000
   0.33333333  0.66666667  0.25000000
   0.66666667  0.33333333  0.75000000

  • Graphene:
graphite
1.0
1.22800000 -2.12695839  0.00000000
1.22800000  2.12695839  0.00000000
0.00000000  0.00000000  20.
2
direct
   0.00000000  0.00000000  0.25000000
   0.33333333  0.66666667  0.25000000

INCAR

IVDW = 20            
LVDW_EWALD =.TRUE. 
NSW = 1 
IBRION = 2
ISIF = 4
PREC = Accurate
EDIFFG = 1e-5
LWAVE = .FALSE.
LCHARG = .FALSE.
ISMEAR = -5
SIGMA = 0.01
EDIFF = 1e-6
ALGO = Fast
NPAR = 2


KPOINTS

  • Graphite:
Monkhorst Pack
0
gamma
16 16 8
0 0 0
  • Graphene:
Monkhorst Pack
0
gamma
16 16 1
0 0 0

There is no interaction of layers in z-direction for graphene so we need only 1 k point in this direction.

Running this example

To run this example, execute the run.sh bash-script:

#
# To run VASP this script calls $vasp_std
# (or posibly $vasp_gam and/or $vasp_ncl).
# These variables can be defined by sourcing vaspcmd
. vaspcmd 2> /dev/null

#
# When vaspcmd is not available and $vasp_std,
# $vasp_gam, and/or $vasp_ncl are not set as environment
# variables, you can specify them here
[ -z "`echo $vasp_std`" ] && vasp_std="mpirun -np 8 /path-to-your-vasp/vasp_std"
[ -z "`echo $vasp_gam`" ] && vasp_gam="mpirun -np 8 /path-to-your-vasp/vasp_gam"
[ -z "`echo $vasp_ncl`" ] && vasp_ncl="mpirun -np 8 /path-to-your-vasp/vasp_ncl"

#
# The real work starts here
#

rm results.dat

drct=$(pwd)

for i in graphene graphite
do
  cd $drct/$i
  $vasp_std
done

cd $drct

# obtain total energy for graphite 
en2=$(grep "free  ene" graphite/OUTCAR |tail -1|awk '{print $5}') 

# obtain total energy for graphene
en1=$(grep "free  ene" graphene/OUTCAR |tail -1|awk '{print $5}')

# compute interlayer binding energy (eV/atom)
deltaE=$(echo print $en2/4 - $en1/2 |python)

echo "Binding energy (eV/atom): " $deltaE >results.dat

Note that the calculation is performed in two steps (two separate single-point calculations) in which the energy for bulk graphite and for graphene are obtained. The binding energy is computed automatically and it is written in the file results.dat. (N.B.: for the latter python needs to be available.)

Even though the TS method predicts a reasonable geometry (see the Graphite interlayer distance example) it overestimates the energetics strongly: the computed binding energy of -0.083 eV/atom is too large compared to the RPA reference of 0.048 eV/atom. This overestimation is - at least in part - due to neglecting the many-body interactions (see example Graphite MBD binding energy).

Download

graphiteBinding_ts.tgz

References