m_ia_bond Module

Bond potentials

  • Style none: None
  • Style harm: Harmonic
  • Style fene: Shifted-FENE
  • Style kg : Kremer-Grest
  • Style tab : Tabulated

Uses

  • module~~m_ia_bond~~UsesGraph module~m_ia_bond m_ia_bond module~m_constants_math m_constants_math module~m_ia_bond->module~m_constants_math module~m_ia_types m_ia_types module~m_ia_bond->module~m_ia_types module~m_precision m_precision module~m_ia_bond->module~m_precision module~m_spline m_spline module~m_ia_bond->module~m_spline module~m_constants_math->module~m_precision module~m_ia_types->module~m_precision iso_fortran_env iso_fortran_env module~m_precision->iso_fortran_env

Used by

  • module~~m_ia_bond~~UsedByGraph module~m_ia_bond m_ia_bond module~m_interaction m_interaction module~m_interaction->module~m_ia_bond 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

Subroutines

public subroutine ia_bond_setup(specs)

Sets up parameters for bond potentials

Arguments

Type IntentOptional Attributes Name
type(ia_specs_t), intent(inout) :: specs

public subroutine ia_get_bond_energy(ri, rj, specs, enrg, ierr)

Calculates the energy due to a bond.

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in), dimension(3) :: ri

Coordinate of atom i

real(kind=rp), intent(in), dimension(3) :: rj

Coordinate of atom j

type(ia_specs_t), intent(in) :: specs
real(kind=rp), intent(out) :: enrg
integer, intent(out) :: ierr

public subroutine bond_harm(r, specs, enrg)

Calculates energy for harmonic bond interaction.

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: r
type(ia_specs_t), intent(in) :: specs
real(kind=rp), intent(out) :: enrg

public pure subroutine bond_fene(r, specs, enrg, ierr)

Calculates energy for FENE bond interaction. If bond length exceeds maximum extensible spring length, an error will be reported as ierr = 1. params(1) = kspring, params(2) = r0, params(3) = delta

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: r
type(ia_specs_t), intent(in) :: specs
real(kind=rp), intent(out) :: enrg
integer, intent(out) :: ierr

public subroutine bond_kg_set(specs)

Setter for FENE bond interaction. params(1) = kspring, params(2) = r0, params(3) = eps, params(4) = sigma cache(1) = r0^2, cache(2) = sigma^2, cache(3) = 2^(1/6)*sigma

Arguments

Type IntentOptional Attributes Name
type(ia_specs_t), intent(inout) :: specs

public pure subroutine bond_kg(r, specs, enrg, ierr)

Calculates energy for Kremer-Grest bond interaction. If bond length exceeds maximum extensible spring length, an error will be reported as ierr = 1.

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: r
type(ia_specs_t), intent(in) :: specs
real(kind=rp), intent(out) :: enrg
integer, intent(out) :: ierr

public subroutine bond_tab_set(specs)

Setter for tabulated interaction. params(1) = vtltmin, params(2) = vtgtmax, params(3) = intrp_meth, params(4) = flag_bc cache(1) = tmin, cache(2) = tmax

Arguments

Type IntentOptional Attributes Name
type(ia_specs_t), intent(inout) :: specs

public subroutine bond_tab(r, specs, enrg, ierr)

Calculates energy for tabulated interaction.

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in) :: r
type(ia_specs_t), intent(in) :: specs
real(kind=rp), intent(out) :: enrg
integer, intent(out) :: ierr