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.