ia_tether_m Module

Tether potentials

Style 0: None Style 1: Rigid connector (not implemented) *Style 2: Harmonic spring. See teth_harm_set.


Uses

  • module~~ia_tether_m~~UsesGraph module~ia_tether_m ia_tether_m module~constants_m constants_m module~ia_tether_m->module~constants_m module~atmcfg_m atmcfg_m module~ia_tether_m->module~atmcfg_m iso_fortran_env iso_fortran_env module~constants_m->iso_fortran_env module~atmcfg_m->module~constants_m

Used by

  • module~~ia_tether_m~~UsedByGraph module~ia_tether_m ia_tether_m module~interaction_m interaction_m module~interaction_m->module~ia_tether_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


Subroutines

public subroutine ia_tether_setup(num_tether_types, tether_styles, tether_params)

Sets up parameters for tether potentials

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: num_tether_types

Number of tether types

integer, intent(in), dimension(:):: tether_styles

Styles for each type

real(kind=rp), intent(inout), dimension(:,:):: tether_params

Parameters for each type, depending on style

public subroutine ia_get_tether_force(qmag, sty, params, enrg, frc, ierr)

Calculates the energy and its derivative due to a tether.

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(in) :: qmag

Distance between the tethered atom & the tether point

integer, intent(in) :: sty

Tether style

real(kind=rp), intent(in), dimension(:):: params

Parameters for tether interaction

real(kind=rp), intent(out) :: enrg

Energy due to this tether

real(kind=rp), intent(out) :: frc
integer, intent(out) :: ierr

Error flag

private subroutine teth_rigid_set(params, r0, eps)

Setter for rigid tether interaction.

Read more…

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(inout), dimension(:):: params
real(kind=rp), intent(in), optional :: r0
real(kind=rp), intent(in), optional :: eps

private subroutine teth_rigid(r, params, enrg, frc, ierr)

Not implemented, needs constraint formalism. See teth_rigid_set.

Read more…

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(in) :: r
real(kind=rp), intent(in), dimension(:):: params
real(kind=rp), intent(out) :: enrg
real(kind=rp), intent(out) :: frc
integer, intent(out) :: ierr

private subroutine teth_harm_set(params, k, r0)

Setter for harmonic tether interaction.

Read more…

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(inout), dimension(:):: params
real(kind=rp), intent(in), optional :: k
real(kind=rp), intent(in), optional :: r0

private subroutine teth_harm(r, params, enrg, frc)

Calculates energy and its derivative for harmonic tether interaction. See teth_harm_set.

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(in) :: r
real(kind=rp), intent(in), dimension(:):: params
real(kind=rp), intent(out) :: enrg
real(kind=rp), intent(out) :: frc