|
| void | initialize (const Mat3N &, const IVec &atomic_numbers) override |
| |
| void | update (const Vec &) override |
| |
| const Vec & | atom_potential () const override |
| |
| double | energy () const override |
| |
| std::string | name () const override |
| |
| virtual void | update (const Vec &atomic_charges)=0 |
| |
| virtual void | update (const Vec &atomic_charges, const Mat3N &, const Mat &) |
| | Update from the atomic charges together with the CAMM atomic dipoles (3 × N) and traceless quadrupoles (6 × N, CammMoments::qp layout), so the anisotropic part of the density polarises the continuum too.
|
| |
| virtual | ~XtbSolvationModel ()=default |
| |
| virtual void | set_multipole_damping (const Vec &, double, double) |
| | Hand the model the solute's own short-range damping radii for the atom→cavity dipole and quadrupole kernels, so a multipolar reaction field treats the CAMM moments the way the rest of the method does.
|
| |
| virtual const Mat3N & | dipole_potential () const |
| | Conjugates of the atomic dipoles and quadrupoles at the last update: ∂E_solv/∂μ (3 × N) and ∂E_solv/∂Θ (6 × N, same layout as the input).
|
| |
| virtual const Mat & | quadrupole_potential () const |
| |
| virtual const Vec & | damping_radius_gradient () const |
| | ∂E_solv/∂R_co per atom, for damping radii that depend on the geometry.
|
| |
| virtual std::optional< SolvationSurfaces > | surfaces () const |
| | Optional per-element decomposition of the latest solvation contribution.
|
| |
| virtual Mat3N | gradient () const |
| | Analytical gradient of the solvation energy with respect to atomic positions (Hartree/Bohr, 3 × N_atoms).
|
| |
No-op solvation model — preserves gas-phase numbers.
Used as the Phase 7A correctness gate and as a sentinel for "solvation off" in code paths that already hold a model pointer.