MADNESS  0.10.1
Public Member Functions | Private Attributes | List of all members
AtomicBasis Class Reference

Represents multiple shells of contracted gaussians on a single center. More...

#include <molecularbasis.h>

Public Member Functions

 AtomicBasis ()
 
 AtomicBasis (const std::vector< ContractedGaussianShell > &g)
 
double * eval (double x, double y, double z, double *bf) const
 Evaluates the basis functions at point x, y, z relative to atomic center. More...
 
double eval_guess_density (double x, double y, double z) const
 Evaluates the guess atomic density at point x, y, z relative to atomic center. More...
 
const Tensor< double > & get_avec () const
 
const Tensor< double > & get_bvec () const
 
const Tensor< double > & get_dmat () const
 
const ContractedGaussianShellget_shell_from_basis_function (int ibf, int &ibf_in_shell) const
 Return shell that contains basis function ibf and also return index of function in the shell. More...
 
const std::vector< ContractedGaussianShell > & get_shells () const
 Returns a const reference to the shells. More...
 
bool has_guess_info () const
 
int nbf () const
 Returns the number of basis functions on the center. More...
 
int nshell () const
 Returns the number of shells on the center. More...
 
template<typename Archive >
void serialize (Archive &ar)
 
void set_guess_info (const Tensor< double > &dmat, const Tensor< double > &avec, const Tensor< double > &bvec)
 

Private Attributes

Tensor< double > avec
 
Tensor< double > bvec
 
Tensor< double > dmat
 
std::vector< ContractedGaussianShellg
 
int numbf
 
double rmaxsq
 

Detailed Description

Represents multiple shells of contracted gaussians on a single center.

Constructor & Destructor Documentation

◆ AtomicBasis() [1/2]

AtomicBasis::AtomicBasis ( )
inline

◆ AtomicBasis() [2/2]

AtomicBasis::AtomicBasis ( const std::vector< ContractedGaussianShell > &  g)
inline

References g, max, numbf, and rmaxsq.

Member Function Documentation

◆ eval()

double* AtomicBasis::eval ( double  x,
double  y,
double  z,
double *  bf 
) const
inline

Evaluates the basis functions at point x, y, z relative to atomic center.

The array bf[] must be large enough to hold nbf() values.

Returned is the incremented pointer.

References g, MADNESS_ASSERT, numbf, and rmaxsq.

Referenced by eval_guess_density().

◆ eval_guess_density()

double AtomicBasis::eval_guess_density ( double  x,
double  y,
double  z 
) const
inline

Evaluates the guess atomic density at point x, y, z relative to atomic center.

References dmat, eval(), has_guess_info(), MADNESS_ASSERT, numbf, p(), madness::Tensor< T >::ptr(), rmaxsq, and sum.

◆ get_avec()

const Tensor<double>& AtomicBasis::get_avec ( ) const
inline

References avec.

◆ get_bvec()

const Tensor<double>& AtomicBasis::get_bvec ( ) const
inline

References bvec.

◆ get_dmat()

const Tensor<double>& AtomicBasis::get_dmat ( ) const
inline

References dmat.

◆ get_shell_from_basis_function()

const ContractedGaussianShell& AtomicBasis::get_shell_from_basis_function ( int  ibf,
int &  ibf_in_shell 
) const
inline

Return shell that contains basis function ibf and also return index of function in the shell.

References g, MADNESS_EXCEPTION, and nbf().

◆ get_shells()

const std::vector<ContractedGaussianShell>& AtomicBasis::get_shells ( ) const
inline

Returns a const reference to the shells.

References g.

◆ has_guess_info()

bool AtomicBasis::has_guess_info ( ) const
inline

References dmat, and madness::BaseTensor::size().

Referenced by eval_guess_density().

◆ nbf()

int AtomicBasis::nbf ( ) const
inline

Returns the number of basis functions on the center.

References numbf.

Referenced by get_shell_from_basis_function().

◆ nshell()

int AtomicBasis::nshell ( ) const
inline

Returns the number of shells on the center.

References g.

◆ serialize()

template<typename Archive >
void AtomicBasis::serialize ( Archive &  ar)
inline

References avec, bvec, dmat, g, numbf, and rmaxsq.

◆ set_guess_info()

void AtomicBasis::set_guess_info ( const Tensor< double > &  dmat,
const Tensor< double > &  avec,
const Tensor< double > &  bvec 
)
inline

References avec, bvec, copy(), and dmat.

Member Data Documentation

◆ avec

Tensor<double> AtomicBasis::avec
private

Referenced by get_avec(), serialize(), and set_guess_info().

◆ bvec

Tensor<double> AtomicBasis::bvec
private

Referenced by get_bvec(), serialize(), and set_guess_info().

◆ dmat

Tensor<double> AtomicBasis::dmat
private

◆ g

std::vector<ContractedGaussianShell> AtomicBasis::g
private

◆ numbf

int AtomicBasis::numbf
private

◆ rmaxsq

double AtomicBasis::rmaxsq
private

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