(git:6a2e663)
integrator_utils Module Reference

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

Functions/Subroutines

subroutine, public allocate_old (old, particle_set, npt)
 ... More...
 
subroutine, public deallocate_old (old)
 ... More...
 
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 More...
 
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 More...
 
subroutine, public get_s_ds (tmp, nparticle_kind, atomic_kind_set, local_particles, particle_set, dt, para_env, tmpv)
 ... More...
 
elemental subroutine, public damp_veps (npt, gamma1, dt)
 provides damping for barostat via nph_uniaxial_damped dynamics More...
 
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 More...
 
subroutine, public update_veps (box, npt, simpar, pv_kin, kin, virial, infree, virial_components)
 Routine to compute veps. More...
 
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. More...
 
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. More...
 
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. More...
 

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: