.. index:: pair: class; rgpot::ZBLPot .. _doxid-classrgpot_1_1_z_b_l_pot: class rgpot::ZBLPot =================== .. toctree:: :hidden: Overview ~~~~~~~~ Universal screened nuclear repulsion with a switched cutoff. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class ZBLPot: public rgpot::Potential< ZBLPot > { public: // construction :target:`ZBLPot`(); :ref:`ZBLPot`(const :ref:`ZBLConfig`& c); // methods const :ref:`ZBLConfig`& :target:`config`() const; virtual uint64_t :ref:`paramsKey`() const; virtual :ref:`PotCaps` :ref:`caps`() const; void :ref:`forceImpl`(const :ref:`ForceInput`& in, :ref:`ForceOut`* out) const; }; .. _details-classrgpot_1_1_z_b_l_pot: 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 ``:ref:`rgpot::nlist::PairListCache ```, and the per-species coefficient tables are built once per species set. Construction ------------ .. index:: pair: function; ZBLPot .. _doxid-classrgpot_1_1_z_b_l_pot_1ad807b1d6fd4135336c7e6cc86a1b6e77: .. ref-code-block:: cpp :class: doxyrest-title-code-block ZBLPot(const :ref:`ZBLConfig`& c) Constructs the potential from its cutoff pair. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - c - Configuration; requires 0 < cut_inner < cut_global. * - std::invalid_argument - when the cutoff ordering is violated. Methods ------- .. index:: pair: function; paramsKey .. _doxid-classrgpot_1_1_z_b_l_pot_1a2394b873a5370649d2fe2424ecf36087: .. 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. .. index:: pair: function; caps .. _doxid-classrgpot_1_1_z_b_l_pot_1a6f7a87dabb1a420a62a03f5305a0d27d: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`PotCaps` caps() const Free boundaries: the kernel ignores the cell and never applies the minimum image convention. .. index:: pair: function; forceImpl .. _doxid-classrgpot_1_1_z_b_l_pot_1a882d16ac5ac327e63c95a5d4c05c8fad: .. ref-code-block:: cpp :class: doxyrest-title-code-block void forceImpl(const :ref:`ForceInput`& in, :ref:`ForceOut`* out) const Computes the forces and energy for a given configuration. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - in - Structure containing coordinates and cell info. * - out - Pointer to the results structure. .. rubric:: Returns: Void.