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>

Collaboration diagram for AtomicBasis:
Collaboration graph
[legend]

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.
 
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.
 
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.
 
const std::vector< ContractedGaussianShell > & get_shells () const
 Returns a const reference to the shells.
 
bool has_guess_info () const
 
int nbf () const
 Returns the number of basis functions on the center.
 
int nshell () const
 Returns the number of shells on the center.
 
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, 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, ContractedGaussianShell::nbf(), 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: