m_ia_vdw Module

Vdw potentials

  • Style none: None
  • Style lj: Lennard-Jones (with cut-off)
  • Style hs: Hard sphere
  • Style sqw: Square-well potential
  • Style gauss: Gaussian potential
  • Style tab: Tabulated potential

Uses

  • module~~m_ia_vdw~~UsesGraph module~m_ia_vdw m_ia_vdw module~m_constants_math m_constants_math module~m_ia_vdw->module~m_constants_math module~m_ia_types m_ia_types module~m_ia_vdw->module~m_ia_types module~m_precision m_precision module~m_ia_vdw->module~m_precision module~m_spline m_spline module~m_ia_vdw->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_vdw~~UsedByGraph module~m_ia_vdw m_ia_vdw module~m_interaction m_interaction module~m_interaction->module~m_ia_vdw 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_vdw_setup(specs)

Sets up parameters for vdw potential.

Arguments

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

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

Calculates the energy due to a single interacting pair of atoms.

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 vdw_lj_set(specs)

Setter for LJ interaction. params(1) = eps, params(2) = sigma, params(3) = rcut cache(1) = sigma**2, cache(2) = U(rcut)

Arguments

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

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

Calculates energy for LJ interaction. params(1) = eps, params(2) = sigma, params(3) = rcut cache(1) = sigma**2, cache(2) = U(rcut)

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 pure subroutine vdw_hs(r, specs, enrg, ierr)

Calculates energy for hard sphere interaction. Overlap will be indicated with ierr = 1. params(1) = r1, params(2) = r2, params(3) = tol

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 pure subroutine vdw_sqwell(r, specs, enrg, ierr)

Calculates energy for square well interaction. Overlap will be indicated with ierr = 1. params(1) = eps, params(2) = sigma, params(3) = width

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 vdw_gaussian_set(specs)

Setter for Gaussian interaction. params(1) = A, params(2) = B, params(3) = rcut cache(1) = V(rcut)

Arguments

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

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

Calculates energy for Gaussian interaction. params(1) = A, params(2) = B, params(3) = rcut cache(1) = V(rcut)

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 vdw_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 vdw_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