dftd3_cutoff Module


Uses


Variables

Type Visibility Attributes Name Initial
real(kind=wp), public, parameter :: cn_default = 40.0_wp

Coordination number cutoff

real(kind=wp), public, parameter :: disp2_default = 60.0_wp

Two-body interaction cutoff

real(kind=wp), public, parameter :: disp3_default = 40.0_wp

Three-body interaction cutoff

real(kind=wp), public, parameter :: gcp_default = 60.0_wp

Counter-poise correction cutoff

real(kind=wp), public, parameter :: srb_default = 60.0_wp

Short-range bond correction cutoff


Derived Types

type, public, sequence  ::  realspace_cutoff

Collection of real space cutoffs

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: cn = cn_default

Coordination number cutoff

real(kind=wp), public :: disp2 = disp2_default

Two-body interaction cutoff

real(kind=wp), public :: disp3 = disp3_default

Three-body interaction cutoff

real(kind=wp), public :: gcp = gcp_default

Counter-poise correction cutoff

real(kind=wp), public :: srb = srb_default

Short-range bond correction cutoff

real(kind=wp), public :: width2 = 0.0_wp

Width of smooth two-body interaction cutoff

real(kind=wp), public :: width3 = 0.0_wp

Width of smooth three-body interaction cutoff


Subroutines

public pure subroutine crossproduct(a, b, c)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: a(3)
real(kind=wp), intent(in) :: b(3)
real(kind=wp), intent(out) :: c(3)

public subroutine get_lattice_points(periodic, lat, rthr, trans)

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: periodic(:)
real(kind=wp), intent(in) :: lat(:,:)
real(kind=wp), intent(in) :: rthr
real(kind=wp), intent(out), allocatable :: trans(:,:)

public subroutine get_normals(lattice, normal)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: lattice(:,:)
real(kind=wp), intent(out) :: normal(:,:)

public pure subroutine get_translations(lat, rthr, rep)

generate a supercell based on a realspace cutoff, this subroutine

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: lat(3,3)
real(kind=wp), intent(in) :: rthr
integer, intent(out) :: rep(3)

public pure subroutine smooth_cutoff(r, cutoff, width, sw, dswdr)

Smooth polynomial switch for realspace cutoffs

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: r
real(kind=wp), intent(in) :: cutoff
real(kind=wp), intent(in) :: width
real(kind=wp), intent(out) :: sw
real(kind=wp), intent(out) :: dswdr