Graphite TS binding energy: Difference between revisions

From VASP Wiki
No edit summary
 
(24 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]]).
----
----


== Input ==
== Input ==


== Calculation ==
=== 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 ===
 
{{TAGBL|IVDW}} = 20           
{{TAGBL|LVDW_EWALD}} =.TRUE.
{{TAGBL|NSW}} = 1
{{TAGBL|IBRION}} = 2
{{TAGBL|ISIF}} = 4
{{TAGBL|PREC}} = Accurate
{{TAGBL|EDIFFG}} = 1e-5
{{TAGBL|LWAVE}} = .FALSE.
{{TAGBL|LCHARG}} = .FALSE.
{{TAGBL|ISMEAR}} = -5
{{TAGBL|SIGMA}} = 0.01
{{TAGBL|EDIFF}} = 1e-6
{{TAGBL|ALGO}} = Fast
{{TAGBL|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 <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
#


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


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]]
----
 
[[VASP_example_calculations|To the list of examples]] or to the [[The_VASP_Manual|main page]]
== References ==
<references>
<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>
</references>
{{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