17#include "../base/base_uses.f90"
22 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'atprop_types'
32 LOGICAL :: energy = .false.
33 REAL(kind=
dp),
DIMENSION(:),
POINTER :: atener => null()
34 REAL(kind=
dp),
DIMENSION(:),
POINTER :: ateb => null()
35 REAL(kind=
dp),
DIMENSION(:),
POINTER :: atexc => null()
36 REAL(kind=
dp),
DIMENSION(:),
POINTER :: ateself => null()
37 REAL(kind=
dp),
DIMENSION(:),
POINTER :: atevdw => null()
38 REAL(kind=
dp),
DIMENSION(:),
POINTER :: ategcp => null()
39 REAL(kind=
dp),
DIMENSION(:),
POINTER :: atecc => null()
40 REAL(kind=
dp),
DIMENSION(:),
POINTER :: ate1c => null()
41 REAL(kind=
dp),
DIMENSION(:),
POINTER :: atecoul => null()
65 INTEGER,
INTENT(IN) :: natom
67 IF (atprop_env%energy)
THEN
69 CALL atprop_array_release(atprop_env%ateb)
70 CALL atprop_array_release(atprop_env%atevdw)
71 CALL atprop_array_release(atprop_env%ategcp)
72 CALL atprop_array_release(atprop_env%atecc)
73 CALL atprop_array_release(atprop_env%atecoul)
74 CALL atprop_array_release(atprop_env%ateself)
75 CALL atprop_array_release(atprop_env%atexc)
76 CALL atprop_array_release(atprop_env%ate1c)
87 REAL(kind=
dp),
DIMENSION(:),
POINTER :: atarray
88 INTEGER,
INTENT(IN) :: natom
90 IF (
ASSOCIATED(atarray))
THEN
91 cpassert(
SIZE(atarray) == natom)
93 ALLOCATE (atarray(natom))
103 SUBROUTINE atprop_array_release(atarray)
104 REAL(kind=
dp),
DIMENSION(:),
POINTER :: atarray
106 IF (
ASSOCIATED(atarray))
THEN
110 END SUBROUTINE atprop_array_release
118 REAL(kind=
dp),
DIMENSION(:),
INTENT(INOUT) :: array_a
119 REAL(kind=
dp),
DIMENSION(:),
INTENT(IN),
POINTER :: array_b
121 IF (
ASSOCIATED(array_b))
THEN
122 array_a = array_a + array_b
135 IF (
ASSOCIATED(atprop_env))
THEN
137 CALL atprop_array_release(atprop_env%atener)
138 CALL atprop_array_release(atprop_env%ateb)
139 CALL atprop_array_release(atprop_env%ateself)
140 CALL atprop_array_release(atprop_env%atexc)
141 CALL atprop_array_release(atprop_env%atevdw)
142 CALL atprop_array_release(atprop_env%ategcp)
143 CALL atprop_array_release(atprop_env%atecc)
144 CALL atprop_array_release(atprop_env%ate1c)
145 CALL atprop_array_release(atprop_env%atecoul)
147 DEALLOCATE (atprop_env)
Holds information on atomic properties.
subroutine, public atprop_array_add(array_a, array_b)
...
subroutine, public atprop_create(atprop_env)
...
subroutine, public atprop_release(atprop_env)
releases the atprop
subroutine, public atprop_array_init(atarray, natom)
...
subroutine, public atprop_init(atprop_env, natom)
...
Defines the basic variable types.
integer, parameter, public dp
type for the atomic properties