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

#include <pseudospectral.h>

Inheritance diagram for psi::PseudospectralInt:
psi::OneBodyAOInt

Public Member Functions

 PseudospectralInt (std::vector< SphericalTransform > &, std::shared_ptr< BasisSet >, std::shared_ptr< BasisSet >, int deriv=0)
 Constructor. More...
 
 ~PseudospectralInt ()
 
void compute_shell_deriv1 (int, int)
 Computes integrals between two shells. More...
 
void set_point (double x, double y, double z)
 Set integration point. More...
 
void set_omega (double omega)
 Set omega value, turns use_omega_ to true. More...
 
void use_omega (bool yes)
 Set the value of the use_omega_ flag. More...
 
bool has_deriv1 ()
 Does the method provide first derivatives? More...
 
- Public Member Functions inherited from psi::OneBodyAOInt
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_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_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 Attributes

bool use_omega_
 Use range-separation or not? Defaults to false. If so, produce <m|erf( r) / r|n> integrals. More...
 
double omega_
 The range-separation parameter. Defaults to 0.0. More...
 
double C_ [3]
 The integration point. More...
 
ObaraSaikaTwoCenterVIRecursion potential_recur_
 Recursion object that does the heavy lifting. More...
 
ObaraSaikaTwoCenterVIDerivRecursion potential_deriv_recur_
 Recursion object that does the heavy lifting. More...
 
- Protected Attributes inherited from psi::OneBodyAOInt
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...
 
size_t count_
 
int deriv_
 
int natom_
 
int nchunk_
 
int buffer_size_
 

Private Member Functions

void compute_pair (const GaussianShell &, const GaussianShell &)
 Computes integrals between two shell objects. More...
 
void compute_pair_deriv1 (const GaussianShell &, const GaussianShell &)
 Computes integrals between two shell objects. More...
 

Additional Inherited Members

- Protected Member Functions inherited from psi::OneBodyAOInt
 OneBodyAOInt (std::vector< SphericalTransform > &, std::shared_ptr< BasisSet > bs1, std::shared_ptr< BasisSet > bs2, int deriv=0)
 
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...
 

Constructor & Destructor Documentation

PseudospectralInt::PseudospectralInt ( std::vector< SphericalTransform > &  st,
std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2,
int  deriv = 0 
)

Constructor.

PseudospectralInt::~PseudospectralInt ( )

Member Function Documentation

void PseudospectralInt::compute_pair ( const GaussianShell s1,
const GaussianShell s2 
)
privatevirtual

Computes integrals between two shell objects.

Implements psi::OneBodyAOInt.

void PseudospectralInt::compute_pair_deriv1 ( const GaussianShell s1,
const GaussianShell s2 
)
privatevirtual

Computes integrals between two shell objects.

Reimplemented from psi::OneBodyAOInt.

void PseudospectralInt::compute_shell_deriv1 ( int  sh1,
int  sh2 
)
virtual

Computes integrals between two shells.

Reimplemented from psi::OneBodyAOInt.

bool psi::PseudospectralInt::has_deriv1 ( )
inlinevirtual

Does the method provide first derivatives?

Reimplemented from psi::OneBodyAOInt.

void psi::PseudospectralInt::set_omega ( double  omega)
inline

Set omega value, turns use_omega_ to true.

void psi::PseudospectralInt::set_point ( double  x,
double  y,
double  z 
)
inline

Set integration point.

void psi::PseudospectralInt::use_omega ( bool  yes)
inline

Set the value of the use_omega_ flag.

Member Data Documentation

double psi::PseudospectralInt::C_[3]
protected

The integration point.

double psi::PseudospectralInt::omega_
protected

The range-separation parameter. Defaults to 0.0.

ObaraSaikaTwoCenterVIDerivRecursion psi::PseudospectralInt::potential_deriv_recur_
protected

Recursion object that does the heavy lifting.

ObaraSaikaTwoCenterVIRecursion psi::PseudospectralInt::potential_recur_
protected

Recursion object that does the heavy lifting.

bool psi::PseudospectralInt::use_omega_
protected

Use range-separation or not? Defaults to false. If so, produce <m|erf( r) / r|n> integrals.


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