Psi4
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
psi::OneBodyAOInt Class Referenceabstract

#include <onebody.h>

Inheritance diagram for psi::OneBodyAOInt:
psi::AngularMomentumInt psi::DipoleInt psi::EFPMultipolePotentialInt psi::ElectricFieldInt psi::KineticInt psi::MultipoleInt psi::NablaInt psi::OverlapInt psi::PotentialInt psi::PseudospectralInt psi::QuadrupoleInt psi::RelPotentialInt psi::TracelessQuadrupoleInt

Public Member Functions

virtual ~OneBodyAOInt ()
 
std::shared_ptr< BasisSetbasis ()
 Basis set on center one. More...
 
std::shared_ptr< BasisSetbasis1 ()
 Basis set on center one. More...
 
std::shared_ptr< BasisSetbasis2 ()
 Basis set on center two. More...
 
int nchunk () const
 Number of chunks. Normally 1, but dipoles (3) quadrupoles (6). More...
 
void set_force_cartesian (bool t_f)
 Sets whether we're forcing this object to always generate Cartesian integrals. More...
 
const double * buffer () const
 Buffer where the integrals are placed. More...
 
void compute_shell (int, int)
 Compute the integrals between basis function in the given shell pair. More...
 
virtual void compute (std::vector< SharedMatrix > &result)
 Computes all integrals and stores them in result by default this method throws. More...
 
virtual bool has_deriv1 ()
 Does the method provide first derivatives? More...
 
virtual bool has_deriv2 ()
 Does the method provide second derivatives? More...
 
int deriv () const
 What order of derivative was requested? More...
 
virtual void compute_deriv1 (std::vector< SharedMatrix > &result)
 Computes the first derivatives and stores them in result. More...
 
virtual void compute_deriv2 (std::vector< SharedMatrix > &result)
 Computes the second derivatives and stores them in result. More...
 
virtual void compute_shell_deriv1 (int, int)
 Computes the integrals between basis function in the given shell pair. More...
 
virtual void compute_shell_deriv2 (int, int)
 Computes the integrals between basis function in the given shell pair. More...
 
virtual bool cloneable () const
 Return true if the clone member can be called. By default returns false. More...
 
virtual OneBodyAOIntclone () const
 Returns a clone of this object. By default throws an exception. More...
 
Vector3 origin () const
 Returns the origin (useful for properties) More...
 
void set_origin (const Vector3 &_origin)
 Set the origin (useful for properties) More...
 
void compute (SharedMatrix &result)
 

Protected Member Functions

 OneBodyAOInt (std::vector< SphericalTransform > &, std::shared_ptr< BasisSet > bs1, std::shared_ptr< BasisSet > bs2, int deriv=0)
 
virtual void compute_pair (const GaussianShell &s1, const GaussianShell &s2)=0
 
virtual void compute_pair_deriv1 (const GaussianShell &s1, const GaussianShell &s2)
 
virtual void compute_pair_deriv2 (const GaussianShell &s1, const GaussianShell &s2)
 
void set_chunks (int nchunk)
 
void pure_transform (const GaussianShell &, const GaussianShell &, int=1)
 
void normalize_am (const GaussianShell &, const GaussianShell &, int nchunk=1)
 Normalize Cartesian functions based on angular momentum. More...
 

Protected Attributes

std::shared_ptr< BasisSetbs1_
 
std::shared_ptr< BasisSetbs2_
 
std::vector< SphericalTransform > & spherical_transforms_
 
Vector3 origin_
 
double * buffer_
 
double * target_
 
double * tformbuf_
 
bool force_cartesian_
 Whether we want to always generate Cartesian integrals;. More...
 
unsigned int count_
 
int deriv_
 
int natom_
 
int nchunk_
 
int buffer_size_
 

Constructor & Destructor Documentation

psi::OneBodyAOInt::OneBodyAOInt ( std::vector< SphericalTransform > &  spherical_transforms,
std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2,
int  deriv = 0 
)
protected
psi::OneBodyAOInt::~OneBodyAOInt ( )
virtual

Member Function Documentation

std::shared_ptr< BasisSet > psi::OneBodyAOInt::basis ( )

Basis set on center one.

std::shared_ptr< BasisSet > psi::OneBodyAOInt::basis1 ( )

Basis set on center one.

std::shared_ptr< BasisSet > psi::OneBodyAOInt::basis2 ( )

Basis set on center two.

const double * psi::OneBodyAOInt::buffer ( ) const

Buffer where the integrals are placed.

OneBodyAOInt * psi::OneBodyAOInt::clone ( void  ) const
virtual

Returns a clone of this object. By default throws an exception.

bool psi::OneBodyAOInt::cloneable ( ) const
virtual

Return true if the clone member can be called. By default returns false.

void psi::OneBodyAOInt::compute ( SharedMatrix result)

Computes all integrals and stores them in result

Parameters
resultShared matrix object that will hold the results.
void psi::OneBodyAOInt::compute ( std::vector< SharedMatrix > &  result)
virtual

Computes all integrals and stores them in result by default this method throws.

void psi::OneBodyAOInt::compute_deriv1 ( std::vector< SharedMatrix > &  result)
virtual

Computes the first derivatives and stores them in result.

Reimplemented in psi::RelPotentialInt, and psi::PotentialInt.

void psi::OneBodyAOInt::compute_deriv2 ( std::vector< SharedMatrix > &  result)
virtual

Computes the second derivatives and stores them in result.

Reimplemented in psi::PotentialInt, and psi::RelPotentialInt.

virtual void psi::OneBodyAOInt::compute_pair ( const GaussianShell s1,
const GaussianShell s2 
)
protectedpure virtual
void psi::OneBodyAOInt::compute_pair_deriv1 ( const GaussianShell s1,
const GaussianShell s2 
)
protectedvirtual
void psi::OneBodyAOInt::compute_pair_deriv2 ( const GaussianShell s1,
const GaussianShell s2 
)
protectedvirtual
void psi::OneBodyAOInt::compute_shell ( int  sh1,
int  sh2 
)

Compute the integrals between basis function in the given shell pair.

void psi::OneBodyAOInt::compute_shell_deriv1 ( int  sh1,
int  sh2 
)
virtual

Computes the integrals between basis function in the given shell pair.

Reimplemented in psi::PseudospectralInt.

void psi::OneBodyAOInt::compute_shell_deriv2 ( int  i,
int  j 
)
virtual

Computes the integrals between basis function in the given shell pair.

int psi::OneBodyAOInt::deriv ( ) const
inline

What order of derivative was requested?

virtual bool psi::OneBodyAOInt::has_deriv1 ( )
inlinevirtual
virtual bool psi::OneBodyAOInt::has_deriv2 ( )
inlinevirtual

Does the method provide second derivatives?

Reimplemented in psi::KineticInt, and psi::OverlapInt.

int psi::OneBodyAOInt::nchunk ( ) const
inline

Number of chunks. Normally 1, but dipoles (3) quadrupoles (6).

void psi::OneBodyAOInt::normalize_am ( const GaussianShell ,
const GaussianShell ,
int  nchunk = 1 
)
protected

Normalize Cartesian functions based on angular momentum.

Vector3 psi::OneBodyAOInt::origin ( ) const
inline

Returns the origin (useful for properties)

void psi::OneBodyAOInt::pure_transform ( const GaussianShell s1,
const GaussianShell s2,
int  chunks = 1 
)
protected
void psi::OneBodyAOInt::set_chunks ( int  nchunk)
inlineprotected
void psi::OneBodyAOInt::set_force_cartesian ( bool  t_f)
inline

Sets whether we're forcing this object to always generate Cartesian integrals.

void psi::OneBodyAOInt::set_origin ( const Vector3 _origin)
inline

Set the origin (useful for properties)

Member Data Documentation

std::shared_ptr<BasisSet> psi::OneBodyAOInt::bs1_
protected
std::shared_ptr<BasisSet> psi::OneBodyAOInt::bs2_
protected
double* psi::OneBodyAOInt::buffer_
protected
int psi::OneBodyAOInt::buffer_size_
protected
unsigned int psi::OneBodyAOInt::count_
protected
int psi::OneBodyAOInt::deriv_
protected
bool psi::OneBodyAOInt::force_cartesian_
protected

Whether we want to always generate Cartesian integrals;.

int psi::OneBodyAOInt::natom_
protected
int psi::OneBodyAOInt::nchunk_
protected
Vector3 psi::OneBodyAOInt::origin_
protected
std::vector<SphericalTransform>& psi::OneBodyAOInt::spherical_transforms_
protected
double* psi::OneBodyAOInt::target_
protected
double* psi::OneBodyAOInt::tformbuf_
protected

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