m_interaction Module

This module provides the potentials listed below. Parameters for each potential is given by the vector params of maximum length mxparam.


Uses

  • module~~m_interaction~~UsesGraph module~m_interaction m_interaction module~m_constants_math m_constants_math module~m_interaction->module~m_constants_math module~m_globals m_globals module~m_interaction->module~m_globals module~m_ia_angle m_ia_angle module~m_interaction->module~m_ia_angle module~m_ia_bond m_ia_bond module~m_interaction->module~m_ia_bond module~m_ia_dihedral m_ia_dihedral module~m_interaction->module~m_ia_dihedral module~m_ia_external m_ia_external module~m_interaction->module~m_ia_external module~m_ia_tether m_ia_tether module~m_interaction->module~m_ia_tether module~m_ia_vdw m_ia_vdw module~m_interaction->module~m_ia_vdw module~m_nbr_lists m_nbr_lists module~m_interaction->module~m_nbr_lists module~m_precision m_precision module~m_interaction->module~m_precision module~m_qsort m_qsort module~m_interaction->module~m_qsort module~m_constants_math->module~m_precision module~m_globals->module~m_precision module~m_ia_types m_ia_types module~m_globals->module~m_ia_types module~m_trajectory m_trajectory module~m_globals->module~m_trajectory module~m_ia_angle->module~m_constants_math module~m_ia_angle->module~m_precision module~m_ia_angle->module~m_ia_types module~m_spline m_spline module~m_ia_angle->module~m_spline module~m_ia_bond->module~m_constants_math module~m_ia_bond->module~m_precision module~m_ia_bond->module~m_ia_types module~m_ia_bond->module~m_spline module~m_ia_dihedral->module~m_constants_math module~m_ia_dihedral->module~m_precision module~m_ia_dihedral->module~m_ia_types module~m_ia_external->module~m_constants_math module~m_ia_external->module~m_precision module~m_ia_external->module~m_ia_types module~m_ia_tether->module~m_constants_math module~m_ia_tether->module~m_precision module~m_ia_tether->module~m_ia_types module~m_ia_vdw->module~m_constants_math module~m_ia_vdw->module~m_precision module~m_ia_vdw->module~m_ia_types module~m_ia_vdw->module~m_spline module~m_nbr_lists->module~m_globals module~m_nbr_lists->module~m_precision module~m_table m_table module~m_nbr_lists->module~m_table module~m_vector m_vector module~m_nbr_lists->module~m_vector iso_fortran_env iso_fortran_env module~m_precision->iso_fortran_env module~m_qsort->module~m_precision module~m_ia_types->module~m_precision module~m_table->module~m_precision module~m_table->module~m_vector module~m_trajectory->module~m_precision module~m_vector->module~m_precision module~m_vector->module~m_qsort

Used by

  • module~~m_interaction~~UsedByGraph module~m_interaction m_interaction module~m_mc_moves m_mc_moves module~m_mc_moves->module~m_interaction module~m_mc_solver m_mc_solver module~m_mc_solver->module~m_interaction module~m_mc_solver->module~m_mc_moves module~m_setup m_setup module~m_setup->module~m_interaction module~m_setup->module~m_mc_solver program~main main program~main->module~m_mc_solver program~main->module~m_setup

Variables

Type Visibility Attributes Name Initial
real(kind=rp), public, dimension(:), allocatable :: xbuf
integer, public, dimension(:), allocatable :: indx_xsorted

Subroutines

public subroutine ia_setup()

Sets up parameters for potentials

Arguments

None

public subroutine ia_calc_energy(ierr)

Calculates total energy

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: ierr

public subroutine ia_calc_vdw_energy(ierr)

Calculates total energy due to short-ranged non-bonded pairwise interactions. Uses direct N^2 calculation. Will overwrite energy_vdw in module m_globals.

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: ierr

public subroutine ia_calc_vdw_energy_vl(ierr)

Calculates total energy due to short-ranged pairwise interactions. Uses Verlet list. The Verlet list takes care of excluded atoms.

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: ierr

public subroutine ia_calc_atm_vdw_energy(iatm, enrg_atm, ierr)

Calculates the pair energy of a single atom. No Verlet list is used.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: iatm
real(kind=rp), intent(out) :: enrg_atm
integer, intent(out) :: ierr

public subroutine ia_calc_atm_vdw_energy_vl(iatm, enrg_atm, ierr)

Calculates the pair energy of a single atom using Verlet list. The Verlet list takes care of excluded atoms.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: iatm
real(kind=rp), intent(out) :: enrg_atm
integer, intent(out) :: ierr

public subroutine ia_calc_bond_energy(ierr)

Calculates total bond energy. Will overwrite energy_bond in module m_globals.

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: ierr

public subroutine ia_calc_atm_bond_energy(iatm, enrg_atm, ierr)

Calculates the bond energy of a single atom.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: iatm
real(kind=rp), intent(out) :: enrg_atm
integer, intent(out) :: ierr

public subroutine ia_calc_angle_energy()

Calculates total angular energy. Will overwrite energy_angle in module m_globals.

Arguments

None

public subroutine ia_calc_atm_angle_energy(iatm, enrg_atm)

Calculates the angle energy due to a single atom.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: iatm
real(kind=rp), intent(out) :: enrg_atm

public subroutine ia_calc_dihedral_energy()

Calculates total dihedral energy. Will overwrite energy_dihedral in module m_globals.

Arguments

None

public subroutine ia_calc_atm_dihedral_energy(iatm, enrg_atm)

Calculates the dihedral energy due to a single atom.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: iatm
real(kind=rp), intent(out) :: enrg_atm

public subroutine ia_calc_tether_energy(ierr)

Calculates total tether energy. Will overwrite energy_tether in module m_globals.

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: ierr

public subroutine ia_calc_atm_tether_energy(iatm, enrg_atm, ierr)

Calculates the tether energy due to a single atom.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: iatm
real(kind=rp), intent(out) :: enrg_atm
integer, intent(out) :: ierr

public subroutine ia_calc_external_energy(ierr)

Calculates total energy due to external fields. Will overwrite energy_external in module m_globals.

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: ierr