![]() |
(git:b77b4be)
|
calculation section for TreeMonteCarlo More...
Functions/Subroutines | |
subroutine, public | calc_potential_energy (conf, env_id, exact_approx_pot, tmc_env) |
start the calculation of the energy (distinguish between exact and approximate) | |
subroutine, public | get_scaled_cell (cell, box_scale, scaled_hmat, scaled_cell, vol, abc, vec) |
handles properties and calculations of a scaled cell | |
subroutine, public | get_cell_scaling (cell, scaled_hmat, box_scale) |
handles properties and calculations of a scaled cell | |
real(kind=dp) function, public | nearest_distance (x1, x2, cell, box_scale) |
neares distance of atoms within the periodic boundary condition | |
subroutine, public | geometrical_center (pos, center) |
calculate the geometrical center of an amount of atoms array size should be multiple of dim_per_elem | |
subroutine, public | center_of_mass (pos, atoms, center) |
calculate the center of mass of an amount of atoms array size should be multiple of dim_per_elem | |
subroutine, public | init_vel (vel, atoms, temerature, rng_stream, rnd_seed) |
routine sets initial velocity, using the Box-Muller Method for Normal (Gaussian) Deviates | |
real(kind=dp) function, public | calc_e_kin (vel, atoms) |
routine calculates the kinetic energy, using the velocities and atom mass, both in atomic units | |
real(kind=dp) function, public | compute_estimated_prob (elem_old, elem_new, e_classical_diff, rnd_nr, beta, tmc_params) |
extimates the probability of acceptance considering the intermetiate step energies | |
subroutine, public | get_subtree_efficiency (tmc_env, eff) |
calculated the rate of used tree elements to created tree elements for every temperature | |
calculation section for TreeMonteCarlo
subroutine, public tmc_calculations::calc_potential_energy | ( | type(tree_type), pointer | conf, |
integer | env_id, | ||
logical | exact_approx_pot, | ||
type(tmc_env_type), pointer | tmc_env | ||
) |
start the calculation of the energy (distinguish between exact and approximate)
conf | actual configurations to calculate potential energy |
env_id | f77_interface env id |
exact_approx_pot | flag if result should be stores in exact or approx energy variable |
tmc_env | TMC environment parameters |
Definition at line 65 of file tmc_calculations.F.
subroutine, public tmc_calculations::get_scaled_cell | ( | type(cell_type), intent(in), pointer | cell, |
real(kind=dp), dimension(:), pointer | box_scale, | ||
real(kind=dp), dimension(3, 3), optional | scaled_hmat, | ||
type(cell_type), optional, pointer | scaled_cell, | ||
real(kind=dp), optional | vol, | ||
real(kind=dp), dimension(3), intent(out), optional | abc, | ||
real(kind=dp), dimension(3), optional | vec | ||
) |
handles properties and calculations of a scaled cell
cell | original cell |
box_scale | scaling factors for each direction |
scaled_hmat | returns the scaled h matrix (matrix of cell vectors) |
scaled_cell | ... |
vol | returns the cell volume |
abc | ... |
vec | a vector, which will be folded (pbc) in the cell |
Definition at line 151 of file tmc_calculations.F.
subroutine, public tmc_calculations::get_cell_scaling | ( | type(cell_type), intent(in), pointer | cell, |
real(kind=dp), dimension(3, 3), intent(in) | scaled_hmat, | ||
real(kind=dp), dimension(:), intent(out) | box_scale | ||
) |
handles properties and calculations of a scaled cell
cell | original cell |
scaled_hmat | returns the scaled h matrix (matrix of cell vectors) |
box_scale | scaling factors for each direction |
Definition at line 201 of file tmc_calculations.F.
real(kind=dp) function, public tmc_calculations::nearest_distance | ( | real(kind=dp), dimension(:) | x1, |
real(kind=dp), dimension(:) | x2, | ||
type(cell_type), pointer | cell, | ||
real(kind=dp), dimension(:), optional, pointer | box_scale | ||
) |
neares distance of atoms within the periodic boundary condition
x1 | ... |
x2 | ... |
cell | ... |
box_scale | ... |
Definition at line 232 of file tmc_calculations.F.
subroutine, public tmc_calculations::geometrical_center | ( | real(kind=dp), dimension(:) | pos, |
real(kind=dp), dimension(:), pointer | center | ||
) |
calculate the geometrical center of an amount of atoms array size should be multiple of dim_per_elem
pos | list of atoms |
center | return value, the geometrical center |
Definition at line 267 of file tmc_calculations.F.
subroutine, public tmc_calculations::center_of_mass | ( | real(kind=dp), dimension(:) | pos, |
type(tmc_atom_type), dimension(:), optional | atoms, | ||
real(kind=dp), dimension(:), pointer | center | ||
) |
calculate the center of mass of an amount of atoms array size should be multiple of dim_per_elem
pos | ... |
atoms | ... |
center | ... |
param
Definition at line 300 of file tmc_calculations.F.
subroutine, public tmc_calculations::init_vel | ( | real(kind=dp), dimension(:), pointer | vel, |
type(tmc_atom_type), dimension(:), pointer | atoms, | ||
real(kind=dp) | temerature, | ||
type(rng_stream_type), intent(inout) | rng_stream, | ||
real(kind=dp), dimension(3, 2, 3) | rnd_seed | ||
) |
routine sets initial velocity, using the Box-Muller Method for Normal (Gaussian) Deviates
vel | ... |
atoms | ... |
temerature | ... |
rng_stream | ... |
rnd_seed | ... |
Definition at line 347 of file tmc_calculations.F.
real(kind=dp) function, public tmc_calculations::calc_e_kin | ( | real(kind=dp), dimension(:), pointer | vel, |
type(tmc_atom_type), dimension(:), pointer | atoms | ||
) |
routine calculates the kinetic energy, using the velocities and atom mass, both in atomic units
vel | ... |
atoms | ... |
Definition at line 384 of file tmc_calculations.F.
real(kind=dp) function, public tmc_calculations::compute_estimated_prob | ( | type(tree_type), pointer | elem_old, |
type(tree_type), pointer | elem_new, | ||
real(kind=dp) | e_classical_diff, | ||
real(kind=dp) | rnd_nr, | ||
real(kind=dp) | beta, | ||
type(tmc_param_type), pointer | tmc_params | ||
) |
extimates the probability of acceptance considering the intermetiate step energies
elem_old | old/parent sub tree element |
elem_new | new/actual sub tree element, which schould be checked |
E_classical_diff | difference in the classical energy of the old and new configuration |
rnd_nr | random number acceptance check will be done with |
beta | 1/(kB*T) can differ for different acceptance checks |
tmc_params | TMC environment parameters |
Definition at line 520 of file tmc_calculations.F.
subroutine, public tmc_calculations::get_subtree_efficiency | ( | type(tmc_env_type), pointer | tmc_env, |
real(kind=dp), dimension(:), pointer | eff | ||
) |
calculated the rate of used tree elements to created tree elements for every temperature
tmc_env | TMC environment variables |
eff | result efficiency |
Definition at line 601 of file tmc_calculations.F.