19 USE dbcsr_api,
ONLY: dbcsr_p_type
21 #include "./base/base_uses.f90"
27 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'qs_period_efield_types'
32 TYPE efield_berry_type
33 REAL(KIND=
dp) :: field_energy
34 REAL(KIND=
dp),
DIMENSION(3) :: polarisation
35 TYPE(dbcsr_p_type),
DIMENSION(:),
POINTER :: cosmat
36 TYPE(dbcsr_p_type),
DIMENSION(:),
POINTER :: sinmat
37 TYPE(dbcsr_p_type),
DIMENSION(:),
POINTER :: dipmat
38 END TYPE efield_berry_type
47 TYPE(efield_berry_type),
POINTER :: efield
49 REAL(kind=
dp) :: field_energy
50 REAL(kind=
dp),
DIMENSION(3) :: polarisation
54 IF (
ASSOCIATED(efield))
THEN
55 field_energy = efield%field_energy
56 polarisation = efield%polarisation
64 NULLIFY (efield%cosmat)
65 NULLIFY (efield%sinmat)
66 NULLIFY (efield%dipmat)
68 efield%field_energy = field_energy
69 efield%polarisation = polarisation
82 TYPE(efield_berry_type),
POINTER :: efield
83 TYPE(dbcsr_p_type),
DIMENSION(:),
OPTIONAL, &
84 POINTER :: sinmat, cosmat, dipmat
86 IF (
PRESENT(cosmat)) efield%cosmat => cosmat
87 IF (
PRESENT(sinmat)) efield%sinmat => sinmat
88 IF (
PRESENT(dipmat)) efield%dipmat => dipmat
97 TYPE(efield_berry_type),
POINTER :: efield
99 IF (
ASSOCIATED(efield))
THEN
100 IF (
ASSOCIATED(efield%sinmat) .AND.
ASSOCIATED(efield%cosmat))
THEN
104 IF (
ASSOCIATED(efield%dipmat))
THEN
DBCSR operations in CP2K.
Defines the basic variable types.
integer, parameter, public dp
type for berry phase efield matrices. At the moment only used for cosmat and sinmat
subroutine, public efield_berry_release(efield)
...
subroutine, public set_efield_matrices(efield, sinmat, cosmat, dipmat)
...
subroutine, public init_efield_matrices(efield)
...