.. index:: pair: class; rgpot::TIP4PPot .. _doxid-classrgpot_1_1_t_i_p4_p_pot: class rgpot::TIP4PPot ===================== .. toctree:: :hidden: struct_rgpot_TIP4PPot_Impl.rst Overview ~~~~~~~~ Flexible TIP4P. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class TIP4PPot: public rgpot::Potential< TIP4PPot > { public: // structs struct :ref:`Impl`; // construction :target:`TIP4PPot`(); :target:`TIP4PPot`(const :ref:`WaterConfig`& config); :target:`TIP4PPot`(const TIP4PPot&); :target:`~TIP4PPot`(); // methods TIP4PPot& :target:`operator=`(const TIP4PPot&); const :ref:`WaterConfig`& :target:`config`() const; virtual :ref:`PotCaps` :ref:`caps`() const; virtual uint64_t :ref:`paramsKey`() const; void :target:`forceImpl`(const :ref:`ForceInput`& in, :ref:`ForceOut`* out) const; }; .. _details-classrgpot_1_1_t_i_p4_p_pot: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Flexible TIP4P. :ref:`Atoms ` are ordered H, H, ..., O, O, one molecule per three atoms. Methods ------- .. index:: pair: function; caps .. _doxid-classrgpot_1_1_t_i_p4_p_pot_1a91d3a43f8998834efe4a925bd6c74ada: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`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. .. index:: pair: function; paramsKey .. _doxid-classrgpot_1_1_t_i_p4_p_pot_1abfacee7e9c3d0d2feedde0b8a4dafc9e: .. ref-code-block:: cpp :class: doxyrest-title-code-block 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 :ref:`ParamHash.hpp `) plus a kernel-version salt that changes whenever the numerics change. The default (0) suits parameter-free potentials whose numerics never changed.