CP2K 2.4 (Revision 12889)
Functions | Variables

force_env_utils Namespace Reference

Util force_env module. More...

Functions

subroutine, public force_env_shake (force_env, dt, shake_tol, log_unit, lagrange_mult, dump_lm, pos, vel, compold, reset, error)
 perform shake (enforcing of constraints)
subroutine, public force_env_rattle (force_env, dt, shake_tol, log_unit, lagrange_mult, dump_lm, vel, reset, error)
 perform rattle (enforcing of constraints on velocities) This routine can be easily adapted to performe rattle on whatever other vector different from forces..
subroutine, public rescale_forces (force_env, error)
 Rescale forces if requested.
subroutine, public write_stress_tensor (pv_virial, output_unit, cell, ndigits, numerical, error)
 Variable precision output of the stress tensor.
subroutine, public write_forces (particles, output_unit, label, ndigits, total_force, grand_total_force, error)
 Write forces.

Variables

CHARACTER(len=*), parameter,
private 
moduleN = 'force_env_utils'

Detailed Description

Util force_env module.

Author:
Teodoro Laino [tlaino] - 02.2011

Function Documentation

subroutine,public force_env_utils::force_env_rattle ( TYPE(force_env_type),pointer  force_env,
REAL(kind=dp),intent(in),optional  dt,
REAL(kind=dp),intent(in)  shake_tol,
INTEGER,intent(in),optional  log_unit,
INTEGER,intent(in),optional  lagrange_mult,
LOGICAL,intent(in),optional  dump_lm,
REAL(KIND=dp),dimension(:, :),intent(inout),optional,target  vel,
LOGICAL,intent(in),optional  reset,
TYPE(cp_error_type),intent(inout)  error 
)

perform rattle (enforcing of constraints on velocities) This routine can be easily adapted to performe rattle on whatever other vector different from forces..

Parameters:
force_envthe force env to shake
dtthe dt for shake (if you are not interested in the velocities it can be any positive number)
shake_tolthe tolerance for shake
log_unitif >0 then some information on the shake is printed, defaults to -1
errorvariable to control error logging, stopping,... see module cp_error_handling
Author:
tlaino

Definition at line 246 of file force_env_utils.f90.

References cp_subsys_types::cp_subsys_get(), CPPostcondition, error, force_env_types::force_env_get(), particle_set, constraint::rattle_control(), timings::timeset(), and particle_types::update_particle_set().

Referenced by md_vel_utils::setup_velocities().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public force_env_utils::force_env_shake ( TYPE(force_env_type),pointer  force_env,
REAL(kind=dp),intent(in),optional  dt,
REAL(kind=dp),intent(in)  shake_tol,
INTEGER,intent(in),optional  log_unit,
INTEGER,intent(in),optional  lagrange_mult,
LOGICAL,intent(in),optional  dump_lm,
REAL(KIND=dp),dimension(:, :),intent(inout),optional,target  pos,
REAL(KIND=dp),dimension(:, :),intent(inout),optional,target  vel,
LOGICAL,intent(in),optional  compold,
LOGICAL,intent(in),optional  reset,
TYPE(cp_error_type),intent(inout)  error 
)

perform shake (enforcing of constraints)

Parameters:
force_envthe force env to shake
dtthe dt for shake (if you are not interested in the velocities it can be any positive number)
shake_tolthe tolerance for shake
log_unitif >0 then some information on the shake is printed, defaults to -1
errorvariable to control error logging, stopping,... see module cp_error_handling
Author:
fawzi

Definition at line 66 of file force_env_utils.f90.

References cp_subsys_types::cp_subsys_get(), CPPostcondition, error, force_env_types::force_env_get(), constraint_util::getold(), particle_set, timings::timeset(), and particle_types::update_particle_set().

Referenced by f77_interface::do_shake().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public force_env_utils::rescale_forces ( TYPE(force_env_type),pointer  force_env,
TYPE(cp_error_type),intent(inout)  error 
)

Rescale forces if requested.

Parameters:
force_envthe force env to shake
errorvariable to control error logging, stopping,... see module cp_error_handling
Author:
tlaino

Definition at line 392 of file force_env_utils.f90.

References cp_subsys_types::cp_subsys_get(), force_env_types::force_env_get(), input_section_types::section_vals_get(), and timings::timeset().

Referenced by force_env_methods::force_env_calc_energy_force().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public force_env_utils::write_forces ( TYPE(particle_list_type),pointer  particles,
INTEGER,intent(in)  output_unit,
CHARACTER(LEN=*),intent(in)  label,
INTEGER,intent(in)  ndigits,
REAL(KIND=dp),dimension(3),intent(out)  total_force,
REAL(KIND=dp),dimension(3),intent(inout),optional  grand_total_force,
TYPE(cp_error_type),intent(inout)  error 
)

Write forces.

Author:
MK (06.09.2010)

Definition at line 512 of file force_env_utils.f90.

References error.

subroutine,public force_env_utils::write_stress_tensor ( REAL(KIND=dp),dimension(3, 3),intent(in)  pv_virial,
INTEGER,intent(in)  output_unit,
TYPE(cell_type),pointer  cell,
INTEGER,intent(in)  ndigits,
LOGICAL,intent(in)  numerical,
TYPE(cp_error_type),intent(inout)  error 
)

Variable precision output of the stress tensor.

Author:
MK (26.08.2010)

Definition at line 433 of file force_env_utils.f90.

References error, and physcon::pascal.


Variable Documentation

CHARACTER(len=*),parameter,private force_env_utils::moduleN = 'force_env_utils'

Definition at line 44 of file force_env_utils.f90.