98 INTEGER :: num_env = 0
102 INTEGER :: bead_ratio = 0
103 REAL(kind=
dp) :: density = 0.0_dp
107 REAL(kind=
dp) :: he_mass_au = 0.0_dp
108 REAL(kind=
dp) :: hb2m = 0.0_dp
109 REAL(kind=
dp) :: tau = 0.0_dp
110 REAL(kind=
dp) :: wpref = 0.0_dp
111 REAL(kind=
dp) :: apref = 0.0_dp
115 LOGICAL :: periodic = .false.
116 INTEGER :: cell_shape = 0
117 REAL(kind=
dp) :: cell_size = 0.0_dp
118 REAL(kind=
dp) :: cell_size_inv = 0.0_dp
119 REAL(kind=
dp),
DIMENSION(3, 3) :: cell_m = 0.0_dp
120 REAL(kind=
dp),
DIMENSION(3, 3) :: cell_m_inv = 0.0_dp
121 REAL(kind=
dp),
DIMENSION(3) :: origin = 0.0_dp
122 REAL(kind=
dp) :: droplet_radius = 0.0_dp
124 REAL(kind=
dp),
DIMENSION(3) :: center = 0.0_dp
129 REAL(kind=
dp) :: worm_centroid_drmax = 0.0_dp
130 INTEGER :: worm_nstat = 0
131 INTEGER :: worm_staging_l = 0
132 INTEGER :: worm_repeat_crawl = 0
133 INTEGER :: worm_all_limit = 0
134 INTEGER :: worm_centroid_min = 0, worm_centroid_max = 0
135 INTEGER :: worm_staging_min = 0, worm_staging_max = 0
136 INTEGER :: worm_fcrawl_min = 0, worm_fcrawl_max = 0
137 INTEGER :: worm_bcrawl_min = 0, worm_bcrawl_max = 0
138 INTEGER :: worm_head_min = 0, worm_head_max = 0
139 INTEGER :: worm_tail_min = 0, worm_tail_max = 0
140 INTEGER :: worm_swap_min = 0, worm_swap_max = 0
141 INTEGER :: worm_open_close_min = 0, worm_open_close_max = 0
142 INTEGER :: worm_max_open_cycles = 0
143 REAL(kind=
dp) :: worm_open_close_scale = 0.0_dp
144 REAL(kind=
dp) :: worm_ln_openclose_scale = 0.0_dp
145 LOGICAL :: worm_allow_open = .false., worm_show_statistics = .false.
148 REAL(kind=
dp),
DIMENSION(3) :: worm_xtra_bead = 0.0_dp, worm_xtra_bead_work = 0.0_dp
149 INTEGER :: worm_atom_idx = 0, worm_bead_idx = 0
150 INTEGER :: worm_atom_idx_work = 0, worm_bead_idx_work = 0
151 INTEGER :: iw = 0, it = 0
152 LOGICAL :: worm_is_closed = .false.
154 INTEGER :: iter_norot = 0
155 INTEGER :: iter_rot = 0
158 INTEGER :: maxcycle = 0
159 INTEGER :: m_dist_type = 0
160 INTEGER :: m_value = 0
161 REAL(kind=
dp) :: m_ratio = 0.0_dp
163 INTEGER :: relrot = 0
164 INTEGER :: bisection = 0
165 INTEGER :: bisctlog2 = 0
167 REAL(kind=
dp) :: e_corr = 0.0_dp
172 INTEGER :: num_steps = 0
173 INTEGER :: first_step = 0
174 INTEGER :: last_step = 0
175 INTEGER :: current_step = 0
179 REAL(kind=
dp),
DIMENSION(:, :, :),
POINTER :: pos => null()
180 REAL(kind=
dp),
DIMENSION(:, :, :),
POINTER :: savepos => null()
181 REAL(kind=
dp),
DIMENSION(:, :, :),
POINTER :: work => null()
183 INTEGER,
DIMENSION(:),
POINTER :: permutation => null()
184 INTEGER,
DIMENSION(:),
POINTER :: savepermutation => null()
185 INTEGER,
DIMENSION(:),
POINTER :: iperm => null()
186 INTEGER,
DIMENSION(:),
POINTER :: saveiperm => null()
187 INTEGER,
DIMENSION(:),
POINTER :: ptable => null()
188 INTEGER(KIND=int_8) :: accepts = 0_int_8
190 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: tmatrix => null()
191 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: pmatrix => null()
193 REAL(kind=
dp) :: pweight = 0.0_dp
194 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: ipmatrix => null()
195 INTEGER,
DIMENSION(:, :),
POINTER :: nmatrix => null()
201 REAL(kind=
dp),
CONTIGUOUS,
DIMENSION(:, :, :),
POINTER :: uoffdiag => null()
202 REAL(kind=
dp),
CONTIGUOUS,
DIMENSION(:, :, :),
POINTER :: eoffdiag => null()
206 REAL(kind=
dp),
DIMENSION(e_num_ids) :: energy_inst = 0.0_dp
207 REAL(kind=
dp),
DIMENSION(e_num_ids) :: energy_avrg = 0.0_dp
208 TYPE(helium_vector_type) :: wnumber = helium_vector_type()
209 TYPE(helium_vector_type) :: wnmber2 = helium_vector_type()
210 TYPE(helium_vector_type) :: proarea = helium_vector_type()
211 TYPE(helium_vector_type) :: prarea2 = helium_vector_type()
212 TYPE(helium_vector_type) :: mominer = helium_vector_type()
213 INTEGER :: averages_iweight = 0
214 LOGICAL :: averages_restarted = .false.
217 REAL(kind=
dp) :: link_action = 0.0_dp, inter_action = 0.0_dp, pair_action = 0.0_dp
220 INTEGER :: rdf_nbin = 0
221 INTEGER :: rdf_iweight = 0
222 INTEGER :: rho_iweight = 0
223 INTEGER :: rdf_num = 0
224 INTEGER :: rdf_num_ctr = 0
225 REAL(kind=
dp) :: rdf_delr = 0.0_dp
226 REAL(kind=
dp) :: rdf_maxr = 0.0_dp
227 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: rdf_centers => null()
228 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: rdf_inst => null()
229 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: rdf_rstr => null()
230 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: rdf_accu => null()
231 LOGICAL :: rdf_present = .false.
232 LOGICAL :: rdf_sol_he = .false.
233 LOGICAL :: rdf_he_he = .false.
235 INTEGER :: rho_nbin = 0
236 INTEGER :: rho_num_act = 0
237 INTEGER :: rho_num_min_len_wdg = 0
238 INTEGER :: rho_num_min_len_non = 0
239 INTEGER :: rho_num_min_len_all = 0
240 INTEGER,
DIMENSION(:),
POINTER :: rho_min_len_wdg_vals => null()
241 INTEGER,
DIMENSION(:),
POINTER :: rho_min_len_non_vals => null()
242 INTEGER,
DIMENSION(:),
POINTER :: rho_min_len_all_vals => null()
243 REAL(kind=
dp) :: rho_delr = 0.0_dp, rho_maxr = 0.0_dp
244 REAL(kind=
dp),
DIMENSION(:, :, :, :),
POINTER :: rho_inst => null()
245 REAL(kind=
dp),
DIMENSION(:, :, :, :),
POINTER :: rho_rstr => null()
246 REAL(kind=
dp),
DIMENSION(:, :, :, :),
POINTER :: rho_accu => null()
247 LOGICAL :: rho_present = .false.
248 REAL(kind=
dp),
DIMENSION(:, :, :),
POINTER :: rho_incr => null()
250 TYPE(density_properties_type),
DIMENSION(:),
POINTER :: rho_property => null()
252 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: num_accepted => null()
259 REAL(kind=
dp),
DIMENSION(:),
POINTER :: plength_avrg => null()
260 REAL(kind=
dp),
DIMENSION(:),
POINTER :: plength_inst => null()
261 INTEGER,
DIMENSION(:),
POINTER :: atom_plength => null()
268 LOGICAL :: solute_present = .false.
269 INTEGER :: solute_atoms = 0
270 INTEGER :: solute_beads = 0
271 INTEGER :: get_helium_forces = 0
272 CHARACTER(LEN=2),
DIMENSION(:),
POINTER :: solute_element => null()
275 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: force_avrg => null()
277 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: force_inst => null()
278 CHARACTER(LEN=2),
DIMENSION(:),
POINTER :: ename => null()
280 INTEGER :: solute_interaction = 0
282 LOGICAL :: interaction_pot_scan = .false.
285 REAL(kind=
dp),
DIMENSION(:),
POINTER :: nnp_sr_cut => null()
289 INTEGER,
DIMENSION(:),
POINTER :: itmp_atoms_1d => null()
290 INTEGER,
DIMENSION(:),
POINTER :: itmp_atoms_np_1d => null()
291 REAL(kind=
dp),
DIMENSION(:),
POINTER :: rtmp_3_np_1d => null()
292 REAL(kind=
dp),
DIMENSION(:),
POINTER :: rtmp_p_ndim_1d => null()
293 REAL(kind=
dp),
DIMENSION(:),
POINTER :: rtmp_p_ndim_np_1d => null()
294 REAL(kind=
dp),
DIMENSION(:),
POINTER :: rtmp_3_atoms_beads_1d => null()
295 REAL(kind=
dp),
DIMENSION(:),
POINTER :: rtmp_3_atoms_beads_np_1d => null()
296 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: rtmp_p_ndim_2d => null()
297 LOGICAL,
DIMENSION(:, :, :),
POINTER :: ltmp_3_atoms_beads_3d => null()
298 LOGICAL,
DIMENSION(:),
POINTER :: ltmp_atoms_1d => null()