18 #include "../base/base_uses.f90"
24 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'tmc_move_types'
44 REAL(kind=
dp),
DIMENSION(:),
ALLOCATABLE :: mv_weight
47 REAL(kind=
dp),
DIMENSION(:, :),
ALLOCATABLE :: mv_size
50 REAL(kind=
dp),
DIMENSION(:, :),
ALLOCATABLE :: acc_prob
53 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: mv_count
56 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: acc_count
61 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: subbox_acc_count
62 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: subbox_count
63 TYPE(list_atoms),
DIMENSION(:),
POINTER :: atom_lists => null()
70 END TYPE tmc_move_type
73 CHARACTER(LEN=default_string_length), &
74 DIMENSION(:),
POINTER :: atoms => null()
86 TYPE(tmc_move_type),
POINTER :: move_types
89 cpassert(.NOT.
ASSOCIATED(move_types))
93 move_types%mv_weight(:) = 0.0_dp
95 move_types%mv_size(:, :) = 0.0_dp
96 ALLOCATE (move_types%acc_prob(0:
nr_mv_types, nr_temp))
97 move_types%acc_prob(:, :) = 0.0_dp
98 ALLOCATE (move_types%mv_count(0:
nr_mv_types, nr_temp))
99 move_types%mv_count(:, :) = 0
100 ALLOCATE (move_types%acc_count(0:
nr_mv_types, nr_temp))
101 move_types%acc_count(:, :) = 0
102 ALLOCATE (move_types%subbox_acc_count(
nr_mv_types, nr_temp))
103 move_types%subbox_acc_count(:, :) = 0
104 ALLOCATE (move_types%subbox_count(
nr_mv_types, nr_temp))
105 move_types%subbox_count(:, :) = 0
106 NULLIFY (move_types%atom_lists)
116 TYPE(tmc_move_type),
POINTER :: move_types
118 cpassert(
ASSOCIATED(move_types))
120 IF (
ASSOCIATED(move_types%atom_lists))
DEALLOCATE (move_types%atom_lists)
121 DEALLOCATE (move_types%mv_weight)
122 DEALLOCATE (move_types%mv_size)
123 DEALLOCATE (move_types%acc_prob)
124 DEALLOCATE (move_types%mv_count)
125 DEALLOCATE (move_types%acc_count)
126 DEALLOCATE (move_types%subbox_acc_count)
127 DEALLOCATE (move_types%subbox_count)
128 DEALLOCATE (move_types)
Defines the basic variable types.
integer, parameter, public dp
integer, parameter, public default_string_length
tree nodes creation, searching, deallocation, references etc.
integer, parameter, public mv_type_mol_rot
integer, parameter, public mv_type_volume_move
integer, parameter, public mv_type_proton_reorder
integer, parameter, public mv_type_swap_conf
integer, parameter, public mv_type_md
integer, parameter, public mv_type_mol_trans
subroutine, public move_types_create(move_types, nr_temp)
allocating the module variables
integer, parameter, public mv_type_atom_swap
integer, parameter, public mv_type_gausian_adapt
integer, parameter, public mv_type_atom_trans
integer, parameter, public nr_mv_types
integer, parameter, public mv_type_nmc_moves
subroutine, public move_types_release(move_types)
deallocating the module variables
integer, parameter, public mv_type_none