21#include "../base/base_uses.f90"
32 INTEGER :: nregions = 0
33 LOGICAL :: force_rescaling = .false.
34 REAL(kind=
dp) :: temp_reg0 = 0.0_dp
35 LOGICAL,
DIMENSION(:),
POINTER :: do_langevin => null()
41 CHARACTER(len=default_path_length) :: temperature_function =
""
42 CHARACTER(len=default_string_length),
POINTER,
DIMENSION(:) :: temperature_function_parameters => null()
43 INTEGER :: region_index = 0, npart = 0
44 INTEGER,
DIMENSION(:),
POINTER :: part_index => null()
45 REAL(kind=
dp) :: ekin = 0.0_dp, noisy_gamma_region = 0.0_dp, temperature = 0.0_dp, temp_expected = 0.0_dp, temp_tol = 0.0_dp
46 REAL(kind=
dp),
DIMENSION(:),
POINTER :: temperature_function_values => null()
49 CHARACTER(len=*),
PARAMETER,
PRIVATE :: modulen =
'thermal_region_types'
60 mark_used(thermal_regions)
74 IF (
ASSOCIATED(thermal_regions%thermal_region))
THEN
75 DO ireg = 1,
SIZE(thermal_regions%thermal_region)
76 IF (
ASSOCIATED(thermal_regions%thermal_region(ireg)%part_index))
THEN
77 DEALLOCATE (thermal_regions%thermal_region(ireg)%part_index)
80 DEALLOCATE (thermal_regions%thermal_region)
82 IF (
ASSOCIATED(thermal_regions%do_langevin))
THEN
83 DEALLOCATE (thermal_regions%do_langevin)
Defines the basic variable types.
integer, parameter, public dp
integer, parameter, public default_string_length
integer, parameter, public default_path_length
Thermal regions type: to initialize and control the temperature of different regions.
subroutine, public release_thermal_regions(thermal_regions)
release thermal_regions
subroutine, public allocate_thermal_regions(thermal_regions)
allocate thermal_regions