Psi4
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
psi::ShellInfo Class Reference

This class has the same behavior as GaussianShell, but implements everything using slower data structures, which are easier to construct. These are used to build the basis set, which builds more efficient pointer-based GaussianShell objects. More...

#include <gshell.h>

Public Member Functions

 ShellInfo (int am, const std::vector< double > &c, const std::vector< double > &e, const std::vector< int > &n)
 
 ShellInfo (int am, const std::vector< double > &c, const std::vector< double > &e, GaussianType pure, PrimitiveType pt=Normalized)
 
void normalize_shell ()
 
void erd_normalize_shell ()
 
ShellType shell_type () const
 The type of shell this object encodes information for. More...
 
int nprimitive () const
 The number of primitive Gaussians. More...
 
int nfunction () const
 Total number of basis functions. More...
 
int ncartesian () const
 Total number of functions if this shell was Cartesian. More...
 
int am () const
 The angular momentum of the given contraction. More...
 
char amchar () const
 The character symbol for the angular momentum of the given contraction. More...
 
char AMCHAR () const
 The character symbol for the angular momentum of the given contraction (upper case) More...
 
bool is_cartesian () const
 Returns true if contraction is Cartesian. More...
 
bool is_pure () const
 Returns true if contraction is pure. More...
 
double exp (int prim) const
 Returns the exponent of the given primitive. More...
 
double coef (int pi) const
 Return coefficient of pi'th primitive. More...
 
int nval (int pi) const
 Return r exponent for pi'th ECP primitive. More...
 
double erd_coef (int pi) const
 Return ERD normalized coefficient of pi'th primitive. More...
 
double original_coef (int pi) const
 Return unnormalized coefficient of pi'th primitive. More...
 
const std::vector< double > & exps () const
 Returns the exponent of the given primitive. More...
 
const std::vector< double > & coefs () const
 Return coefficient of pi'th primitive and ci'th contraction. More...
 
const std::vector< double > & original_coefs () const
 Return unnormalized coefficient of pi'th primitive and ci'th contraction. More...
 
void print (std::string out) const
 Print out the shell. More...
 
bool operator== (const ShellInfo &RHS) const
 True if two ShellInfo instances are exactly equal. More...
 
bool operator!= (const ShellInfo &RHS) const
 True if any part of the two ShellInfo instances is unequal. More...
 

Static Public Member Functions

static double normalize (int l, int m, int n)
 Normalize the angular momentum component. More...
 

Protected Member Functions

double primitive_normalization (int p)
 
void contraction_normalization ()
 

Protected Attributes

int l_
 Angular momentum. More...
 
int puream_
 Flag for pure angular momentum. More...
 
std::vector< double > exp_
 Exponents (of length nprimitives_) More...
 
std::vector< double > coef_
 Contraction coefficients (of length nprimitives_) More...
 
std::vector< int > n_
 R exponents, for ECP basis sets (of length nprimitives_) More...
 
std::vector< double > erd_coef_
 ERD normalized contraction coefficients (of length nprimitives_) More...
 
std::vector< double > original_coef_
 
ShellType shelltype_
 The type of shell this object encodes. More...
 
int ncartesian_
 How many cartesian functions? (1=s, 3=p, 6=d, ...) More...
 
int nfunction_
 

Static Protected Attributes

static const char * amtypes = "spdfghiklmnopqrtuvwxyz"
 
static const char * AMTYPES = "SPDFGHIKLMNOPQRTUVWXYZ"
 

Detailed Description

This class has the same behavior as GaussianShell, but implements everything using slower data structures, which are easier to construct. These are used to build the basis set, which builds more efficient pointer-based GaussianShell objects.

Constructor & Destructor Documentation

ShellInfo::ShellInfo ( int  am,
const std::vector< double > &  c,
const std::vector< double > &  e,
const std::vector< int > &  n 
)

Constructor; use this version for ECP basis sets.

Parameters
amAngular momentum.
eAn array of exponent values.
nAn array of r exponents for ECPs.
cAn array of contraction coefficients.
ShellInfo::ShellInfo ( int  am,
const std::vector< double > &  c,
const std::vector< double > &  e,
GaussianType  pure,
PrimitiveType  pt = Normalized 
)

Constructor; use this version for regular Gaussian basis sets.

Parameters
eAn array of exponent values.
amAngular momentum.
purePure spherical harmonics, or Cartesian.
cAn array of contraction coefficients.
ptIs the shell already normalized?

Member Function Documentation

int psi::ShellInfo::am ( ) const
inline

The angular momentum of the given contraction.

char psi::ShellInfo::amchar ( ) const
inline

The character symbol for the angular momentum of the given contraction.

char psi::ShellInfo::AMCHAR ( ) const
inline

The character symbol for the angular momentum of the given contraction (upper case)

double psi::ShellInfo::coef ( int  pi) const
inline

Return coefficient of pi'th primitive.

const std::vector<double>& psi::ShellInfo::coefs ( ) const
inline

Return coefficient of pi'th primitive and ci'th contraction.

void ShellInfo::contraction_normalization ( )
protected

Normalizes an entire contraction set. Applies the normalization to the coefficients

double psi::ShellInfo::erd_coef ( int  pi) const
inline

Return ERD normalized coefficient of pi'th primitive.

void ShellInfo::erd_normalize_shell ( )
double psi::ShellInfo::exp ( int  prim) const
inline

Returns the exponent of the given primitive.

const std::vector<double>& psi::ShellInfo::exps ( ) const
inline

Returns the exponent of the given primitive.

bool psi::ShellInfo::is_cartesian ( ) const
inline

Returns true if contraction is Cartesian.

bool psi::ShellInfo::is_pure ( ) const
inline

Returns true if contraction is pure.

int psi::ShellInfo::ncartesian ( ) const
inline

Total number of functions if this shell was Cartesian.

int ShellInfo::nfunction ( ) const

Total number of basis functions.

double ShellInfo::normalize ( int  l,
int  m,
int  n 
)
static

Normalize the angular momentum component.

void ShellInfo::normalize_shell ( )

Handles calling primitive_normalization and contraction_normalization for you.

int ShellInfo::nprimitive ( ) const

The number of primitive Gaussians.

int psi::ShellInfo::nval ( int  pi) const
inline

Return r exponent for pi'th ECP primitive.

bool psi::ShellInfo::operator!= ( const ShellInfo RHS) const
inline

True if any part of the two ShellInfo instances is unequal.

bool ShellInfo::operator== ( const ShellInfo RHS) const

True if two ShellInfo instances are exactly equal.

double psi::ShellInfo::original_coef ( int  pi) const
inline

Return unnormalized coefficient of pi'th primitive.

const std::vector<double>& psi::ShellInfo::original_coefs ( ) const
inline

Return unnormalized coefficient of pi'th primitive and ci'th contraction.

double ShellInfo::primitive_normalization ( int  p)
protected

Normalizes a single primitive.

Parameters
pThe primitive index to normalize.
Returns
Normalization constant to be applied to the primitive.
void ShellInfo::print ( std::string  out) const

Print out the shell.

ShellType psi::ShellInfo::shell_type ( ) const
inline

The type of shell this object encodes information for.

Member Data Documentation

const char * ShellInfo::amtypes = "spdfghiklmnopqrtuvwxyz"
staticprotected

Lookup array that when you index the angular momentum it returns the lowercase letter corresponding to it.

const char * ShellInfo::AMTYPES = "SPDFGHIKLMNOPQRTUVWXYZ"
staticprotected

Lookup array that when you index the angular momentum it returns the uppercase letter corresponding to it.

std::vector<double> psi::ShellInfo::coef_
protected

Contraction coefficients (of length nprimitives_)

std::vector<double> psi::ShellInfo::erd_coef_
protected

ERD normalized contraction coefficients (of length nprimitives_)

std::vector<double> psi::ShellInfo::exp_
protected

Exponents (of length nprimitives_)

int psi::ShellInfo::l_
protected

Angular momentum.

std::vector<int> psi::ShellInfo::n_
protected

R exponents, for ECP basis sets (of length nprimitives_)

int psi::ShellInfo::ncartesian_
protected

How many cartesian functions? (1=s, 3=p, 6=d, ...)

int psi::ShellInfo::nfunction_
protected

How many functions? (1=s, 3=p, 5/6=d, ...) Dependent on the value of puream_

std::vector<double> psi::ShellInfo::original_coef_
protected

Original (un-normalized) contraction coefficients (of length nprimitives) Only used in printing.

int psi::ShellInfo::puream_
protected

Flag for pure angular momentum.

ShellType psi::ShellInfo::shelltype_
protected

The type of shell this object encodes.


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