interaction_m Module

Driver routines for force & energy calculation.


Uses

  • module~~interaction_m~~UsesGraph module~interaction_m interaction_m module~ia_dihedral_m ia_dihedral_m module~interaction_m->module~ia_dihedral_m module~ia_bond_m ia_bond_m module~interaction_m->module~ia_bond_m module~ia_vdw_m ia_vdw_m module~interaction_m->module~ia_vdw_m module~ia_external_m ia_external_m module~interaction_m->module~ia_external_m module~ia_angle_m ia_angle_m module~interaction_m->module~ia_angle_m module~table_m table_m module~interaction_m->module~table_m module~simbox_m simbox_m module~interaction_m->module~simbox_m module~constants_m constants_m module~interaction_m->module~constants_m module~pairtab_m pairtab_m module~interaction_m->module~pairtab_m module~ia_tether_m ia_tether_m module~interaction_m->module~ia_tether_m module~atmcfg_m atmcfg_m module~interaction_m->module~atmcfg_m module~stats_m stats_m module~interaction_m->module~stats_m module~control_m control_m module~interaction_m->module~control_m module~ia_dihedral_m->module~constants_m module~ia_dihedral_m->module~atmcfg_m module~ia_bond_m->module~constants_m module~logger_m logger_m module~ia_bond_m->module~logger_m module~strings_m strings_m module~ia_bond_m->module~strings_m module~ia_vdw_m->module~constants_m module~ia_vdw_m->module~atmcfg_m module~ia_external_m->module~constants_m module~ia_external_m->module~atmcfg_m module~ia_angle_m->module~constants_m module~ia_angle_m->module~atmcfg_m module~table_m->module~constants_m module~vector_m vector_m module~table_m->module~vector_m module~simbox_m->module~constants_m module~random_m random_m module~simbox_m->module~random_m iso_fortran_env iso_fortran_env module~constants_m->iso_fortran_env module~pairtab_m->module~table_m module~pairtab_m->module~simbox_m module~pairtab_m->module~constants_m module~pairtab_m->module~atmcfg_m module~connectivity_m connectivity_m module~pairtab_m->module~connectivity_m module~pairtab_m->module~vector_m module~cell_list_m cell_list_m module~pairtab_m->module~cell_list_m module~aabbtree_m aabbtree_m module~pairtab_m->module~aabbtree_m module~ia_tether_m->module~constants_m module~ia_tether_m->module~atmcfg_m module~atmcfg_m->module~constants_m module~stats_m->module~simbox_m module~stats_m->module~constants_m module~stats_m->module~atmcfg_m module~stats_m->module~control_m module~stats_m->module~strings_m module~control_m->module~constants_m module~control_m->module~strings_m module~connectivity_m->module~table_m module~connectivity_m->module~constants_m module~connectivity_m->module~vector_m module~logger_m->iso_fortran_env module~timestamp_m timestamp_m module~logger_m->module~timestamp_m module~vector_m->module~constants_m module~qsort_m qsort_m module~vector_m->module~qsort_m module~strings_m->module~constants_m module~cell_list_m->module~simbox_m module~cell_list_m->module~constants_m module~cell_list_m->module~vector_m module~random_m->module~constants_m mkl_vsl_type mkl_vsl_type module~random_m->mkl_vsl_type mkl_vsl mkl_vsl module~random_m->mkl_vsl module~aabbtree_m->module~constants_m module~aabbtree_m->module~vector_m module~aabbtree_m->module~strings_m module~aabb_m aabb_m module~aabbtree_m->module~aabb_m module~qsort_m->module~constants_m module~aabb_m->module~constants_m module~aabb_m->module~strings_m

Used by

  • module~~interaction_m~~UsedByGraph module~interaction_m interaction_m module~bd_solver_m bd_solver_m module~bd_solver_m->module~interaction_m module~setup_m setup_m module~setup_m->module~interaction_m module~setup_m->module~bd_solver_m program~main main program~main->module~setup_m

Contents


Variables

TypeVisibility AttributesNameInitial
type(itable_t), private :: pair_tab
logical, private :: lvdw

Subroutines

public subroutine ia_setup(cpar, simbox, atc)

Builds necessary neighbor tables and sets up parameters for potentials.

Arguments

Type IntentOptional AttributesName
type(ctrlpar_t), intent(in) :: cpar
type(smbx_t), intent(in) :: simbox
type(atmcfg_t), intent(inout) :: atc

public subroutine ia_finish()

Cleanup routine for interaction calculation.

Arguments

None

public subroutine ia_calc_forces(simbox, atc, ierr)

Calculates total forces and energies

Arguments

Type IntentOptional AttributesName
type(smbx_t), intent(in) :: simbox
type(atmcfg_t), intent(inout) :: atc
integer, intent(out) :: ierr

private subroutine ia_add_vdw_forces(simbox, atc, ierr)

Calculates force and energy due to all short-ranged non-bonded pairwise interactions based on pair_tab.

Arguments

Type IntentOptional AttributesName
type(smbx_t), intent(in) :: simbox
type(atmcfg_t), intent(inout) :: atc
integer, intent(out) :: ierr

private subroutine ia_add_bond_forces(simbox, atc, ierr)

Calculates forces & energy due to all bonds. Will add to energy_bond & and 'forcesin modulem_globals`.

Arguments

Type IntentOptional AttributesName
type(smbx_t), intent(in) :: simbox
type(atmcfg_t), intent(inout) :: atc
integer, intent(out) :: ierr

private subroutine ia_add_angle_forces(simbox, atc)

Calculates forces & energy due to all angles. Will add to energy_angle & 'forces`.

Arguments

Type IntentOptional AttributesName
type(smbx_t), intent(in) :: simbox
type(atmcfg_t), intent(inout) :: atc

private subroutine ia_add_dihedral_forces(simbox, atc)

Calculates forces & energy due to all dihedrals. Will add to energy_dihedral & 'forces`.

Arguments

Type IntentOptional AttributesName
type(smbx_t), intent(in) :: simbox
type(atmcfg_t), intent(inout) :: atc

private subroutine ia_add_tether_forces(atc, ierr)

Calculates forces & energy due to all tethers. Will add to energy_tether & 'forces`. Tether forces are not subject to periodic boundary conditions.

Arguments

Type IntentOptional AttributesName
type(atmcfg_t), intent(inout) :: atc
integer, intent(out) :: ierr