class rgpot::LJPot¶
Overview¶
Implementation of a shifted 12-6 Lennard-Jones potential. More…
Detailed Documentation¶
Implementation of a shifted 12-6 Lennard-Jones potential.
Pairwise interactions within the cutoff radius, minimum image convention with the full cell. Pairs come from the shared rgpot::nlist::PairListCache (the eOn PairListCache design): repeated evaluations on nearby geometries reuse a Verlet-skin cached candidate list, and one-shot evaluations run a single fused scan identical in pair content to the historical per-call double loop.
With LJConfig::switch_width set, each pair term is the unshifted 12-6 energy times the C^2 quintic switch of PairSwitch.hpp, so energy, force and curvature reach zero at the cutoff; otherwise the energy is shifted to zero there and the force jumps.
Methods¶
virtual PotCaps caps() const
Concurrency and evaluation capabilities of this potential.
Multi-threaded callers (NEB images, dimer endpoints) derive their sharing and cloning policy from this instead of hard-coded lists.
virtual uint64_t paramsKey() const
Fingerprint of the potential’s parameter set.
Mixed into the result-cache key so results never cross parameter sets. Implementations hash their config field by field (see ParamHash.hpp) plus a kernel-version salt that changes whenever the numerics change. The default (0) suits parameter-free potentials whose numerics never changed.
void forceImpl(const ForceInput& in, ForceOut* out) const
Computes the forces and energy for a given configuration.
Parameters:
in |
Structure containing coordinates and cell info. |
out |
Pointer to the results structure. |
Returns:
Void.