mbd_dipole Module

Construction of dipole tensors and dipole matrices.


Uses


Contents


Interfaces

public interface dipole_matrix

Form either a real or a complex dipole matrix.

The real-typed version is equivalent to .

  • private function dipole_matrix_real(geom, damp, ddipmat, grad) result(dipmat)

    Arguments

    Type IntentOptional AttributesName
    type(geom_t), intent(inout) :: geom
    type(damping_t), intent(in) :: damp
    type(grad_matrix_re_t), intent(out), optional :: ddipmat
    type(grad_request_t), intent(in), optional :: grad

    Return Value type(matrix_re_t)

  • private function dipole_matrix_complex(geom, damp, ddipmat, grad, q) result(dipmat)

    Arguments

    Type IntentOptional AttributesName
    type(geom_t), intent(inout) :: geom
    type(damping_t), intent(in) :: damp
    type(grad_matrix_cplx_t), intent(out), optional :: ddipmat
    type(grad_request_t), intent(in), optional :: grad
    real(kind=dp), intent(in) :: q(3)

    Return Value type(matrix_cplx_t)


Functions

public function T_bare(r, dT, grad) result(T)

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: r(3)
type(grad_matrix_re_t), intent(out), optional :: dT
logical, intent(in), optional :: grad

Return Value real(kind=dp) (3,3)

public function B_erfc(r, gamm, dB, grad) result(B)

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: r
real(kind=dp), intent(in) :: gamm
type(grad_scalar_t), intent(out), optional :: dB
type(grad_request_t), intent(in), optional :: grad

Return Value real(kind=dp)

public function C_erfc(r, gamm, dC, grad) result(C)

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: r
real(kind=dp), intent(in) :: gamm
type(grad_scalar_t), intent(out), optional :: dC
type(grad_request_t), intent(in), optional :: grad

Return Value real(kind=dp)

public function T_erfc(r, gamm, dT, grad) result(T)

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: r(3)
real(kind=dp), intent(in) :: gamm
type(grad_matrix_re_t), intent(out), optional :: dT
type(grad_request_t), intent(in), optional :: grad

Return Value real(kind=dp) (3,3)

public function T_erf_coulomb(r, sigma, dT, grad) result(T)

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: r(3)
real(kind=dp), intent(in) :: sigma
type(grad_matrix_re_t), intent(out), optional :: dT
type(grad_request_t), intent(in), optional :: grad

Return Value real(kind=dp) (3,3)