Psi4
Public Member Functions | Protected Attributes | List of all members
psi::IntegralFactory Class Reference

#include <integral.h>

Public Member Functions

 IntegralFactory (std::shared_ptr< BasisSet > bs1, std::shared_ptr< BasisSet > bs2, std::shared_ptr< BasisSet > bs3, std::shared_ptr< BasisSet > bs4)
 
 IntegralFactory (std::shared_ptr< BasisSet > bs1)
 
virtual ~IntegralFactory ()
 
std::shared_ptr< BasisSetbasis1 () const
 Return the basis set on center 1. More...
 
std::shared_ptr< BasisSetbasis2 () const
 Return the basis set on center 2. More...
 
std::shared_ptr< BasisSetbasis3 () const
 Return the basis set on center 3. More...
 
std::shared_ptr< BasisSetbasis4 () const
 Return the basis set on center 4. More...
 
virtual void set_basis (std::shared_ptr< BasisSet > bs1, std::shared_ptr< BasisSet > bs2, std::shared_ptr< BasisSet > bs3, std::shared_ptr< BasisSet > bs4)
 Set the basis set for each center. More...
 
virtual OneBodyAOIntao_overlap (int deriv=0)
 Returns an OneBodyInt that computes the overlap integral. More...
 
virtual OneBodySOIntso_overlap (int deriv=0)
 Returns an OneBodyInt that computes the overlap integral. More...
 
virtual ThreeCenterOverlapIntoverlap_3c ()
 Returns a ThreeCenterOverlapINt that computes the overlap between three centers. More...
 
virtual OneBodyAOIntao_kinetic (int deriv=0)
 Returns an OneBodyInt that computes the kinetic energy integral. More...
 
virtual OneBodySOIntso_kinetic (int deriv=0)
 
virtual OneBodyAOIntao_potential (int deriv=0)
 Returns an OneBodyInt that computes the nuclear attraction integral. More...
 
virtual OneBodySOIntso_potential (int deriv=0)
 
virtual OneBodyAOIntao_ecp (int deriv=0)
 Returns an OneBodyInt that computes the ECP integral. More...
 
virtual OneBodySOIntso_ecp (int deriv=0)
 
virtual OneBodyAOIntao_rel_potential (int deriv=0)
 Returns an OneBodyInt that computes the relativistic nuclear attraction integral. More...
 
virtual OneBodySOIntso_rel_potential (int deriv=0)
 
virtual OneBodyAOIntao_pseudospectral (int deriv=0)
 Returns the OneBodyInt that computes the pseudospectral grid integrals. More...
 
virtual OneBodySOIntso_pseudospectral (int deriv=0)
 
virtual OneBodyAOIntao_dipole (int deriv=0)
 Returns an OneBodyInt that computes the dipole integral. More...
 
virtual OneBodySOIntso_dipole (int deriv=0)
 
virtual OneBodyAOIntao_quadrupole ()
 Returns an OneBodyInt that computes the quadrupole integral. More...
 
virtual OneBodySOIntso_quadrupole ()
 
virtual OneBodyAOIntao_multipoles (int order)
 Returns an OneBodyInt that computes arbitrary-order multipole integrals. More...
 
virtual OneBodySOIntso_multipoles (int order)
 
virtual OneBodyAOIntao_traceless_quadrupole ()
 Returns an OneBodyInt that computes the traceless quadrupole integral. More...
 
virtual OneBodySOIntso_traceless_quadrupole ()
 
virtual OneBodyAOIntao_nabla (int deriv=0)
 Returns an OneBodyInt that computes the nabla integral. More...
 
virtual OneBodySOIntso_nabla (int deriv=0)
 
virtual OneBodyAOIntao_angular_momentum (int deriv=0)
 Returns an OneBodyInt that computes the nabla integral. More...
 
virtual OneBodySOIntso_angular_momentum (int deriv=0)
 
virtual OneBodyAOIntao_efp_multipole_potential (int deriv=0)
 Returns a OneBodyInt that computes the multipole potential integrals for EFP. More...
 
virtual OneBodySOIntso_efp_multipole_potential (int deriv=0)
 
virtual OneBodyAOIntelectric_field ()
 Returns an OneBodyInt that computes the electric field. More...
 
virtual OneBodyAOIntelectrostatic ()
 Returns an OneBodyInt that computes the point electrostatic potential. More...
 
virtual OneBodyAOIntpcm_potentialint ()
 
virtual TwoBodyAOInteri (int deriv=0, bool use_shell_pairs=true)
 Returns an ERI integral object. More...
 
virtual TwoBodyAOInterd_eri (int deriv=0, bool use_shell_pairs=true)
 Returns an ERD ERI integral object, if available. Otherwise returns a libint integral object. More...
 
virtual TwoBodyAOInterf_eri (double omega, int deriv=0, bool use_shell_pairs=true)
 Returns an erf ERI integral object (omega integral) More...
 
virtual TwoBodyAOInterf_complement_eri (double omega, int deriv=0, bool use_shell_pairs=true)
 Returns an erf complement ERI integral object (omega integral) More...
 
virtual TwoBodyAOIntf12 (std::shared_ptr< CorrelationFactor > cf, int deriv=0, bool use_shell_pairs=true)
 Returns an F12 integral object. More...
 
virtual TwoBodyAOIntf12_scaled (std::shared_ptr< CorrelationFactor > cf, int deriv=0, bool use_shell_pairs=true)
 Returns an F12Scaled integral object. More...
 
virtual TwoBodyAOIntf12_squared (std::shared_ptr< CorrelationFactor > cf, int deriv=0, bool use_shell_pairs=true)
 Returns an F12 squared integral object. More...
 
virtual TwoBodyAOIntf12g12 (std::shared_ptr< CorrelationFactor > cf, int deriv=0, bool use_shell_pairs=true)
 Returns an F12G12 integral object. More...
 
virtual TwoBodyAOIntf12_double_commutator (std::shared_ptr< CorrelationFactor > cf, int deriv=0, bool use_shell_pairs=true)
 Returns an F12 double commutator integral object. More...
 
AOIntegralsIterator integrals_iterator (int p, int q, int r, int s)
 Returns a general ERI iterator object for any (P Q | R S) in shells. More...
 
AOShellCombinationsIterator shells_iterator ()
 Returns an ERI iterator object, only coded for standard ERIs. More...
 
AOShellCombinationsIteratorshells_iterator_ptr ()
 
virtual void init_spherical_harmonics (int max_am)
 Initializes spherical harmonic transformations. More...
 
const SphericalTransformspherical_transform (int am) const
 Return spherical transform object for am. More...
 
std::vector< SphericalTransform > & spherical_transform ()
 
SphericalTransformIterspherical_transform_iter (int am, int inv=0, int subl=-1) const
 Return a spherical transform iterator object for am. More...
 
CartesianItercartesian_iter (int l) const
 Return a new Cartesian iterator. More...
 
RedundantCartesianIterredundant_cartesian_iter (int l) const
 Return a new rudundant Cartesian iterator. More...
 
RedundantCartesianSubIterredundant_cartesian_sub_iter (int l) const
 Return a new rudundant Cartesian sub iterator. More...
 
ShellRotation shell_rotation (int am, SymmetryOperation &, int pure=0) const
 

Protected Attributes

std::shared_ptr< BasisSetbs1_
 Center 1 basis set. More...
 
std::shared_ptr< BasisSetbs2_
 Center 2 basis set. More...
 
std::shared_ptr< BasisSetbs3_
 Center 3 basis set. More...
 
std::shared_ptr< BasisSetbs4_
 Center 4 basis set. More...
 
std::vector< SphericalTransformspherical_transforms_
 Provides ability to transform to sphericals (d=0, f=1, g=2) More...
 
std::vector< ISphericalTransformispherical_transforms_
 Provides ability to transform from sphericals (d=0, f=1, g=2) More...
 

Detailed Description

Constructor & Destructor Documentation

IntegralFactory::IntegralFactory ( std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2,
std::shared_ptr< BasisSet bs3,
std::shared_ptr< BasisSet bs4 
)

Initialize IntegralFactory object given a BasisSet for each center.

IntegralFactory::IntegralFactory ( std::shared_ptr< BasisSet bs1)

Initialize IntegralFactory object given a BasisSet for two centers. Becomes (bs1 bs1 | bs1 bs1).

IntegralFactory::~IntegralFactory ( )
virtual

Member Function Documentation

OneBodyAOInt * IntegralFactory::ao_angular_momentum ( int  deriv = 0)
virtual

Returns an OneBodyInt that computes the nabla integral.

OneBodyAOInt * IntegralFactory::ao_dipole ( int  deriv = 0)
virtual

Returns an OneBodyInt that computes the dipole integral.

OneBodyAOInt * IntegralFactory::ao_ecp ( int  deriv = 0)
virtual

Returns an OneBodyInt that computes the ECP integral.

OneBodyAOInt * IntegralFactory::ao_efp_multipole_potential ( int  deriv = 0)
virtual

Returns a OneBodyInt that computes the multipole potential integrals for EFP.

OneBodyAOInt * IntegralFactory::ao_kinetic ( int  deriv = 0)
virtual

Returns an OneBodyInt that computes the kinetic energy integral.

OneBodyAOInt * IntegralFactory::ao_multipoles ( int  order)
virtual

Returns an OneBodyInt that computes arbitrary-order multipole integrals.

OneBodyAOInt * IntegralFactory::ao_nabla ( int  deriv = 0)
virtual

Returns an OneBodyInt that computes the nabla integral.

OneBodyAOInt * IntegralFactory::ao_overlap ( int  deriv = 0)
virtual

Returns an OneBodyInt that computes the overlap integral.

OneBodyAOInt * IntegralFactory::ao_potential ( int  deriv = 0)
virtual

Returns an OneBodyInt that computes the nuclear attraction integral.

OneBodyAOInt * IntegralFactory::ao_pseudospectral ( int  deriv = 0)
virtual

Returns the OneBodyInt that computes the pseudospectral grid integrals.

OneBodyAOInt * IntegralFactory::ao_quadrupole ( )
virtual

Returns an OneBodyInt that computes the quadrupole integral.

OneBodyAOInt * IntegralFactory::ao_rel_potential ( int  deriv = 0)
virtual

Returns an OneBodyInt that computes the relativistic nuclear attraction integral.

OneBodyAOInt * IntegralFactory::ao_traceless_quadrupole ( )
virtual

Returns an OneBodyInt that computes the traceless quadrupole integral.

std::shared_ptr< BasisSet > IntegralFactory::basis1 ( ) const

Return the basis set on center 1.

std::shared_ptr< BasisSet > IntegralFactory::basis2 ( ) const

Return the basis set on center 2.

std::shared_ptr< BasisSet > IntegralFactory::basis3 ( ) const

Return the basis set on center 3.

std::shared_ptr< BasisSet > IntegralFactory::basis4 ( ) const

Return the basis set on center 4.

CartesianIter * IntegralFactory::cartesian_iter ( int  l) const

Return a new Cartesian iterator.

OneBodyAOInt * IntegralFactory::electric_field ( )
virtual

Returns an OneBodyInt that computes the electric field.

OneBodyAOInt * IntegralFactory::electrostatic ( )
virtual

Returns an OneBodyInt that computes the point electrostatic potential.

TwoBodyAOInt * IntegralFactory::erd_eri ( int  deriv = 0,
bool  use_shell_pairs = true 
)
virtual

Returns an ERD ERI integral object, if available. Otherwise returns a libint integral object.

TwoBodyAOInt * IntegralFactory::erf_complement_eri ( double  omega,
int  deriv = 0,
bool  use_shell_pairs = true 
)
virtual

Returns an erf complement ERI integral object (omega integral)

TwoBodyAOInt * IntegralFactory::erf_eri ( double  omega,
int  deriv = 0,
bool  use_shell_pairs = true 
)
virtual

Returns an erf ERI integral object (omega integral)

TwoBodyAOInt * IntegralFactory::eri ( int  deriv = 0,
bool  use_shell_pairs = true 
)
virtual

Returns an ERI integral object.

TwoBodyAOInt * IntegralFactory::f12 ( std::shared_ptr< CorrelationFactor cf,
int  deriv = 0,
bool  use_shell_pairs = true 
)
virtual

Returns an F12 integral object.

TwoBodyAOInt * IntegralFactory::f12_double_commutator ( std::shared_ptr< CorrelationFactor cf,
int  deriv = 0,
bool  use_shell_pairs = true 
)
virtual

Returns an F12 double commutator integral object.

TwoBodyAOInt * IntegralFactory::f12_scaled ( std::shared_ptr< CorrelationFactor cf,
int  deriv = 0,
bool  use_shell_pairs = true 
)
virtual

Returns an F12Scaled integral object.

TwoBodyAOInt * IntegralFactory::f12_squared ( std::shared_ptr< CorrelationFactor cf,
int  deriv = 0,
bool  use_shell_pairs = true 
)
virtual

Returns an F12 squared integral object.

TwoBodyAOInt * IntegralFactory::f12g12 ( std::shared_ptr< CorrelationFactor cf,
int  deriv = 0,
bool  use_shell_pairs = true 
)
virtual

Returns an F12G12 integral object.

void IntegralFactory::init_spherical_harmonics ( int  max_am)
virtual

Initializes spherical harmonic transformations.

AOIntegralsIterator IntegralFactory::integrals_iterator ( int  p,
int  q,
int  r,
int  s 
)

Returns a general ERI iterator object for any (P Q | R S) in shells.

ThreeCenterOverlapInt * IntegralFactory::overlap_3c ( )
virtual

Returns a ThreeCenterOverlapINt that computes the overlap between three centers.

OneBodyAOInt * IntegralFactory::pcm_potentialint ( )
virtual

Returns an OneBodyInt that computes the electrostatic potential at desired points Want to change the name of this after the PCM dust settles

RedundantCartesianIter * IntegralFactory::redundant_cartesian_iter ( int  l) const

Return a new rudundant Cartesian iterator.

RedundantCartesianSubIter * IntegralFactory::redundant_cartesian_sub_iter ( int  l) const

Return a new rudundant Cartesian sub iterator.

void IntegralFactory::set_basis ( std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2,
std::shared_ptr< BasisSet bs3,
std::shared_ptr< BasisSet bs4 
)
virtual

Set the basis set for each center.

ShellRotation IntegralFactory::shell_rotation ( int  am,
SymmetryOperation so,
int  pure = 0 
) const

Return the ShellRotation object for a shell of a given angular momentum. Pass nonzero to pure to do solid harmonics.

AOShellCombinationsIterator IntegralFactory::shells_iterator ( )

Returns an ERI iterator object, only coded for standard ERIs.

AOShellCombinationsIterator * IntegralFactory::shells_iterator_ptr ( )
OneBodySOInt * IntegralFactory::so_angular_momentum ( int  deriv = 0)
virtual
OneBodySOInt * IntegralFactory::so_dipole ( int  deriv = 0)
virtual
OneBodySOInt * IntegralFactory::so_ecp ( int  deriv = 0)
virtual
OneBodySOInt * IntegralFactory::so_efp_multipole_potential ( int  deriv = 0)
virtual
OneBodySOInt * IntegralFactory::so_kinetic ( int  deriv = 0)
virtual
OneBodySOInt * IntegralFactory::so_multipoles ( int  order)
virtual
OneBodySOInt * IntegralFactory::so_nabla ( int  deriv = 0)
virtual
OneBodySOInt * IntegralFactory::so_overlap ( int  deriv = 0)
virtual

Returns an OneBodyInt that computes the overlap integral.

OneBodySOInt * IntegralFactory::so_potential ( int  deriv = 0)
virtual
OneBodySOInt * IntegralFactory::so_pseudospectral ( int  deriv = 0)
virtual
OneBodySOInt * IntegralFactory::so_quadrupole ( )
virtual
OneBodySOInt * IntegralFactory::so_rel_potential ( int  deriv = 0)
virtual
OneBodySOInt * IntegralFactory::so_traceless_quadrupole ( )
virtual
const SphericalTransform* psi::IntegralFactory::spherical_transform ( int  am) const
inline

Return spherical transform object for am.

std::vector<SphericalTransform>& psi::IntegralFactory::spherical_transform ( )
inline
SphericalTransformIter * IntegralFactory::spherical_transform_iter ( int  am,
int  inv = 0,
int  subl = -1 
) const

Return a spherical transform iterator object for am.

Member Data Documentation

std::shared_ptr<BasisSet> psi::IntegralFactory::bs1_
protected

Center 1 basis set.

std::shared_ptr<BasisSet> psi::IntegralFactory::bs2_
protected

Center 2 basis set.

std::shared_ptr<BasisSet> psi::IntegralFactory::bs3_
protected

Center 3 basis set.

std::shared_ptr<BasisSet> psi::IntegralFactory::bs4_
protected

Center 4 basis set.

std::vector<ISphericalTransform> psi::IntegralFactory::ispherical_transforms_
protected

Provides ability to transform from sphericals (d=0, f=1, g=2)

std::vector<SphericalTransform> psi::IntegralFactory::spherical_transforms_
protected

Provides ability to transform to sphericals (d=0, f=1, g=2)


The documentation for this class was generated from the following files: