sc::IntegralV3(3)
π sc::IntegralV3 π
Okay so welcome to the MPQC manual page for sc::IntegralV3(3) β yes, section 3, the integral factory that's about to explain itself. Bestie, grab a strawberry drink π, because this page is lowkey a whole roster of integral-returning methods.
β¨ NAME β¨
sc::IntegralV3 β IntegralV3 computes integrals between Gaussian basis functions. That's the name and the whole assignment. Periodt.
πΈ SYNOPSIS πΈ
#include <intv3.h>
Inherits sc::Integral.
π Public Member Functions π
IntegralV3 (const Ref< GaussianBasisSet > &b1=0, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0)β constructor with the four basis-set refs; all four default to0, bestie.IntegralV3 (StateIn &)β constructor from aStateIn.IntegralV3 (const Ref< KeyVal > &)β constructor from aKeyVal.void save_data_state (StateOut &)β save the base classes (withsave_data_state) and the members in the exact order that theStateInCTOR initializes them.Integral * clone ()β clone the givenIntegralfactory. The new factory may needset_basisandset_storageto be called on it.CartesianIter * new_cartesian_iter (int)β return aCartesianIterobject. The caller is responsible for freeing the object.RedundantCartesianIter * new_redundant_cartesian_iter (int)β return aRedundantCartesianIterobject. The caller is responsible for freeing the object.RedundantCartesianSubIter * new_redundant_cartesian_sub_iter (int)β return aRedundantCartesianSubIterobject. The caller is responsible for freeing the object.SphericalTransformIter * new_spherical_transform_iter (int l, int inv=0, int subl=-1)β return aSphericalTransformIterobject. The caller is responsible for freeing the object.const SphericalTransform * spherical_transform (int l, int inv=0, int subl=-1)β return aSphericalTransformobject. The pointer is only valid while thisIntegralobject is valid.Ref< OneBodyInt > overlap ()β return aOneBodyIntthat computes the overlap.Ref< OneBodyInt > kinetic ()β return aOneBodyIntthat computes the kinetic energy.Ref< OneBodyInt > point_charge (const Ref< PointChargeData > &=0)β return aOneBodyIntthat computes the integrals for interactions with point charges.Ref< OneBodyOneCenterInt > point_charge1 (const Ref< PointChargeData > &)β return aOneBodyIntthat computes the integrals for interactions with point charges.Ref< OneBodyInt > nuclear ()β return aOneBodyIntthat computes the nuclear repulsion integrals.Ref< OneBodyInt > hcore ()β return aOneBodyIntthat computes the core Hamiltonian integrals.Ref< OneBodyInt > efield_dot_vector (const Ref< EfieldDotVectorData > &=0)β return aOneBodyIntthat computes the electric field integrals dotted with a given vector.Ref< OneBodyInt > dipole (const Ref< DipoleData > &=0)β return aOneBodyIntthat computes electric dipole moment integrals.Ref< OneBodyInt > quadrupole (const Ref< DipoleData > &=0)β return aOneBodyIntthat computes electric quadrupole moment integrals.Ref< OneBodyDerivInt > overlap_deriv ()β return aOneBodyDerivIntthat computes overlap derivatives.Ref< OneBodyDerivInt > kinetic_deriv ()β return aOneBodyDerivIntthat computes kinetic energy derivatives.Ref< OneBodyDerivInt > nuclear_deriv ()β return aOneBodyDerivIntthat computes nuclear repulsion derivatives.Ref< OneBodyDerivInt > hcore_deriv ()β return aOneBodyDerivIntthat computes core Hamiltonian derivatives.Ref< TwoBodyInt > electron_repulsion ()β return aTwoBodyIntthat computes electron repulsion integrals.Ref< TwoBodyTwoCenterInt > electron_repulsion2 ()β return aTwoBodyTwoCenterIntthat computes electron repulsion integrals.Ref< TwoBodyThreeCenterInt > electron_repulsion3 ()β return aTwoBodyThreeCenterIntthat computes electron repulsion integrals.Ref< TwoBodyDerivInt > electron_repulsion_deriv ()β return aTwoBodyDerivIntthat computes electron repulsion derivatives.void set_basis (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0)β set the basis set for each center.
π Additional Inherited Members π
The original page has this heading and then just moves straight on β no extra members are listed here. π
π Detailed Description π
IntegralV3 computes integrals between Gaussian basis functions. That's the main-character job, and honestly it ate.
π₯ Member Function Documentation π₯
Ref<OneBodyInt> sc::IntegralV3::dipole (const Ref< DipoleData > & = 0) [virtual]
Return a OneBodyInt that computes electric dipole moment integrals. The canonical order of integrals in a set is x, y, z β that's the lineup.
Implements sc::Integral.
Ref<TwoBodyTwoCenterInt> sc::IntegralV3::electron_repulsion2 () [virtual]
Return a TwoBodyTwoCenterInt that computes electron repulsion integrals. If this is not re-implemented it will throw β no cap, that's the warning.
Reimplemented from sc::Integral.
Ref<TwoBodyThreeCenterInt> sc::IntegralV3::electron_repulsion3 () [virtual]
Return a TwoBodyThreeCenterInt that computes electron repulsion integrals. If this is not re-implemented it will throw.
Reimplemented from sc::Integral.
CartesianIter* sc::IntegralV3::new_cartesian_iter (int) [virtual]
Return a CartesianIter object. The caller is responsible for freeing the object β yes, that's on you, bestie.
Implements sc::Integral.
RedundantCartesianIter* sc::IntegralV3::new_redundant_cartesian_iter (int) [virtual]
Return a RedundantCartesianIter object. The caller is responsible for freeing the object.
Implements sc::Integral.
RedundantCartesianSubIter* sc::IntegralV3::new_redundant_cartesian_sub_iter (int) [virtual]
Return a RedundantCartesianSubIter object. The caller is responsible for freeing the object.
Implements sc::Integral.
SphericalTransformIter* sc::IntegralV3::new_spherical_transform_iter (int l, int inv = 0, int subl = -1) [virtual]
Return a SphericalTransformIter object. The caller is responsible for freeing the object.
Implements sc::Integral.
Ref<OneBodyInt> sc::IntegralV3::nuclear () [virtual]
Return a OneBodyInt that computes the nuclear repulsion integrals. Charges from the atoms on center one are used. If center two is not identical to center one, then the charges on center two are included as well.
Implements sc::Integral.
Ref<OneBodyInt> sc::IntegralV3::quadrupole (const Ref< DipoleData > & = 0) [virtual]
Return a OneBodyInt that computes electric quadrupole moment integrals. The canonical order of integrals in a set is x^2, xy, xz, y^2, yz, z^2 β iconic lineup, honestly.
Implements sc::Integral.
void sc::IntegralV3::save_data_state (StateOut &) [virtual]
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. This must be implemented by the derived class if the class has data.
Reimplemented from sc::Integral.
const SphericalTransform* sc::IntegralV3::spherical_transform (int l, int inv = 0, int subl = -1) [virtual]
Return a SphericalTransform object. The pointer is only valid while this Integral object is valid β do not keep it past its vibe window.
Implements sc::Integral.
π Author π
Generated automatically by Doxygen for MPQC from the source code β no cap, that's the author note.
π That's the whole page, bestie β MPQC version 2.3.1, dated Sun Oct 4 2020. Go compute something iconic. π
π¦ where this page comes from
- ubuntu jammy: libsc-doc 2.3.1-21
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms