Psi4
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
psi::GaussianShell Class Reference

Gaussian orbital shell. More...

#include <gshell.h>

Public Member Functions

 GaussianShell (int am, int nprimitive, const double *oc, const double *c, const double *ec, const double *e, GaussianType pure, int nc, const double *center, int start)
 
 GaussianShell ()
 Builds and empty GShell. 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...
 
const double * center () const
 Returns the center of the Molecule this shell is on. More...
 
int ncenter () const
 Returns the atom number this shell is on. Used by integral derivatives for indexing. More...
 
int start () const
 Returns the first basis function in this shell. 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...
 
double original_coef (int pi) const
 Return unnormalized coefficient of pi'th primitive. More...
 
double erd_coef (int pi) const
 Return unnormalized coefficient of pi'th primitive. More...
 
const double * exps () const
 Returns the exponents. More...
 
const double * coefs () const
 Return coefficients. More...
 
const double * original_coefs () const
 Return unnormalized coefficients. More...
 
const double * erd_coefs () const
 Return ERD normalized coefficients. More...
 
void print (std::string out) const
 Print out the shell. More...
 
int function_index () const
 Basis function index where this shell starts. More...
 
void set_function_index (int i)
 

Private Member Functions

double primitive_normalization (int p)
 
void contraction_normalization ()
 

Private Attributes

int l_
 Angular momentum. More...
 
int puream_
 Flag for pure angular momentum. More...
 
const double * exp_
 Exponents (of length nprimitives_) More...
 
const double * original_coef_
 Original (un-normalized) contraction coefficients (of length nprimitives) More...
 
const double * coef_
 Contraction coefficients (of length nprimitives_) More...
 
const double * erd_coef_
 Contraction coefficients normalized for the ERD integral package (of length nprimitives_) More...
 
int nc_
 Atom number this shell goes to. Needed when indexing integral derivatives. More...
 
const double * center_
 Atomic coordinates of this center. More...
 
int start_
 First basis function in this shell. More...
 
int ncartesian_
 How many cartesian functions? (1=s, 3=p, 6=d, ...) More...
 
int nprimitive_
 The number of primitives in this shell. More...
 
int nfunction_
 

Static Private Attributes

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

Detailed Description

Gaussian orbital shell.

Constructor & Destructor Documentation

GaussianShell::GaussianShell ( int  am,
int  nprimitive,
const double *  oc,
const double *  c,
const double *  ec,
const double *  e,
GaussianType  pure,
int  nc,
const double *  center,
int  start 
)

Constructor.

Parameters
amAngular momentum.
purePure spherical harmonics, or Cartesian.
ocAn array of contraction coefficients.
cAn array of normalized contraction coefficients.
ecAn array of ERD normalized contraction coefficients.
eAn array of exponent values.
ncThe atomic center that this shell is located on. Must map back to the correct atom in the owning BasisSet molecule_. Used in integral derivatives for indexing.
centerThe x, y, z position of the shell. This is passed to reduce the number of calls to the molecule.
startThe starting index of the first function this shell provides. Used to provide starting positions in matrices.
psi::GaussianShell::GaussianShell ( )
inline

Builds and empty GShell.

Member Function Documentation

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

The angular momentum of the given contraction.

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

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

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

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

const double * GaussianShell::center ( ) const

Returns the center of the Molecule this shell is on.

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

Return coefficient of pi'th primitive.

const double* psi::GaussianShell::coefs ( ) const
inline

Return coefficients.

void psi::GaussianShell::contraction_normalization ( )
private

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

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

Return unnormalized coefficient of pi'th primitive.

const double* psi::GaussianShell::erd_coefs ( ) const
inline

Return ERD normalized coefficients.

double psi::GaussianShell::exp ( int  prim) const
inline

Returns the exponent of the given primitive.

const double* psi::GaussianShell::exps ( ) const
inline

Returns the exponents.

int psi::GaussianShell::function_index ( ) const
inline

Basis function index where this shell starts.

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

Returns true if contraction is Cartesian.

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

Returns true if contraction is pure.

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

Total number of functions if this shell was Cartesian.

int psi::GaussianShell::ncenter ( ) const
inline

Returns the atom number this shell is on. Used by integral derivatives for indexing.

int GaussianShell::nfunction ( ) const

Total number of basis functions.

int GaussianShell::nprimitive ( ) const

The number of primitive Gaussians.

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

Return unnormalized coefficient of pi'th primitive.

const double* psi::GaussianShell::original_coefs ( ) const
inline

Return unnormalized coefficients.

double psi::GaussianShell::primitive_normalization ( int  p)
private

Normalizes a single primitive.

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

Print out the shell.

void psi::GaussianShell::set_function_index ( int  i)
inline
int psi::GaussianShell::start ( ) const
inline

Returns the first basis function in this shell.

Member Data Documentation

const char * GaussianShell::amtypes = "spdfghiklmnopqrtuvwxyz"
staticprivate

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

const char * GaussianShell::AMTYPES = "SPDFGHIKLMNOPQRTUVWXYZ"
staticprivate

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

const double* psi::GaussianShell::center_
private

Atomic coordinates of this center.

const double* psi::GaussianShell::coef_
private

Contraction coefficients (of length nprimitives_)

const double* psi::GaussianShell::erd_coef_
private

Contraction coefficients normalized for the ERD integral package (of length nprimitives_)

const double* psi::GaussianShell::exp_
private

Exponents (of length nprimitives_)

int psi::GaussianShell::l_
private

Angular momentum.

int psi::GaussianShell::nc_
private

Atom number this shell goes to. Needed when indexing integral derivatives.

int psi::GaussianShell::ncartesian_
private

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

int psi::GaussianShell::nfunction_
private

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

int psi::GaussianShell::nprimitive_
private

The number of primitives in this shell.

const double* psi::GaussianShell::original_coef_
private

Original (un-normalized) contraction coefficients (of length nprimitives)

int psi::GaussianShell::puream_
private

Flag for pure angular momentum.

int psi::GaussianShell::start_
private

First basis function in this shell.


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