18#include "./base/base_uses.f90"
24 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'et_coupling_types'
42 TYPE(
cp_fm_type),
DIMENSION(:),
POINTER :: et_mo_coeff => null()
44 LOGICAL :: first_run = .false.
45 LOGICAL :: keep_matrix = .false.
46 REAL(kind=
dp) :: energy = 0.0_dp, e1 = 0.0_dp, order_p = 0.0_dp
74 SUBROUTINE get_et_coupling_type(et_coupling, et_mo_coeff, rest_mat)
76 TYPE(
cp_fm_type),
DIMENSION(:),
OPTIONAL,
POINTER :: et_mo_coeff
80 IF (
PRESENT(et_mo_coeff)) et_mo_coeff =>
et_coupling%et_mo_coeff
81 IF (
PRESENT(rest_mat)) rest_mat =>
et_coupling%rest_mat
83 END SUBROUTINE get_et_coupling_type
93 TYPE(
cp_fm_type),
DIMENSION(:),
OPTIONAL,
POINTER :: et_mo_coeff
97 IF (
PRESENT(et_mo_coeff))
et_coupling%et_mo_coeff = et_mo_coeff
98 IF (
PRESENT(rest_mat))
et_coupling%rest_mat => rest_mat
represent a full matrix distributed on many processors
Definition and initialisation of the et_coupling data type.
subroutine, public et_coupling_release(et_coupling)
...
subroutine, public set_et_coupling_type(et_coupling, et_mo_coeff, rest_mat)
...
subroutine, public et_coupling_create(et_coupling)
...
calculates the electron transfer coupling elements Wu, Van Voorhis, JCP 125, 164105 (2006)
Defines the basic variable types.
integer, parameter, public dp