Octopus
vdw_ts_oct_m Module Reference

Data Types

type  vdw_ts_t
 

Functions/Subroutines

subroutine, public vdw_ts_init (this, namespace, ions)
 
subroutine, public vdw_ts_end (this)
 
subroutine, public vdw_ts_calculate (this, namespace, space, latt, atom, natoms, pos, mesh, nspin, density, energy, potential, force)
 Calculate the potential for the Tatchenko-Scheffler vdW correction as described in Phys. Rev. Lett. 102 073005 (2009). More...
 
subroutine, public vdw_ts_force_calculate (this, force_vdw, ions, mesh, nspin, density)
 
subroutine, public vdw_ts_write_c6ab (this, ions, dir, fname, namespace)
 
subroutine get_vdw_param (namespace, atom, c6, alpha, r0)
 

Function/Subroutine Documentation

◆ vdw_ts_init()

subroutine, public vdw_ts_oct_m::vdw_ts_init ( type(vdw_ts_t), intent(out)  this,
type(namespace_t), intent(in)  namespace,
type(ions_t), intent(in)  ions 
)

Definition at line 169 of file vdw_ts.F90.

◆ vdw_ts_end()

subroutine, public vdw_ts_oct_m::vdw_ts_end ( type(vdw_ts_t), intent(inout)  this)

Definition at line 245 of file vdw_ts.F90.

◆ vdw_ts_calculate()

subroutine, public vdw_ts_oct_m::vdw_ts_calculate ( type(vdw_ts_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(lattice_vectors_t), intent(in)  latt,
type(atom_t), dimension(:), intent(in)  atom,
integer, intent(in)  natoms,
real(real64), dimension(1:space%dim,1:natoms), intent(in)  pos,
class(mesh_t), intent(in)  mesh,
integer, intent(in)  nspin,
real(real64), dimension(:, :), intent(in)  density,
real(real64), intent(out)  energy,
real(real64), dimension(:), intent(out)  potential,
real(real64), dimension(:, :), intent(out)  force 
)

Calculate the potential for the Tatchenko-Scheffler vdW correction as described in Phys. Rev. Lett. 102 073005 (2009).

Parameters
[in]spaceSystem dimensions and boundary conditions
[in]lattCrystal lattice
[in]atomAtoms
[in]natomsNumber of atoms == size(atoms)
[in]posAtomic positions

Definition at line 263 of file vdw_ts.F90.

◆ vdw_ts_force_calculate()

subroutine, public vdw_ts_oct_m::vdw_ts_force_calculate ( type(vdw_ts_t), intent(in)  this,
real(real64), dimension(1:ions%space%dim, 1:ions%natoms), intent(inout)  force_vdw,
type(ions_t), intent(in)  ions,
class(mesh_t), intent(in)  mesh,
integer, intent(in)  nspin,
real(real64), dimension(:, :), intent(in)  density 
)

Definition at line 423 of file vdw_ts.F90.

◆ vdw_ts_write_c6ab()

subroutine, public vdw_ts_oct_m::vdw_ts_write_c6ab ( type(vdw_ts_t), intent(inout)  this,
type(ions_t), intent(in)  ions,
character(len=*), intent(in)  dir,
character(len=*), intent(in)  fname,
type(namespace_t), intent(in)  namespace 
)

Definition at line 544 of file vdw_ts.F90.

◆ get_vdw_param()

subroutine vdw_ts_oct_m::get_vdw_param ( type(namespace_t), intent(in)  namespace,
character(len=*), intent(in)  atom,
real(real64), intent(out)  c6,
real(real64), intent(out)  alpha,
real(real64), intent(out)  r0 
)
private

Definition at line 576 of file vdw_ts.F90.