(git:691081d)
Loading...
Searching...
No Matches
integrator_utils Module Reference

Provides integrator utility routines for the integrators. More...

Data Types

type  old_variables_type
type  tmp_variables_type
interface  set
interface  update_pv
interface  damp_v

Functions/Subroutines

subroutine, public allocate_old (old, particle_set, npt)
 ...
subroutine, public deallocate_old (old)
 ...
subroutine, public allocate_tmp (md_env, tmp, nparticle, nshell, shell_adiabatic)
 allocate temporary variables to store positions and velocities used by the velocity-verlet integrator
subroutine, public update_dealloc_tmp (tmp, particle_set, shell_particle_set, core_particle_set, para_env, shell_adiabatic, pos, vel, should_deall_vel)
 update positions and deallocate temporary variable
subroutine, public get_s_ds (tmp, nparticle_kind, atomic_kind_set, local_particles, particle_set, dt, para_env, tmpv)
 ...
elemental subroutine, public damp_veps (npt, gamma1, dt)
 provides damping for barostat via nph_uniaxial_damped dynamics
subroutine, public rattle_roll_setup (old, gci, atomic_kind_set, particle_set, local_particles, molecule_kind_set, molecule_set, local_molecules, vel, dt, cell, npt, simpar, virial, vector_v, roll_tol, iroll, infree, first, para_env, u)
 update veps using multiplier obtained from SHAKE
subroutine, public update_veps (box, npt, simpar, pv_kin, kin, virial, infree, virial_components)
 Routine to compute veps.
subroutine, public vv_first (tmp, atomic_kind_set, local_particles, particle_set, core_particle_set, shell_particle_set, nparticle_kind, shell_adiabatic, dt, u, lfixd_list)
 First half of the velocity-verlet algorithm : update velocity by half step and positions by full step.
subroutine, public vv_second (tmp, atomic_kind_set, local_particles, particle_set, core_particle_set, shell_particle_set, nparticle_kind, shell_adiabatic, dt, u)
 Second half of the velocity-verlet algorithm : update velocity by half step using the new forces.
subroutine, public variable_timestep (md_env, tmp, dt, simpar, para_env, atomic_kind_set, local_particles, particle_set, core_particle_set, shell_particle_set, nparticle_kind, shell_adiabatic, npt)
 Compute the timestep rescaling factor.

Detailed Description

Provides integrator utility routines for the integrators.

History
Teodoro Laino [tlaino] 02.2008 - Splitting from integrator and creation Teodoro Laino [tlaino] 12.2008 - Preparing for VIRTUAL SITE constraints (patch by Marcel Baer)

Function/Subroutine Documentation

◆ allocate_old()

subroutine, public integrator_utils::allocate_old ( type(old_variables_type), pointer old,
type(particle_type), dimension(:), pointer particle_set,
type(npt_info_type), dimension(:, :), pointer npt )

...

Parameters
old...
particle_set...
npt...
History
none
Author
CJM

Definition at line 115 of file integrator_utils.F.

◆ deallocate_old()

subroutine, public integrator_utils::deallocate_old ( type(old_variables_type), pointer old)

...

Parameters
old...
History
none
Author
CJM

Definition at line 148 of file integrator_utils.F.

◆ allocate_tmp()

subroutine, public integrator_utils::allocate_tmp ( type(md_environment_type), pointer md_env,
type(tmp_variables_type), pointer tmp,
integer, intent(in) nparticle,
integer, intent(in) nshell,
logical, intent(in) shell_adiabatic )

allocate temporary variables to store positions and velocities used by the velocity-verlet integrator

Parameters
md_env...
tmp...
nparticle...
nshell...
shell_adiabatic...
History
none
Author
MI (February 2008)

Definition at line 184 of file integrator_utils.F.

Here is the call graph for this function:

◆ update_dealloc_tmp()

subroutine, public integrator_utils::update_dealloc_tmp ( type(tmp_variables_type), pointer tmp,
type(particle_type), dimension(:), pointer particle_set,
type(particle_type), dimension(:), pointer shell_particle_set,
type(particle_type), dimension(:), pointer core_particle_set,
type(mp_para_env_type), pointer para_env,
logical, intent(in) shell_adiabatic,
logical, intent(in), optional pos,
logical, intent(in), optional vel,
logical, intent(in), optional should_deall_vel )

update positions and deallocate temporary variable

Parameters
tmp...
particle_set...
shell_particle_set...
core_particle_set...
para_env...
shell_adiabatic...
pos...
vel...
should_deall_vel...
History
none
Author
MI (February 2008)

Definition at line 258 of file integrator_utils.F.

Here is the call graph for this function:

◆ get_s_ds()

subroutine, public integrator_utils::get_s_ds ( type(tmp_variables_type), pointer tmp,
integer nparticle_kind,
type(atomic_kind_type), dimension(:), pointer atomic_kind_set,
type(distribution_1d_type), pointer local_particles,
type(particle_type), dimension(:), pointer particle_set,
real(kind=dp) dt,
type(mp_para_env_type), pointer para_env,
logical, intent(in), optional tmpv )

...

Parameters
tmp...
nparticle_kind...
atomic_kind_set...
local_particles...
particle_set...
dt...
para_env...
tmpv...
History
  • Created [2004-07]
Author
Joost VandeVondele

Definition at line 328 of file integrator_utils.F.

Here is the call graph for this function:

◆ damp_veps()

elemental subroutine, public integrator_utils::damp_veps ( type(npt_info_type), intent(inout) npt,
real(kind=dp), intent(in) gamma1,
real(kind=dp), intent(in) dt )

provides damping for barostat via nph_uniaxial_damped dynamics

Parameters
npt...
gamma1...
dt...
History
none
Author
CJM

Definition at line 672 of file integrator_utils.F.

◆ rattle_roll_setup()

subroutine, public integrator_utils::rattle_roll_setup ( type(old_variables_type), pointer old,
type(global_constraint_type), pointer gci,
type(atomic_kind_type), dimension(:), pointer atomic_kind_set,
type(particle_type), dimension(:), pointer particle_set,
type(distribution_1d_type), pointer local_particles,
type(molecule_kind_type), dimension(:), pointer molecule_kind_set,
type(molecule_type), dimension(:), pointer molecule_set,
type(distribution_1d_type), pointer local_molecules,
real(kind=dp), dimension(:, :), intent(inout) vel,
real(kind=dp), intent(in) dt,
type(cell_type), pointer cell,
type(npt_info_type), dimension(:, :), pointer npt,
type(simpar_type), intent(in) simpar,
type(virial_type), pointer virial,
real(kind=dp), dimension(:), intent(in) vector_v,
real(kind=dp), intent(out) roll_tol,
integer, intent(inout) iroll,
real(kind=dp), intent(in) infree,
logical, intent(inout) first,
type(mp_para_env_type), intent(in) para_env,
real(kind=dp), dimension(:, :), intent(in), optional u )

update veps using multiplier obtained from SHAKE

Parameters
old...
gci...
atomic_kind_set...
particle_set...
local_particles...
molecule_kind_set...
molecule_set...
local_molecules...
vel...
dt...
cell...
npt...
simpar...
virial...
vector_v...
roll_tol...
iroll...
infree...
first...
para_env...
u...
History
none
Author
CJM

Definition at line 713 of file integrator_utils.F.

Here is the call graph for this function:

◆ update_veps()

subroutine, public integrator_utils::update_veps ( type(cell_type), pointer box,
type(npt_info_type), dimension(:, :), intent(inout) npt,
type(simpar_type), intent(in) simpar,
real(kind=dp), dimension(:, :), intent(in) pv_kin,
real(kind=dp), intent(in) kin,
type(virial_type), intent(inout) virial,
real(kind=dp), intent(in) infree,
integer, intent(in), optional virial_components )

Routine to compute veps.

Parameters
box...
npt...
simpar...
pv_kin...
kin...
virial...
infree...
virial_components...
History
none
Author
CJM

Definition at line 935 of file integrator_utils.F.

Here is the caller graph for this function:

◆ vv_first()

subroutine, public integrator_utils::vv_first ( type(tmp_variables_type), pointer tmp,
type(atomic_kind_type), dimension(:), pointer atomic_kind_set,
type(distribution_1d_type), pointer local_particles,
type(particle_type), dimension(:), pointer particle_set,
type(particle_type), dimension(:), pointer core_particle_set,
type(particle_type), dimension(:), pointer shell_particle_set,
integer, intent(in) nparticle_kind,
logical, intent(in) shell_adiabatic,
real(kind=dp) dt,
real(kind=dp), dimension(3, 3), optional u,
type(local_fixd_constraint_type), dimension(:), optional lfixd_list )

First half of the velocity-verlet algorithm : update velocity by half step and positions by full step.

Parameters
tmp...
atomic_kind_set...
local_particles...
particle_set...
core_particle_set...
shell_particle_set...
nparticle_kind...
shell_adiabatic...
dt...
u...
lfixd_list...
History
none
Author
MI (February 2008)

Definition at line 1125 of file integrator_utils.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vv_second()

subroutine, public integrator_utils::vv_second ( type(tmp_variables_type), pointer tmp,
type(atomic_kind_type), dimension(:), pointer atomic_kind_set,
type(distribution_1d_type), pointer local_particles,
type(particle_type), dimension(:), pointer particle_set,
type(particle_type), dimension(:), pointer core_particle_set,
type(particle_type), dimension(:), pointer shell_particle_set,
integer, intent(in) nparticle_kind,
logical, intent(in) shell_adiabatic,
real(kind=dp) dt,
real(kind=dp), dimension(3, 3), optional u )

Second half of the velocity-verlet algorithm : update velocity by half step using the new forces.

Parameters
tmp...
atomic_kind_set...
local_particles...
particle_set...
core_particle_set...
shell_particle_set...
nparticle_kind...
shell_adiabatic...
dt...
u...
History
none
Author
MI (February 2008)

Definition at line 1340 of file integrator_utils.F.

Here is the call graph for this function:

◆ variable_timestep()

subroutine, public integrator_utils::variable_timestep ( type(md_environment_type), pointer md_env,
type(tmp_variables_type), pointer tmp,
real(kind=dp), intent(inout) dt,
type(simpar_type), pointer simpar,
type(mp_para_env_type), pointer para_env,
type(atomic_kind_type), dimension(:), pointer atomic_kind_set,
type(distribution_1d_type), pointer local_particles,
type(particle_type), dimension(:), pointer particle_set,
type(particle_type), dimension(:), pointer core_particle_set,
type(particle_type), dimension(:), pointer shell_particle_set,
integer, intent(in) nparticle_kind,
logical, intent(in) shell_adiabatic,
type(npt_info_type), dimension(:, :), optional, pointer npt )

Compute the timestep rescaling factor.

Parameters
md_env...
tmp...
dt...
simpar...
para_env...
atomic_kind_set...
local_particles...
particle_set...
core_particle_set...
shell_particle_set...
nparticle_kind...
shell_adiabatic...
npt...
History
none
Author
MI (October 2008)

Definition at line 1556 of file integrator_utils.F.

Here is the call graph for this function: