30 #include "../../base/base_uses.f90"
39 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'csvr_system_init'
52 TYPE(simpar_type),
POINTER :: simpar
53 TYPE(csvr_system_type),
POINTER :: csvr
54 TYPE(section_vals_type),
POINTER :: csvr_section
57 CALL restart_csvr(csvr, csvr_section)
75 molecule, molecule_kind_set, para_env, csvr, csvr_section, &
78 TYPE(thermostat_info_type),
POINTER :: thermostat_info
79 TYPE(simpar_type),
POINTER :: simpar
80 TYPE(distribution_1d_type),
POINTER :: local_molecules
81 TYPE(molecule_type),
POINTER :: molecule(:)
82 TYPE(molecule_kind_type),
POINTER :: molecule_kind_set(:)
83 TYPE(mp_para_env_type),
POINTER :: para_env
84 TYPE(csvr_system_type),
POINTER :: csvr
85 TYPE(section_vals_type),
POINTER :: csvr_section
86 TYPE(global_constraint_type),
POINTER :: gci
89 molecule, molecule_kind_set, csvr, para_env, gci)
90 CALL restart_csvr(csvr, csvr_section)
108 molecule, molecule_kind_set, para_env, csvr, csvr_section, &
111 TYPE(thermostat_info_type),
POINTER :: thermostat_info
112 TYPE(simpar_type),
POINTER :: simpar
113 TYPE(distribution_1d_type),
POINTER :: local_molecules
114 TYPE(molecule_type),
POINTER :: molecule(:)
115 TYPE(molecule_kind_type),
POINTER :: molecule_kind_set(:)
116 TYPE(mp_para_env_type),
POINTER :: para_env
117 TYPE(csvr_system_type),
POINTER :: csvr
118 TYPE(section_vals_type),
POINTER :: csvr_section
119 TYPE(global_constraint_type),
POINTER :: gci
122 molecule, molecule_kind_set, csvr, para_env, gci)
123 CALL restart_csvr(csvr, csvr_section)
133 SUBROUTINE restart_csvr(csvr, csvr_section)
134 TYPE(csvr_system_type),
POINTER :: csvr
135 TYPE(section_vals_type),
POINTER :: csvr_section
137 CHARACTER(LEN=rng_record_length) :: rng_record
138 INTEGER :: i, my_index, n_rep
140 TYPE(section_vals_type),
POINTER :: work_section
145 subsection_name=
"THERMOSTAT_ENERGY")
150 IF (n_rep == csvr%glob_num_csvr)
THEN
151 DO i = 1, csvr%loc_num_csvr
152 my_index = csvr%map_info%index(i)
154 i_rep_val=my_index, r_val=csvr%nvt(i)%thermostat_energy)
157 CALL cp_abort(__location__, &
158 'Number pf restartable stream not equal to the number of'// &
159 ' total thermostats!')
165 subsection_name=
"RNG_INIT")
171 IF (n_rep == csvr%glob_num_csvr)
THEN
172 DO i = 1, csvr%loc_num_csvr
173 my_index = csvr%map_info%index(i)
175 i_rep_val=my_index, c_val=rng_record)
179 CALL cp_abort(__location__, &
180 'Number pf restartable stream not equal to the number of'// &
181 ' total thermostats!')
184 END SUBROUTINE restart_csvr
subroutine, public initialize_csvr_shell(thermostat_info, simpar, local_molecules, molecule, molecule_kind_set, para_env, csvr, csvr_section, gci)
...
subroutine, public initialize_csvr_baro(simpar, csvr, csvr_section)
fire up the thermostats, if NPT
subroutine, public initialize_csvr_part(thermostat_info, simpar, local_molecules, molecule, molecule_kind_set, para_env, csvr, csvr_section, gci)
...
subroutine, public csvr_to_particle_mapping(thermostat_info, simpar, local_molecules, molecule_set, molecule_kind_set, csvr, para_env, gci)
Creates the thermostatting maps.
subroutine, public csvr_to_barostat_mapping(simpar, csvr)
Creates the thermostatting for the barostat.
subroutine, public csvr_to_shell_mapping(thermostat_info, simpar, local_molecules, molecule_set, molecule_kind_set, csvr, para_env, gci)
...
Type for the canonical sampling through velocity rescaling.
stores a lists of integer that are local to a processor. The idea is that these integers represent ob...
Interface to the message passing library MPI.
Define the molecule kind structure types and the corresponding functionality.
Define the data structure for the molecule information.
Parallel (pseudo)random number generator (RNG) for multiple streams and substreams of random numbers.
type(rng_stream_type) function, public rng_stream_type_from_record(rng_record)
Create a RNG stream from a record given as an internal file (string).
integer, parameter, public rng_record_length
Type for storing MD parameters.
Thermostat structure: module containing thermostat available for MD.