vdw_lj_coul_debye_set Subroutine

private subroutine vdw_lj_coul_debye_set(params, eps, sigma, rcut, rcut_coul, C, kappa)

Setter for 12-6 LJ with screened Coulombic interaction.

The potential U is given by:

 V = 4*eps*[(r/sigma)^12 - (r/sigma)^6]
 W = C*qi*qj*exp(-kappa*r)/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 screened 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
  • params(6) = kappa

Internally stored parameters:

  • params(7) = V(rcut)
  • params(8) = C*exp(-kappa*rcut_coul)/rcut_coul

Arguments

Type IntentOptional Attributes Name
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
real(kind=rp), intent(in), optional :: kappa

Called by

proc~~vdw_lj_coul_debye_set~~CalledByGraph proc~vdw_lj_coul_debye_set vdw_lj_coul_debye_set proc~ia_vdw_setup ia_vdw_setup proc~ia_vdw_setup->proc~vdw_lj_coul_debye_set proc~ia_setup ia_setup proc~ia_setup->proc~ia_vdw_setup proc~run run proc~run->proc~ia_setup program~main main program~main->proc~run