MPQC
3.0.0-alpha
|
IntegralLibint2 computes integrals between Gaussian basis functions. More...
#include <chemistry/qc/libint2/libint2.h>
Public Member Functions | |
IntegralLibint2 (const Ref< GaussianBasisSet > &b1=0, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0) | |
IntegralLibint2 (StateIn &) | |
IntegralLibint2 (const Ref< KeyVal > &) | |
void | save_data_state (StateOut &) |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More... | |
Integral * | clone () |
Clones the given Integral factory. The new factory may need to have set_basis and set_storage to be called on it. | |
CartesianOrdering | cartesian_ordering () const |
implements Integral::cartesian_ordering() | |
size_t | storage_required_eri (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0) |
Returns how much storage will be needed to initialize a two-body integrals evaluator for electron repulsion integrals. | |
size_t | storage_required_g12 (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0) |
Returns how much storage will be needed to initialize a two-body integrals evaluator for G12 integrals. | |
size_t | storage_required_g12nc (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0) |
Returns how much storage will be needed to initialize a two-body integrals evaluator for G12NC integrals. | |
size_t | storage_required_g12dkh (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0) |
Returns how much storage will be needed to initialize a two-body integrals evaluator for G12DKH integrals. | |
CartesianIter * | new_cartesian_iter (int) |
Return a CartesianIter object. More... | |
RedundantCartesianIter * | new_redundant_cartesian_iter (int) |
Return a RedundantCartesianIter object. More... | |
RedundantCartesianSubIter * | new_redundant_cartesian_sub_iter (int) |
Return a RedundantCartesianSubIter object. More... | |
SphericalTransformIter * | new_spherical_transform_iter (int l, int inv=0, int subl=-1) |
Return a SphericalTransformIter object. More... | |
const SphericalTransform * | spherical_transform (int l, int inv=0, int subl=-1) |
Return a SphericalTransform object. More... | |
Ref< OneBodyInt > | overlap () |
Return a OneBodyInt that computes the overlap. | |
Ref< OneBodyInt > | kinetic () |
Return a OneBodyInt that computes the kinetic energy. | |
Ref< OneBodyInt > | point_charge (const Ref< PointChargeData > &=0) |
Return a OneBodyInt that computes the integrals for interactions with point charges. | |
Ref< OneBodyInt > | nuclear () |
Return a OneBodyInt that computes the nuclear repulsion integrals. More... | |
Ref< OneBodyInt > | p4 () |
Return a OneBodyInt that computes . | |
Ref< OneBodyInt > | hcore () |
Return a OneBodyInt that computes the core Hamiltonian integrals. More... | |
Ref< OneBodyInt > | efield (const Ref< IntParamsOrigin > &) |
Return a OneBodyInt that computes the electric field integrals at specified point. More... | |
Ref< OneBodyInt > | efield_dot_vector (const Ref< EfieldDotVectorData > &=0) |
Return a OneBodyInt that computes the electric field integrals at a given position dotted with a given vector. More... | |
Ref< OneBodyInt > | efield_gradient (const Ref< IntParamsOrigin > &) |
Return a OneBodyInt that computes the electric field gradient integrals at specified point. More... | |
Ref< OneBodyInt > | dipole (const Ref< IntParamsOrigin > &=0) |
Return a OneBodyInt that computes electric dipole moment integrals, i.e. More... | |
Ref< OneBodyInt > | quadrupole (const Ref< IntParamsOrigin > &=0) |
Return a OneBodyInt that computes electric quadrupole moment integrals, i.e. More... | |
Ref< OneBodyDerivInt > | overlap_deriv () |
Return a OneBodyDerivInt that computes overlap derivatives. | |
Ref< OneBodyDerivInt > | kinetic_deriv () |
Return a OneBodyDerivInt that computes kinetic energy derivatives. | |
Ref< OneBodyDerivInt > | nuclear_deriv () |
Return a OneBodyDerivInt that computes nuclear repulsion derivatives. | |
Ref< OneBodyDerivInt > | hcore_deriv () |
Return a OneBodyDerivInt that computes core Hamiltonian derivatives. | |
Ref< TwoBodyInt > | electron_repulsion () |
Return a TwoBodyInt that computes electron repulsion integrals. More... | |
Ref< TwoBodyThreeCenterInt > | electron_repulsion3 () |
Return a TwoBodyThreeCenterInt that computes electron repulsion integrals. More... | |
Ref< TwoBodyTwoCenterInt > | electron_repulsion2 () |
Return a TwoBodyTwoCenterInt that computes electron repulsion integrals. More... | |
Ref< TwoBodyDerivInt > | electron_repulsion_deriv () |
Return a TwoBodyDerivInt that computes electron repulsion derivatives. | |
Ref< TwoBodyInt > | g12_4 (const Ref< IntParamsG12 > &p) |
Return a TwoBodyInt that computes two-electron integrals specific to explicitly correlated methods which use Gaussian geminals. More... | |
Ref< TwoBodyInt > | g12nc_4 (const Ref< IntParamsG12 > &p) |
Return a TwoBodyInt that computes two-electron integrals specific to explicitly correlated methods which use Gaussian geminals. More... | |
Ref< TwoBodyThreeCenterInt > | g12nc_3 (const Ref< IntParamsG12 > &p) |
Ref< TwoBodyTwoCenterInt > | g12nc_2 (const Ref< IntParamsG12 > &p) |
Ref< TwoBodyInt > | g12dkh_4 (const Ref< IntParamsG12 > &p) |
Return a TwoBodyInt that computes two-electron integrals specific to relativistic explicitly correlated methods which use Gaussian geminals. More... | |
Ref< TwoBodyInt > | r120g12_4 (const Ref< IntParamsG12 > &p) |
Return a TwoBodyInt that computes two-electron integrals of TwoBodyOper::r12_0_g12. More... | |
Ref< TwoBodyThreeCenterInt > | r120g12_3 (const Ref< IntParamsG12 > &p) |
Ref< TwoBodyTwoCenterInt > | r120g12_2 (const Ref< IntParamsG12 > &p) |
Ref< TwoBodyInt > | r12m1g12_4 (const Ref< IntParamsG12 > &p) |
Return a TwoBodyInt that computes two-electron integrals of TwoBodyOper::r12_m1_g12. More... | |
Ref< TwoBodyThreeCenterInt > | r12m1g12_3 (const Ref< IntParamsG12 > &p) |
Ref< TwoBodyTwoCenterInt > | r12m1g12_2 (const Ref< IntParamsG12 > &p) |
Ref< TwoBodyInt > | g12t1g12_4 (const Ref< IntParamsG12 > &p) |
Return a TwoBodyInt that computes two-electron integrals of TwoBodyOper::g12t1g12. More... | |
Ref< TwoBodyThreeCenterInt > | g12t1g12_3 (const Ref< IntParamsG12 > &p) |
Ref< TwoBodyTwoCenterInt > | g12t1g12_2 (const Ref< IntParamsG12 > &p) |
Ref< TwoBodyInt > | delta_function_4 () |
Return a TwoBodyInt that computes two-electron integrals of TwoBodyOper::delta. More... | |
Ref< TwoBodyThreeCenterInt > | delta_function_3 () |
Ref< TwoBodyTwoCenterInt > | delta_function_2 () |
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. More... | |
Public Member Functions inherited from sc::Integral | |
Integral (StateIn &) | |
Restore the Integral object from the given StateIn object. | |
Integral (const Ref< KeyVal > &) | |
Construct the Integral object from the given KeyVal object. | |
virtual int | equiv (const Ref< Integral > &) |
Returns nonzero if this and the given Integral object have the same integral ordering, normalization conventions, etc. More... | |
virtual void | set_storage (size_t i) |
Sets the total amount of storage, in bytes, that is available. | |
size_t | storage_used () const |
Returns how much storage has been used. | |
size_t | storage_unused () const |
Returns how much storage was not needed. | |
virtual size_t | storage_required (TwoBodyOper::type opertype, TwoBodyIntShape::value tbinttype, size_t deriv_level=0, const Ref< GaussianBasisSet > &b1=0, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0) |
Reports the approximate amount of memory required, in bytes, to create an evaluator for opertype . More... | |
virtual size_t | storage_required_grt (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0) |
Returns how much storage will be needed to initialize a two-body integrals evaluator for linear R12 integrals. | |
virtual size_t | storage_required_eri_deriv (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0) |
Returns how much storage will be needed to initialize a two-body integrals evaluator for derivative electron repulsion integrals. | |
void | adjust_storage (ptrdiff_t s) |
The specific integral classes use this to tell Integral how much memory they are using/freeing. | |
Ref< PetiteList > | petite_list () |
Return the PetiteList object. | |
Ref< PetiteList > | petite_list (const Ref< GaussianBasisSet > &) |
Return the PetiteList object for the given basis set. | |
ShellRotation | shell_rotation (int am, SymmetryOperation &, int pure=0) |
Return the ShellRotation object for a shell of the given angular momentum. More... | |
const Ref< GaussianBasisSet > & | basis1 () const |
retrieves basis for center 1 | |
const Ref< GaussianBasisSet > & | basis2 () const |
retrieves basis for center 2 | |
const Ref< GaussianBasisSet > & | basis3 () const |
retrieves basis for center 3 | |
const Ref< GaussianBasisSet > & | basis4 () const |
retrieves basis for center 4 | |
Ref< MessageGrp > | messagegrp () |
Return the MessageGrp used by the integrals objects. | |
virtual Ref< OneBodyOneCenterInt > | point_charge1 (const Ref< PointChargeData > &) |
Return a OneBodyInt that computes the integrals for interactions with point charges. | |
virtual Ref< OneBodyInt > | p_dot_nuclear_p () |
Return a OneBodyInt that computes , where is the nuclear potential. More... | |
virtual Ref< OneBodyInt > | p_cross_nuclear_p () |
Return a OneBodyInt that computes , where is the nuclear potential. More... | |
virtual Ref< TwoBodyThreeCenterDerivInt > | electron_repulsion3_deriv () |
Return a TwoBodyThreeCenterInt that computes electron repulsion integrals. More... | |
virtual Ref< TwoBodyTwoCenterDerivInt > | electron_repulsion2_deriv () |
Return a TwoBodyTwoCenterInt that computes electron repulsion integrals. More... | |
virtual Ref< TwoBodyIntEval > | make_eval (TwoBodyOper::type opertype, TwoBodyIntShape::value tbinttype, size_t deriv_level=0, const Ref< GaussianBasisSet > &b1=0, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0) |
Creates an evaluator for opertype . More... | |
template<int NumCenters> | |
Ref< typename TwoBodyIntEvalType< NumCenters >::value > | coulomb () |
Return the evaluator of two-body integrals with Coulomb kernel: The evaluator will produce a set of integrals described by TwoBodyNCenterIntDescr<NumCenters,TwoBodyOperSet::ERI>. More... | |
template<int NumCenters> | |
DEPRECATED Ref< typename TwoBodyIntEvalType< NumCenters >::value > | grt () |
Return a 2-body evaluator that computes two-electron integrals specific to linear R12 methods. More... | |
template<int NumCenters> | |
DEPRECATED Ref< typename TwoBodyIntEvalType< NumCenters >::value > | g12 (const Ref< IntParamsG12 > &p) |
Return a TwoBodyInt that computes two-electron integrals specific to explicitly correlated methods which use Gaussian geminals. More... | |
template<int NumCenters> | |
DEPRECATED Ref< typename TwoBodyIntEvalType< NumCenters >::value > | g12nc (const Ref< IntParamsG12 > &p) |
Return a TwoBodyInt that computes two-electron integrals specific to explicitly correlated methods which use Gaussian geminals. More... | |
template<int NumCenters> | |
Ref< typename TwoBodyIntEvalType< NumCenters >::value > | g12dkh (const Ref< IntParamsG12 > &p) |
Return a TwoBodyInt that computes two-electron integrals specific to relativistic explicitly correlated methods which use Gaussian geminals. More... | |
template<int NumCenters> | |
Ref< typename TwoBodyIntEvalType< NumCenters >::value > | r12_k_g12 (const Ref< IntParamsG12 > &p, int k) |
Return the evaluator of two-body integrals with kernel where is a geminal described by the IntParamsG12 object. More... | |
template<int NumCenters> | |
Ref< typename TwoBodyIntEvalType< NumCenters >::value > | g12t1g12 (const Ref< IntParamsG12 > &p) |
Return the evaluator of two-body integrals with kernel where is a geminal described by the IntParamsG12 object. More... | |
template<int NumCenters> | |
Ref< typename TwoBodyIntEvalType< NumCenters >::value > | delta_function () |
Return the evaluator of two-body integrals with kernel i.e. More... | |
Public Member Functions inherited from sc::SavableState | |
SavableState & | operator= (const SavableState &) |
void | save_state (StateOut &) |
Save the state of the object as specified by the StateOut object. More... | |
void | save_object_state (StateOut &) |
This can be used for saving state when the exact type of the object is known for both the save and the restore. More... | |
virtual void | save_vbase_state (StateOut &) |
Save the virtual bases for the object. More... | |
Public Member Functions inherited from sc::DescribedClass | |
DescribedClass (const DescribedClass &) | |
DescribedClass & | operator= (const DescribedClass &) |
ClassDesc * | class_desc () const MPQC__NOEXCEPT |
This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More... | |
const char * | class_name () const |
Return the name of the object's exact type. | |
int | class_version () const |
Return the version of the class. | |
virtual void | print (std::ostream &=ExEnv::out0()) const |
Print the object. | |
Ref< DescribedClass > | ref () |
Return this object wrapped up in a Ref smart pointer. More... | |
Public Member Functions inherited from sc::RefCount | |
size_t | identifier () const |
Return the unique identifier for this object that can be compared for different objects of different types. More... | |
int | lock_ptr () const |
Lock this object. | |
int | unlock_ptr () const |
Unlock this object. | |
void | use_locks (bool inVal) |
start and stop using locks on this object | |
refcount_t | nreference () const |
Return the reference count. | |
refcount_t | reference () |
Increment the reference count and return the new count. | |
refcount_t | dereference () |
Decrement the reference count and return the new count. | |
int | managed () const |
void | unmanage () |
Turn off the reference counting mechanism for this object. More... | |
Additional Inherited Members | |
Public Types inherited from sc::Integral | |
enum | CartesianOrdering { IntV3CartesianOrdering, CCACartesianOrdering, GAMESSCartesianOrdering } |
Describes the ordering of the cartesian functions in a shell. | |
Static Public Member Functions inherited from sc::Integral | |
static Integral * | initial_integral (int &argc, char **argv) |
Create an integral factory. More... | |
static void | set_default_integral (const Ref< Integral > &) |
Specifies a new default Integral factory. | |
static Integral * | get_default_integral () |
Returns the default Integral factory. | |
Static Public Member Functions inherited from sc::SavableState | |
static void | save_state (SavableState *s, StateOut &) |
static SavableState * | restore_state (StateIn &si) |
Restores objects saved with save_state. More... | |
static SavableState * | key_restore_state (StateIn &si, const char *keyword) |
Like restore_state, but keyword is used to override values while restoring. | |
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0) |
Protected Types inherited from sc::Integral | |
enum | SolidHarmonicsOrdering { MPQCSolidHarmonicsOrdering, CCASolidHarmonicsOrdering } |
Protected Member Functions inherited from sc::Integral | |
Integral (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2, const Ref< GaussianBasisSet > &b3, const Ref< GaussianBasisSet > &b4) | |
Initialize the Integral object given a GaussianBasisSet for each center. | |
Protected Member Functions inherited from sc::SavableState | |
SavableState (const SavableState &) | |
SavableState (StateIn &) | |
Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More... | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
Protected Attributes inherited from sc::Integral | |
Ref< GaussianBasisSet > | bs1_ |
Ref< GaussianBasisSet > | bs2_ |
Ref< GaussianBasisSet > | bs3_ |
Ref< GaussianBasisSet > | bs4_ |
SolidHarmonicsOrdering | sharmorder_ |
size_t | storage_ |
size_t | storage_used_ |
Ref< ThreadLock > | tlock_ |
Ref< MessageGrp > | grp_ |
IntegralLibint2 computes integrals between Gaussian basis functions.
|
virtual |
Return a TwoBodyInt that computes two-electron integrals of TwoBodyOper::delta.
Implementation for this kind of TwoBodyInt is optional.
Reimplemented from sc::Integral.
|
virtual |
Return a OneBodyInt that computes electric dipole moment integrals, i.e.
integrals of the operator. The canonical order of integrals in a set is x, y, z.
O | IntParamsOrigin object that specifies the origin of the multipole expansion; the default is to use the origin of the coordinate system. |
Implements sc::Integral.
|
virtual |
Return a OneBodyInt that computes the electric field integrals at specified point.
The canonical order of integrals in a set is x, y, z (i.e. Ex, Ey, Ey).
O | IntParamsOrigin object that specifies the point where the electric field is computed; there is no default. |
Implements sc::Integral.
|
virtual |
Return a OneBodyInt that computes the electric field integrals at a given position dotted with a given vector.
Implements sc::Integral.
|
virtual |
Return a OneBodyInt that computes the electric field gradient integrals at specified point.
The canonical order of integrals in the 6-element sequence is d Ex / dx, d Ex / dy, d Ex / dz, d Ey / dy, d Ey / dz, d Ez / dz,
O | IntParamsOrigin object that specifies the point where the electric field gradient is computed; there is no default. |
Reimplemented from sc::Integral.
|
virtual |
Return a TwoBodyInt that computes electron repulsion integrals.
This TwoBodyInt will produce a set of integrals described by TwoBodyIntDescrERI.
Reimplemented from sc::Integral.
|
virtual |
Return a TwoBodyTwoCenterInt that computes electron repulsion integrals.
If this is not re-implemented it will throw.
Reimplemented from sc::Integral.
|
virtual |
Return a TwoBodyThreeCenterInt that computes electron repulsion integrals.
Electron 1 corresponds to centers 1 and 2, electron 2 corresponds to center 3. If this is not re-implemented it will throw.
Reimplemented from sc::Integral.
|
virtual |
Return a TwoBodyInt that computes two-electron integrals specific to explicitly correlated methods which use Gaussian geminals.
This TwoBodyInt will produce a set of integrals described by TwoBodyIntDescrG12. Implementation for this kind of TwoBodyInt is optional.
Reimplemented from sc::Integral.
|
virtual |
Return a TwoBodyInt that computes two-electron integrals specific to relativistic explicitly correlated methods which use Gaussian geminals.
This TwoBodyInt will produce a set of integrals described by TwoBodyIntDescrG12DKH. Implementation for this kind of TwoBodyInt is optional.
Reimplemented from sc::Integral.
|
virtual |
Return a TwoBodyInt that computes two-electron integrals specific to explicitly correlated methods which use Gaussian geminals.
This particular implementation does not produce commutator integrals. This TwoBodyInt will produce a set of integrals described by TwoBodyIntDescrG12NC. Implementation for this kind of TwoBodyInt is optional.
Reimplemented from sc::Integral.
|
virtual |
Return a TwoBodyInt that computes two-electron integrals of TwoBodyOper::g12t1g12.
Implementation for this kind of TwoBodyInt is optional.
Reimplemented from sc::Integral.
|
virtual |
Return a OneBodyInt that computes the core Hamiltonian integrals.
Implements sc::Integral.
|
virtual |
Return a CartesianIter object.
The caller is responsible for freeing the object.
Implements sc::Integral.
|
virtual |
Return a RedundantCartesianIter object.
The caller is responsible for freeing the object.
Implements sc::Integral.
|
virtual |
Return a RedundantCartesianSubIter object.
The caller is responsible for freeing the object.
Implements sc::Integral.
|
virtual |
Return a SphericalTransformIter object.
This factory must have been initialized with a basis set whose maximum angular momentum is greater than or equal to l. The caller is responsible for freeing the object.
Implements sc::Integral.
|
virtual |
Return a OneBodyInt that computes the nuclear repulsion integrals.
Implements sc::Integral.
|
virtual |
Return a OneBodyInt that computes electric quadrupole moment integrals, i.e.
integrals of the operator. The canonical order of integrals in a set is x^2, xy, xz, y^2, yz, z^2.
O | IntParamsOrigin object that specifies the origin of the multipole expansion; the default is to use the origin of the coordinate system |
Implements sc::Integral.
|
virtual |
Return a TwoBodyInt that computes two-electron integrals of TwoBodyOper::r12_0_g12.
Implementation for this kind of TwoBodyInt is optional.
Reimplemented from sc::Integral.
|
virtual |
Return a TwoBodyInt that computes two-electron integrals of TwoBodyOper::r12_m1_g12.
Implementation for this kind of TwoBodyInt is optional.
Reimplemented from sc::Integral.
|
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.
|
virtual |
Set the basis set for each center.
[in] | b1 | basis set on center 1; there is no default |
[in] | b2 | basis set on center 2; if null, will use b1 |
[in] | b3 | basis set on center 3; if null, will use b2 |
[in] | b4 | basis set on center 4; if null, will use b3 |
Reimplemented from sc::Integral.
|
virtual |
Return a SphericalTransform object.
This factory must have been initialized with a basis set whose maximum angular momentum is greater than or equal to l. The pointer is only valid while this Integral object is valid.
Implements sc::Integral.