MADNESS  0.10.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
madness::ContractedGaussianShell Class Reference

Represents a single shell of contracted, Cartesian, Gaussian primitives. More...

#include <molecularbasis.h>

Public Member Functions

 ContractedGaussianShell ()
 
 ContractedGaussianShell (int type, const std::vector< double > &coeff, const std::vector< double > &expnt, bool donorm=true)
 
int angular_momentum () const
 Returns the shell angular momentum. More...
 
double * eval (double rsq, double x, double y, double z, double *bf) const
 Evaluates the entire shell returning the incremented result pointer. More...
 
double eval_radial (double rsq) const
 Evaluates the radial part of the contracted function. More...
 
const std::vector< double > & get_coeff () const
 Returns a const reference to the coefficients. More...
 
const char * get_desc (int ibf) const
 Returns a string description of the basis function type. More...
 
const std::vector< double > & get_expnt () const
 Returns a const reference to the exponents. More...
 
int nbf () const
 Returns the number of basis functions in the shell. More...
 
int nprim () const
 Returns the number of primitives in the contraction. More...
 
double rangesq () const
 Returns square of the distance beyond which function is less than 1e-8. More...
 
template<typename Archive >
void serialize (Archive &ar)
 

Private Member Functions

void normalize ()
 

Private Attributes

std::vector< double > coeff
 
std::vector< double > expnt
 
int numbf
 Number of basis functions in shell (type+1)*(type+2)/2. More...
 
double rsqmax
 
int type
 Angular momentum = 0, 1, 2, ... More...
 

Detailed Description

Represents a single shell of contracted, Cartesian, Gaussian primitives.

Constructor & Destructor Documentation

◆ ContractedGaussianShell() [1/2]

madness::ContractedGaussianShell::ContractedGaussianShell ( )
inline

◆ ContractedGaussianShell() [2/2]

madness::ContractedGaussianShell::ContractedGaussianShell ( int  type,
const std::vector< double > &  coeff,
const std::vector< double > &  expnt,
bool  donorm = true 
)
inline

References expnt, normalize(), and rsqmax.

Member Function Documentation

◆ angular_momentum()

int madness::ContractedGaussianShell::angular_momentum ( ) const
inline

Returns the shell angular momentum.

References type.

◆ eval()

double* madness::ContractedGaussianShell::eval ( double  rsq,
double  x,
double  y,
double  z,
double *  bf 
) const
inline

Evaluates the entire shell returning the incremented result pointer.

References e(), eval_radial(), numbf, R, and type.

Referenced by madness::AtomicBasisFunction::operator()().

◆ eval_radial()

double madness::ContractedGaussianShell::eval_radial ( double  rsq) const
inline

Evaluates the radial part of the contracted function.

References coeff, expnt, rsqmax, and madness::sum().

Referenced by eval().

◆ get_coeff()

const std::vector<double>& madness::ContractedGaussianShell::get_coeff ( ) const
inline

Returns a const reference to the coefficients.

References coeff.

◆ get_desc()

const char* madness::ContractedGaussianShell::get_desc ( int  ibf) const
inline

Returns a string description of the basis function type.

References MADNESS_ASSERT, and type.

Referenced by madness::AtomicBasisFunction::get_desc().

◆ get_expnt()

const std::vector<double>& madness::ContractedGaussianShell::get_expnt ( ) const
inline

Returns a const reference to the exponents.

References expnt.

◆ nbf()

int madness::ContractedGaussianShell::nbf ( ) const
inline

Returns the number of basis functions in the shell.

References numbf.

◆ normalize()

void madness::ContractedGaussianShell::normalize ( )
inlineprivate

◆ nprim()

int madness::ContractedGaussianShell::nprim ( ) const
inline

Returns the number of primitives in the contraction.

References coeff.

◆ rangesq()

double madness::ContractedGaussianShell::rangesq ( ) const
inline

Returns square of the distance beyond which function is less than 1e-8.

References rsqmax.

Referenced by madness::AtomicBasisFunction::rangesq().

◆ serialize()

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

References coeff, expnt, numbf, rsqmax, and type.

Member Data Documentation

◆ coeff

std::vector<double> madness::ContractedGaussianShell::coeff
private

◆ expnt

std::vector<double> madness::ContractedGaussianShell::expnt
private

◆ numbf

int madness::ContractedGaussianShell::numbf
private

Number of basis functions in shell (type+1)*(type+2)/2.

Referenced by eval(), nbf(), and serialize().

◆ rsqmax

double madness::ContractedGaussianShell::rsqmax
private

◆ type

int madness::ContractedGaussianShell::type
private

Angular momentum = 0, 1, 2, ...

Referenced by angular_momentum(), eval(), get_desc(), normalize(), and serialize().


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