Skip to content

Lennard-Jones + Wolf

Description

The ljwolf_compute_force operator adds a Lennard-Jones term and a Wolf damped shifted Coulomb term:

\[ E(r) = E_{\mathrm{LJ}}(r) + E_{\mathrm{Wolf}}(r) \]

with

\[ E_{\mathrm{LJ}}(r) = \begin{cases} 4\varepsilon\left[\left(\dfrac{\sigma}{r}\right)^{12} - \left(\dfrac{\sigma}{r}\right)^{6}\right] - E_{\mathrm{shift}} & r \le r_{\mathrm{LJ}} \\ 0 & r > r_{\mathrm{LJ}} \end{cases} \qquad E_{\mathrm{Wolf}}(r) = \begin{cases} \dfrac{q_i q_j}{4\pi\varepsilon_0}\left[\dfrac{\operatorname{erfc}(\alpha r)}{r} - \dfrac{\operatorname{erfc}(\alpha r_c)}{r_c}\right] & r \le r_c \\ 0 & r > r_c \end{cases} \]

\(E_{\mathrm{shift}}\) is the Lennard-Jones energy at \(r_{\mathrm{LJ}}\) when shiftlj is true, 0 otherwise. The Wolf force is shifted so that it vanishes at \(r_c\), as described on the Wolf page. The charges \(q_i\), \(q_j\) are the species charges. The Wolf self energy is not included.

Parameter Units Description
lj_rcut distance Cutoff \(r_{\mathrm{LJ}}\) of the Lennard-Jones term (0 or missing disables it)
lj.epsilon energy Lennard-Jones well depth \(\varepsilon\)
lj.sigma distance Lennard-Jones distance \(\sigma\)
shiftlj — Shift the Lennard-Jones energy to zero at lj_rcut
cw.alpha 1/distance Wolf damping parameter \(\alpha\)
cw.rc distance Cutoff \(r_c\) of the Wolf term
rcut distance Cutoff radius of the pair potential, at least \(\max(r_{\mathrm{LJ}}, r_c)\)

Warning

Always set shiftlj explicitly: it has no reliable default for this potential.

YAML syntax

ljwolf_compute_force:
  rcut: VALUE UNITS
  parameters:
    lj_rcut: VALUE UNITS
    lj: { epsilon: VALUE UNITS , sigma: VALUE UNITS }
    shiftlj: BOOL
    cw: { alpha: VALUE UNITS^-1 , rc: VALUE UNITS }
  • VALUE = Physical value of the intended parameter.
  • UNITS = Units of the provided value that will be passed to the conversion helper for internal units conversion.

Usage examples

Systems with a single atomic specy

# Default variant
ljwolf_compute_force:
  rcut: 12.5 ang
  parameters:
    lj_rcut: 11.0 ang
    lj: { epsilon: 0.01 kcal/mol , sigma: 3.830864488 ang }
    shiftlj: true
    cw: { alpha: 0.2 1/ang , rc: 12.5 ang }

# Symetric variant
ljwolf_compute_force_symetric:
  rcut: 12.5 ang
  parameters:
    lj_rcut: 11.0 ang
    lj: { epsilon: 0.01 kcal/mol , sigma: 3.830864488 ang }
    shiftlj: true
    cw: { alpha: 0.2 1/ang , rc: 12.5 ang }

Systems with multiple atomic species

ljwolf_multi_force:
  rcut: 12.5 ang
  common_parameters: { lj_rcut: 11.0 ang , shiftlj: true , lj: { epsilon: 0.01 kcal/mol , sigma: 3.83 ang } , cw: { alpha: 0.2 1/ang , rc: 12.5 ang } }
  parameters:
    - { type_a: C , type_b: C , rcut: 12.5 ang , parameters: { lj_rcut: 11.0 ang , shiftlj: true , lj: { epsilon: 0.01 kcal/mol , sigma: 3.83 ang } , cw: { alpha: 0.2 1/ang , rc: 12.5 ang } } }
    - { type_a: C , type_b: N , rcut: 12.5 ang , parameters: { lj_rcut: 11.0 ang , shiftlj: true , lj: { epsilon: 0.01 kcal/mol , sigma: 3.83 ang } , cw: { alpha: 0.3 1/ang , rc: 12.5 ang } } }