![]() |
Octopus
|
Tkatchenko-Scheffler pairwise method for van der Waals (vdW, dispersion) interactions. More...
Tkatchenko-Scheffler pairwise method for van der Waals (vdW, dispersion) interactions.
This is based on a scaling approach that yields in situ atomic polarizabilities, dispersion coefficients, and vdW radii that reflect the local electronic environment. This code is based on the Quantum Espresso implementation of TS.
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) |
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 174 of file vdw_ts.F90.
subroutine, public vdw_ts_oct_m::vdw_ts_end | ( | type(vdw_ts_t), intent(inout) | this | ) |
Definition at line 250 of file vdw_ts.F90.
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), contiguous | 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).
[in] | space | System dimensions and boundary conditions |
[in] | latt | Crystal lattice |
[in] | atom | Atoms |
[in] | natoms | Number of atoms == size(atoms) |
[in] | pos | Atomic positions |
Definition at line 268 of file vdw_ts.F90.
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 429 of file vdw_ts.F90.
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 552 of file vdw_ts.F90.
|
private |
Definition at line 584 of file vdw_ts.F90.