class rgpot::TIP4PPot¶
Overview¶
Flexible TIP4P. More…
#include <WaterPots.hpp>
class TIP4PPot: public rgpot::Potential< TIP4PPot > {
public:
// structs
struct Impl;
// construction
TIP4PPot();
TIP4PPot(const WaterConfig& config);
TIP4PPot(const TIP4PPot&);
~TIP4PPot();
// methods
TIP4PPot& operator=(const TIP4PPot&);
const WaterConfig& config() const;
virtual PotCaps caps() const;
virtual uint64_t paramsKey() const;
void forceImpl(const ForceInput& in, ForceOut* out) const;
};
Detailed Documentation¶
Flexible TIP4P. Atoms are ordered H, H, …, O, O, one molecule per three atoms.
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.