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

Gaussian orbital shell. More...

#include <gshell.h>

Public Member Functions

 GaussianShell (ShellType shelltype, 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 (ShellType shelltype, int am, int nprimitive, const double *c, const double *e, const int *n, int nc, const double *center)
 
 GaussianShell ()
 Builds and empty GShell. More...
 
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...
 
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...
 
int nval (int pi) const
 Return the pi'th r exponent for ECPs. 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)
 
double evaluate (double r, int l) const
 

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...
 
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...
 
const int * n_
 R exponents for ECPs (of length nprimitives_) More...
 
ShellType shelltype_
 The type of shell this structure encodes. 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 Protected Attributes

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

Detailed Description

Gaussian orbital shell.

Constructor & Destructor Documentation

GaussianShell::GaussianShell ( ShellType  shelltype,
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; Use this version for regular Gaussian basis sets.

Parameters
shelltypeThe type of shell this structure describes
nprimitiveThe number of primitives in this shell.
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.
GaussianShell::GaussianShell ( ShellType  shelltype,
int  am,
int  nprimitive,
const double *  c,
const double *  e,
const int *  n,
int  nc,
const double *  center 
)

Constructor; use this version for ECPs.

Parameters
shelltypeThe type of shell this structure describes
amAngular momentum.
nprimitiveThe number of primitives in this shell.
ocAn array of contraction coefficients.
eAn array of exponent values.
nAn array of r exponent values for ECPs.
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.
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 ( )
protected

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 GaussianShell::evaluate ( double  r,
int  l 
) const
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.

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

Return the pi'th r exponent for ECPs.

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)
protected

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
ShellType psi::GaussianShell::shell_type ( ) const
inline

The type of shell this object encodes information for.

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

Returns the first basis function in this shell.

Member Data Documentation

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

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

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

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

const double* psi::GaussianShell::center_
protected

Atomic coordinates of this center.

const double* psi::GaussianShell::coef_
protected

Contraction coefficients (of length nprimitives_)

const double* psi::GaussianShell::erd_coef_
protected

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

const double* psi::GaussianShell::exp_
protected

Exponents (of length nprimitives_)

int psi::GaussianShell::l_
protected

Angular momentum.

const int* psi::GaussianShell::n_
protected

R exponents for ECPs (of length nprimitives_)

int psi::GaussianShell::nc_
protected

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

int psi::GaussianShell::ncartesian_
protected

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

int psi::GaussianShell::nfunction_
protected

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

int psi::GaussianShell::nprimitive_
protected

The number of primitives in this shell.

const double* psi::GaussianShell::original_coef_
protected

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

int psi::GaussianShell::puream_
protected

Flag for pure angular momentum.

ShellType psi::GaussianShell::shelltype_
protected

The type of shell this structure encodes.

int psi::GaussianShell::start_
protected

First basis function in this shell.


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