|
occ
|
Classes | |
| class | XDM |
| struct | XDMAtomList |
Functions | |
| double | becke_hole_br89_analytic (double rho, double Q, double norm) |
| double | becke_hole_br89_newton (double rho, double Q, double norm) |
| double | becke_hole_br89 (double rho, double Q, double norm, bool analytic=true) |
| std::pair< double, Mat3N > | xdm_dispersion_energy (const XDMAtomList &atom_info, const XDM::Parameters ¶ms={}) |
| std::tuple< double, Mat3N, Mat3N > | xdm_dispersion_interaction_energy (const XDMAtomList &atom_info_a, const XDMAtomList &atom_info_b, const XDM::Parameters ¶ms={}) |
| std::pair< double, Mat3N > | xdm_dispersion_gradient (const occ::gto::AOBasis &basis, const occ::qm::MolecularOrbitals &mo, int charge, const std::string &functional, const std::optional< XDM::Parameters > ¶ms=std::nullopt) |
| Compute the XDM dispersion energy and nuclear gradient for a wavefunction. | |
| std::optional< XDM::Parameters > | get_xdm_parameters (const std::string &functional) |
| Get functional-specific XDM damping parameters. | |
|
inline |
| double occ::xdm::becke_hole_br89_analytic | ( | double | rho, |
| double | Q, | ||
| double | norm | ||
| ) |
| double occ::xdm::becke_hole_br89_newton | ( | double | rho, |
| double | Q, | ||
| double | norm | ||
| ) |
| std::optional< XDM::Parameters > occ::xdm::get_xdm_parameters | ( | const std::string & | functional | ) |
Get functional-specific XDM damping parameters.
Returns XDM damping parameters (a1, a2) for the given functional name. Parameters are based on literature values.
| functional | Name of the functional (case-insensitive) |
References:
| std::pair< double, Mat3N > occ::xdm::xdm_dispersion_energy | ( | const XDMAtomList & | atom_info, |
| const XDM::Parameters & | params = {} |
||
| ) |
| std::pair< double, Mat3N > occ::xdm::xdm_dispersion_gradient | ( | const occ::gto::AOBasis & | basis, |
| const occ::qm::MolecularOrbitals & | mo, | ||
| int | charge, | ||
| const std::string & | functional, | ||
| const std::optional< XDM::Parameters > & | params = std::nullopt |
||
| ) |
Compute the XDM dispersion energy and nuclear gradient for a wavefunction.
Self-contained entry point intended to be injected into occ::qm::GradientEvaluator as a dispersion callback, so that occ_qm does not depend on occ_xdm. If params is empty, functional-specific parameters are looked up (falling back to a1=0.7, a2=1.4).
| std::tuple< double, Mat3N, Mat3N > occ::xdm::xdm_dispersion_interaction_energy | ( | const XDMAtomList & | atom_info_a, |
| const XDMAtomList & | atom_info_b, | ||
| const XDM::Parameters & | params = {} |
||
| ) |