mbd_gradients Module

Derivatives.



Contents


Derived Types

type, public :: grad_t

Derivatives with respect to various quantities

Components

TypeVisibility AttributesNameInitial
real(kind=dp), public, allocatable:: dcoords(:,:)
real(kind=dp), public, allocatable:: dlattice(:,:)
real(kind=dp), public, allocatable:: dalpha(:)
real(kind=dp), public, allocatable:: dalpha_dyn(:,:)
real(kind=dp), public, allocatable:: dC6(:)
real(kind=dp), public, allocatable:: dq(:)
real(kind=dp), public, allocatable:: dr_vdw(:)
real(kind=dp), public, allocatable:: domega(:)
real(kind=dp), public, allocatable:: dV(:)
real(kind=dp), public, allocatable:: dV_free(:)
real(kind=dp), public, allocatable:: dX_free(:)

type, public :: grad_matrix_re_t

Derivatives of a real dipole matrix with respect to various quantities

Components

TypeVisibility AttributesNameInitial
real(kind=dp), public, allocatable:: dr(:,:,:)
real(kind=dp), public, allocatable:: dlattice(:,:,:,:)
real(kind=dp), public, allocatable:: dvdw(:,:)
real(kind=dp), public, allocatable:: dsigma(:,:)
real(kind=dp), public, allocatable:: dgamma(:,:)

type, public :: grad_matrix_cplx_t

Derivatives of a compelx dipole matrix with respect to various quantities

Components

TypeVisibility AttributesNameInitial
complex(kind=dp), public, allocatable:: dr(:,:,:)
complex(kind=dp), public, allocatable:: dlattice(:,:,:,:)
complex(kind=dp), public, allocatable:: dq(:,:,:)
complex(kind=dp), public, allocatable:: dvdw(:,:)
complex(kind=dp), public, allocatable:: dsigma(:,:)
complex(kind=dp), public, allocatable:: dgamma(:,:)

type, public :: grad_scalar_t

Derivatives of a scalar with respect to various quantities

Components

TypeVisibility AttributesNameInitial
real(kind=dp), public, allocatable:: dr(:)
real(kind=dp), public, allocatable:: dr_1
real(kind=dp), public, allocatable:: dk_1
real(kind=dp), public, allocatable:: dvdw
real(kind=dp), public, allocatable:: dgamma
real(kind=dp), public, allocatable:: dC6
real(kind=dp), public, allocatable:: dC6i
real(kind=dp), public, allocatable:: dC6j
real(kind=dp), public, allocatable:: da0i
real(kind=dp), public, allocatable:: da0j

type, public :: grad_request_t

Used to request derivatives with respect to function arguments

Components

TypeVisibility AttributesNameInitial
logical, public :: dcoords =.false.
logical, public :: dalpha =.false.
logical, public :: dalpha_dyn =.false.
logical, public :: dC6 =.false.
logical, public :: dr_vdw =.false.
logical, public :: domega =.false.
logical, public :: dsigma =.false.
logical, public :: dgamma =.false.
logical, public :: dq =.false.
logical, public :: dlattice =.false.
logical, public :: dV =.false.
logical, public :: dV_free =.false.
logical, public :: dX_free =.false.

Type-Bound Procedures

procedure, public :: any => grad_request_any