vdw_lj_coul_set Subroutine

private subroutine vdw_lj_coul_set(params, eps, sigma, rcut, rcut_coul, C)

Setter for 12-6 LJ with Coulombic interaction.

The potential U is given by:

 V = 4*eps*[(r/sigma)^12 - (r/sigma)^6]
 W = C*qi*qj/r
 if rcut_coul > 0:
     U = V - V(rcut) + W - W(rcut_coul), r < rcut
         W - W(rcut_coul), rcut <= r < rcut_coul
         0, r >= rcut_coul
 if rcut_coul <= 0:
     U = V - V(rcut) + W, r < rcut
         W, r >= rcut
  • The LJ potential V is cut & shifted at r = rcut.
  • If rcut_coul > 0, the Coulombic potential W is cut & shifted at r = rcut_coul.
  • If rcut_coul <= 0, no cutoff is applied on W.
  • rcut_coul must be >= rcut.

User-set parameters:

  • params(1) = eps
  • params(2) = sigma
  • params(3) = rcut
  • params(4) = rcut_coul
  • params(5) = C

Internally stored parameters:

  • params(6) = V(rcut)
  • params(7) = C/rcut_coul

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(inout), dimension(:):: params
real(kind=rp), intent(in), optional :: eps
real(kind=rp), intent(in), optional :: sigma
real(kind=rp), intent(in), optional :: rcut
real(kind=rp), intent(in), optional :: rcut_coul
real(kind=rp), intent(in), optional :: C

Contents

None