class rgpot::LJClusterPot¶
Overview¶
Shifted 12-6 Lennard-Jones for isolated clusters. More…
#include <LJClusterPot.hpp>
class LJClusterPot: public rgpot::Potential< LJClusterPot > {
public:
// construction
LJClusterPot();
LJClusterPot(const LJClusterConfig& c);
// methods
const LJClusterConfig& config() const;
virtual uint64_t paramsKey() const;
virtual PotCaps caps() const;
void forceImpl(const ForceInput& in, ForceOut* out) const;
};
Detailed Documentation¶
Shifted 12-6 Lennard-Jones for isolated clusters.
Every pair within the cutoff contributes, with vectors taken straight from the coordinates: opt.periodic is off in all three directions, so the pair scan never folds a separation into the cell. A degenerate input cell (any non-positive diagonal entry) is replaced by a 1e6 Angstrom cube, which keeps the pair list cacheable for callers that hand over a cluster without a box.
Same pair kernel as LJPot with the minimum image convention switched off, so an input cell never folds pair vectors.
Methods¶
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.
virtual PotCaps caps() const
Free boundaries: the kernel ignores the cell and never applies the minimum image convention.
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.