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
128 REAL(kind=
dp) :: worm_centroid_drmax = 0.0_dp
129 INTEGER :: worm_nstat = 0
130 INTEGER :: worm_staging_l = 0
131 INTEGER :: worm_repeat_crawl = 0
132 INTEGER :: worm_all_limit = 0
133 INTEGER :: worm_centroid_min = 0, worm_centroid_max = 0
134 INTEGER :: worm_staging_min = 0, worm_staging_max = 0
135 INTEGER :: worm_fcrawl_min = 0, worm_fcrawl_max = 0
136 INTEGER :: worm_bcrawl_min = 0, worm_bcrawl_max = 0
137 INTEGER :: worm_head_min = 0, worm_head_max = 0
138 INTEGER :: worm_tail_min = 0, worm_tail_max = 0
139 INTEGER :: worm_swap_min = 0, worm_swap_max = 0
140 INTEGER :: worm_open_close_min = 0, worm_open_close_max = 0
141 INTEGER :: worm_max_open_cycles = 0
142 REAL(kind=
dp) :: worm_open_close_scale = 0.0_dp
143 REAL(kind=
dp) :: worm_ln_openclose_scale = 0.0_dp
144 LOGICAL :: worm_allow_open = .false., worm_show_statistics = .false.
147 REAL(kind=
dp),
DIMENSION(3) :: worm_xtra_bead = 0.0_dp, worm_xtra_bead_work = 0.0_dp
148 INTEGER :: worm_atom_idx = 0, worm_bead_idx = 0
149 INTEGER :: worm_atom_idx_work = 0, worm_bead_idx_work = 0
150 INTEGER :: iw = 0, it = 0
151 LOGICAL :: worm_is_closed = .false.
153 INTEGER :: iter_norot = 0
154 INTEGER :: iter_rot = 0
156 INTEGER :: maxcycle = 0
157 INTEGER :: m_dist_type = 0
158 INTEGER :: m_value = 0
159 REAL(kind=
dp) :: m_ratio = 0.0_dp
161 INTEGER :: relrot = 0
162 INTEGER :: bisection = 0
163 INTEGER :: bisctlog2 = 0
165 REAL(kind=
dp) :: e_corr = 0.0_dp
170 INTEGER :: num_steps = 0
171 INTEGER :: first_step = 0
172 INTEGER :: last_step = 0
173 INTEGER :: current_step = 0
177 REAL(kind=
dp),
DIMENSION(:, :, :),
POINTER :: pos => null()
178 REAL(kind=
dp),
DIMENSION(:, :, :),
POINTER :: savepos => null()
179 REAL(kind=
dp),
DIMENSION(:, :, :),
POINTER :: work => null()
181 INTEGER,
DIMENSION(:),
POINTER :: permutation => null()
182 INTEGER,
DIMENSION(:),
POINTER :: savepermutation => null()
183 INTEGER,
DIMENSION(:),
POINTER :: iperm => null()
184 INTEGER,
DIMENSION(:),
POINTER :: saveiperm => null()
185 INTEGER,
DIMENSION(:),
POINTER :: ptable => null()
186 INTEGER(KIND=int_8) :: accepts = 0_int_8
188 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: tmatrix => null()
189 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: pmatrix => null()
190 REAL(kind=
dp) :: pweight = 0.0_dp
191 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: ipmatrix => null()
192 INTEGER,
DIMENSION(:, :),
POINTER :: nmatrix => null()
198 REAL(kind=
dp),
CONTIGUOUS,
DIMENSION(:, :, :),
POINTER :: uoffdiag => null()
199 REAL(kind=
dp),
CONTIGUOUS,
DIMENSION(:, :, :),
POINTER :: eoffdiag => null()
203 REAL(kind=
dp),
DIMENSION(e_num_ids) :: energy_inst = 0.0_dp
204 REAL(kind=
dp),
DIMENSION(e_num_ids) :: energy_avrg = 0.0_dp
205 TYPE(helium_vector_type) :: wnumber = helium_vector_type()
206 TYPE(helium_vector_type) :: wnmber2 = helium_vector_type()
207 TYPE(helium_vector_type) :: proarea = helium_vector_type()
208 TYPE(helium_vector_type) :: prarea2 = helium_vector_type()
209 TYPE(helium_vector_type) :: mominer = helium_vector_type()
210 INTEGER :: averages_iweight = 0
211 LOGICAL :: averages_restarted = .false.
213 REAL(kind=
dp) :: link_action = 0.0_dp, inter_action = 0.0_dp, pair_action = 0.0_dp
216 INTEGER :: rdf_nbin = 0
217 INTEGER :: rdf_iweight = 0
218 INTEGER :: rho_iweight = 0
219 INTEGER :: rdf_num = 0
220 INTEGER :: rdf_num_ctr = 0
221 REAL(kind=
dp) :: rdf_delr = 0.0_dp
222 REAL(kind=
dp) :: rdf_maxr = 0.0_dp
223 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: rdf_centers => null()
224 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: rdf_inst => null()
225 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: rdf_rstr => null()
226 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: rdf_accu => null()
227 LOGICAL :: rdf_present = .false.
228 LOGICAL :: rdf_sol_he = .false.
229 LOGICAL :: rdf_he_he = .false.
231 INTEGER :: rho_nbin = 0
232 INTEGER :: rho_num_act = 0
233 INTEGER :: rho_num_min_len_wdg = 0
234 INTEGER :: rho_num_min_len_non = 0
235 INTEGER :: rho_num_min_len_all = 0
236 INTEGER,
DIMENSION(:),
POINTER :: rho_min_len_wdg_vals => null()
237 INTEGER,
DIMENSION(:),
POINTER :: rho_min_len_non_vals => null()
238 INTEGER,
DIMENSION(:),
POINTER :: rho_min_len_all_vals => null()
239 REAL(kind=
dp) :: rho_delr = 0.0_dp, rho_maxr = 0.0_dp
240 REAL(kind=
dp),
DIMENSION(:, :, :, :),
POINTER :: rho_inst => null()
241 REAL(kind=
dp),
DIMENSION(:, :, :, :),
POINTER :: rho_rstr => null()
242 REAL(kind=
dp),
DIMENSION(:, :, :, :),
POINTER :: rho_accu => null()
243 LOGICAL :: rho_present = .false.
244 REAL(kind=
dp),
DIMENSION(:, :, :),
POINTER :: rho_incr => null()
246 TYPE(density_properties_type),
DIMENSION(:),
POINTER :: rho_property => null()
248 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: num_accepted => null()
255 REAL(kind=
dp),
DIMENSION(:),
POINTER :: plength_avrg => null()
256 REAL(kind=
dp),
DIMENSION(:),
POINTER :: plength_inst => null()
257 INTEGER,
DIMENSION(:),
POINTER :: atom_plength => null()
264 LOGICAL :: solute_present = .false.
265 INTEGER :: solute_atoms = 0
266 INTEGER :: solute_beads = 0
267 INTEGER :: get_helium_forces = 0
268 CHARACTER(LEN=2),
DIMENSION(:),
POINTER :: solute_element => null()
270 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: force_avrg => null()
271 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: force_inst => null()
272 CHARACTER(LEN=2),
DIMENSION(:),
POINTER :: ename => null()
274 INTEGER :: solute_interaction = 0
276 LOGICAL :: interaction_pot_scan = .false.
279 REAL(kind=
dp),
DIMENSION(:),
POINTER :: nnp_sr_cut => null()
283 INTEGER,
DIMENSION(:),
POINTER :: itmp_atoms_1d => null()
284 INTEGER,
DIMENSION(:),
POINTER :: itmp_atoms_np_1d => null()
285 REAL(kind=
dp),
DIMENSION(:),
POINTER :: rtmp_3_np_1d => null()
286 REAL(kind=
dp),
DIMENSION(:),
POINTER :: rtmp_p_ndim_1d => null()
287 REAL(kind=
dp),
DIMENSION(:),
POINTER :: rtmp_p_ndim_np_1d => null()
288 REAL(kind=
dp),
DIMENSION(:),
POINTER :: rtmp_3_atoms_beads_1d => null()
289 REAL(kind=
dp),
DIMENSION(:),
POINTER :: rtmp_3_atoms_beads_np_1d => null()
290 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: rtmp_p_ndim_2d => null()
291 LOGICAL,
DIMENSION(:, :, :),
POINTER :: ltmp_3_atoms_beads_3d => null()
292 LOGICAL,
DIMENSION(:),
POINTER :: ltmp_atoms_1d => null()