(git:ed6f26b)
Loading...
Searching...
No Matches
simpar_types.F
Go to the documentation of this file.
1!--------------------------------------------------------------------------------------------------!
2! CP2K: A general program to perform molecular dynamics simulations !
3! Copyright 2000-2025 CP2K developers group <https://cp2k.org> !
4! !
5! SPDX-License-Identifier: GPL-2.0-or-later !
6!--------------------------------------------------------------------------------------------------!
7
8! **************************************************************************************************
9!> \brief Type for storing MD parameters
10!> \author CJM
11!> \author Teodoro Laino [tlaino] - University of Zurich - 10.2008
12!> reorganization of the original routines/modules
13! **************************************************************************************************
15
16 USE kinds, ONLY: dp
17#include "./base/base_uses.f90"
18
19 IMPLICIT NONE
20
21 PRIVATE
22
23! **************************************************************************************************
24!> \brief Simulation parameter type for molecular dynamics
25!> \par History
26!> created [CJM]
27!> \author Teodoro Laino [tlaino] - University of Zurich - 10.2008
28!> reorganization of the original routines/modules
29! **************************************************************************************************
31 INTEGER :: nsteps = -1
32 INTEGER :: max_steps = -1
33 REAL(kind=dp) :: dt = -1.0_dp
34 REAL(kind=dp) :: dt_fact = -1.0_dp
35 REAL(kind=dp) :: dr_tol = -1.0_dp
36 REAL(kind=dp) :: dsc_tol = -1.0_dp
37 REAL(kind=dp) :: temp_ext = -1.0_dp
38 REAL(kind=dp) :: temp_baro_ext = -1.0_dp
39 REAL(kind=dp) :: temp_baro = -1.0_dp
40 REAL(kind=dp) :: temp_tol = -1.0_dp
41 REAL(kind=dp) :: temp_baro_tol = -1.0_dp
42 REAL(kind=dp) :: p_ext = -1.0_dp
43 REAL(kind=dp) :: cmass = -1.0_dp
44 REAL(kind=dp) :: cmass_nph = -1.0_dp
45 REAL(kind=dp) :: v0 = -1.0_dp
46 REAL(kind=dp) :: e0 = -1.0_dp
47 REAL(kind=dp) :: v_shock = -1.0_dp
48 REAL(kind=dp) :: p0 = -1.0_dp
49 REAL(kind=dp) :: f_annealing = -1.0_dp
50 REAL(kind=dp) :: f_annealing_cell = -1.0_dp
51 REAL(kind=dp) :: f_temperature_annealing = -1.0_dp
52 REAL(kind=dp) :: gamma_nph = -1.0_dp
53 INTEGER :: ensemble = -1
54 LOGICAL :: constraint = .false.
55 LOGICAL :: annealing = .false.
56 LOGICAL :: annealing_cell = .false.
57 LOGICAL :: temperature_annealing = .false.
58 LOGICAL :: dump_lm = .false.
59 LOGICAL :: angvel_zero = .false.
60 LOGICAL :: variable_dt = .false.
61 INTEGER :: nfree = -1, nfree_rot_transl = -1
62 INTEGER :: info_constraint = -1
63 INTEGER :: lagrange_multipliers = -1
64 REAL(kind=dp) :: tau_cell = -1.0_dp
65 ! Constraints Parameters
66 REAL(kind=dp) :: shake_tol = -1.0_dp, roll_tol = -1.0_dp
67 ! Langevin Parameters
68 REAL(kind=dp) :: gamma = -1.0_dp
69 REAL(kind=dp) :: noisy_gamma = -1.0_dp
70 REAL(kind=dp) :: shadow_gamma = -1.0_dp
71 REAL(kind=dp) :: var_w = -1.0_dp
72 ! RESPA Parameters
73 LOGICAL :: multi_time_switch = .false., do_respa = .false.
74 INTEGER :: n_time_steps = -1
75 ! SHELL parameters
76 REAL(kind=dp) :: temp_sh_ext = -1.0_dp
77 REAL(kind=dp) :: temp_sh_tol = -1.0_dp
78 LOGICAL :: temperature_per_kind = .false.
79 LOGICAL :: scale_temperature_per_kind = .false.
80 LOGICAL :: do_thermal_region = .false.
81 ! ADIABATIC parameters
82 REAL(kind=dp) :: temp_slow = -1.0_dp
83 REAL(kind=dp) :: temp_fast = -1.0_dp
84 REAL(kind=dp) :: temp_tol_fast = -1.0_dp, temp_tol_slow = -1.0_dp
85 INTEGER :: n_resp_fast = -1
86 ! Velocity softening Parameters
87 INTEGER :: soften_nsteps = -1
88 REAL(kind=dp) :: soften_alpha = -1.0_dp
89 REAL(kind=dp) :: soften_delta = -1.0_dp
90 ! MD initialisation method
91 INTEGER :: initialization_method = -1
92 END TYPE simpar_type
93
94 PUBLIC :: simpar_type, &
97 CHARACTER(len=*), PARAMETER, PRIVATE :: modulen = 'simpar_types'
98
99CONTAINS
100! **************************************************************************************************
101!> \brief Creates the simulation parameters type
102!> \param simpar ...
103!> \author Teodoro Laino
104! **************************************************************************************************
105 SUBROUTINE create_simpar_type(simpar)
106 TYPE(simpar_type), POINTER :: simpar
107
108 cpassert(.NOT. ASSOCIATED(simpar))
109 ALLOCATE (simpar)
110 END SUBROUTINE create_simpar_type
111
112! **************************************************************************************************
113!> \brief Releases the simulation parameters type
114!> \param simpar ...
115!> \author Teodoro Laino
116! **************************************************************************************************
117 SUBROUTINE release_simpar_type(simpar)
118 TYPE(simpar_type), POINTER :: simpar
119
120 cpassert(ASSOCIATED(simpar))
121 DEALLOCATE (simpar)
122 END SUBROUTINE release_simpar_type
123
124END MODULE simpar_types
Calculation of the incomplete Gamma function F_n(t) for multi-center integrals over Cartesian Gaussia...
Definition gamma.F:15
Defines the basic variable types.
Definition kinds.F:23
integer, parameter, public dp
Definition kinds.F:34
Type for storing MD parameters.
subroutine, public release_simpar_type(simpar)
Releases the simulation parameters type.
subroutine, public create_simpar_type(simpar)
Creates the simulation parameters type.
Simulation parameter type for molecular dynamics.