25 #include "./base/base_uses.f90"
32 lnhc_parameters_type, &
47 END TYPE npt_info_type
51 INTEGER :: degrees_of_freedom
57 END TYPE nhc_info_type
61 REAL(kind=
dp),
POINTER :: point
62 END TYPE point_info_type
67 INTEGER,
POINTER,
DIMENSION(:) :: index, map_index
68 REAL(kind=
dp),
POINTER,
DIMENSION(:) :: v_scale
69 REAL(kind=
dp),
POINTER,
DIMENSION(:) :: s_kin
70 TYPE(point_info_type),
POINTER,
DIMENSION(:, :) :: p_scale
71 TYPE(point_info_type),
POINTER,
DIMENSION(:, :) :: p_kin
72 END TYPE map_info_type
75 TYPE lnhc_parameters_type
76 INTEGER :: nyosh, nc, nhc_len
77 INTEGER :: glob_num_nhc, loc_num_nhc, region
78 REAL(kind=
dp) :: tau_nhc, dt_fact
79 REAL(kind=
dp),
POINTER :: dt_yosh(:)
80 TYPE(nhc_info_type),
POINTER :: nvt(:, :)
81 TYPE(map_info_type),
POINTER :: map_info
82 END TYPE lnhc_parameters_type
84 CHARACTER(len=*),
PARAMETER,
PRIVATE :: modulen =
'extended_system_types'
94 TYPE(lnhc_parameters_type),
POINTER :: lnhc
95 TYPE(section_vals_type),
POINTER :: section
97 NULLIFY (lnhc%dt_yosh)
99 NULLIFY (lnhc%map_info)
101 lnhc%glob_num_nhc = 0
102 lnhc%dt_fact = 1.0_dp
118 TYPE(map_info_type),
POINTER :: map_info
121 NULLIFY (map_info%index, map_info%map_index)
122 NULLIFY (map_info%v_scale)
123 NULLIFY (map_info%p_scale)
124 NULLIFY (map_info%s_kin)
125 NULLIFY (map_info%p_kin)
135 TYPE(map_info_type),
POINTER :: map_info
137 IF (
ASSOCIATED(map_info))
THEN
138 IF (
ASSOCIATED(map_info%p_kin))
THEN
139 DEALLOCATE (map_info%p_kin)
141 IF (
ASSOCIATED(map_info%p_scale))
THEN
142 DEALLOCATE (map_info%p_scale)
144 IF (
ASSOCIATED(map_info%v_scale))
THEN
145 DEALLOCATE (map_info%v_scale)
147 IF (
ASSOCIATED(map_info%s_kin))
THEN
148 DEALLOCATE (map_info%s_kin)
150 IF (
ASSOCIATED(map_info%index))
THEN
151 DEALLOCATE (map_info%index)
153 IF (
ASSOCIATED(map_info%map_index))
THEN
154 DEALLOCATE (map_info%map_index)
157 DEALLOCATE (map_info)
167 TYPE(lnhc_parameters_type),
POINTER :: lnhc
169 IF (
ASSOCIATED(lnhc))
THEN
170 IF (
ASSOCIATED(lnhc%dt_yosh))
THEN
171 DEALLOCATE (lnhc%dt_yosh)
173 IF (
ASSOCIATED(lnhc%nvt))
THEN
174 DEALLOCATE (lnhc%nvt)
collects all references to literature in CP2K as new algorithms / method are included from literature...
integer, save, public nose1984a
integer, save, public nose1984b
Lumps all possible extended system variables into one type for easy access and passing.
subroutine, public lnhc_dealloc(lnhc)
Deallocate type for Nose-Hoover thermostat.
subroutine, public release_map_info_type(map_info)
release the map_info type
logical, parameter, public debug_uniaxial_limit
subroutine, public create_map_info_type(map_info)
create the map_info type
subroutine, public lnhc_init(lnhc, section)
Initialize type for Nose-Hoover thermostat.
logical, parameter, public debug_isotropic_limit
Defines the basic variable types.
integer, parameter, public dp