class rgpot::ZBLPot¶
Overview¶
Universal screened nuclear repulsion with a switched cutoff. More…
#include <ZBLPot.hpp>
class ZBLPot: public rgpot::Potential< ZBLPot > {
public:
// construction
ZBLPot();
ZBLPot(const ZBLConfig& c);
// methods
const ZBLConfig& config() const;
virtual uint64_t paramsKey() const;
virtual PotCaps caps() const;
void forceImpl(const ForceInput& in, ForceOut* out) const;
};
Detailed Documentation¶
Universal screened nuclear repulsion with a switched cutoff.
Every pair within cut_global 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. Pairs come from the shared rgpot::nlist::PairListCache, and the per-species coefficient tables are built once per species set.
Construction¶
ZBLPot(const ZBLConfig& c)
Constructs the potential from its cutoff pair.
Parameters:
c |
Configuration; requires 0 < cut_inner < cut_global. |
std::invalid_argument |
when the cutoff ordering is violated. |
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.