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 172 of file vdw_ts.F90.
subroutine, public vdw_ts_oct_m::vdw_ts_end | ( | type(vdw_ts_t), intent(inout) | this | ) |
Definition at line 248 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 266 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 426 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 547 of file vdw_ts.F90.
|
private |
Definition at line 579 of file vdw_ts.F90.