Struct GaussianShell

Struct Documentation

struct GaussianShell

Lightweight container for contracted shell of Gaussian basis functions.

Public Functions

GaussianShell(double *A, int l)

Constructs a GaussianShell with pointer to coords

Parameters
  • A – - xyz coordinates of shell

  • l – - angular momentum of shell

GaussianShell(const std::array<double, 3> &A, int l)

Constructs a GaussianShell with a local copy of coords

Parameters
  • A – - xyz coordinates of shell

  • l – - angular momentum of shell

inline GaussianShell(const GaussianShell &other)

Copy constructor for a GaussianShell

Parameters

other – - reference to the GaussianShell to be copied

void addPrim(double exp, double c)

Adds a Gaussian primitive to the shell

Parameters
  • exp – - the exponent

  • c – - the contraction coefficient

inline int nprimitive() const
Returns

the number of primitives

inline int ncartesian() const
Returns

the number of cartesian basis functions in a shell with this angular momentum

inline double *center() const
Returns

the xyz coordinates of the shell

inline double exp(int i) const
Parameters

i – - the index of the primitive of interest

Returns

the exponent of the ith primitive

inline double coef(int i) const
Parameters

i – - the index of the primitive of interest

Returns

the contraction coefficient of the ith primitive

inline int am() const
Returns

the angular momentum of the shell

inline GaussianShell copy() const
Returns

a copy of this GaussianShell

Public Members

std::vector<double> exps

Exponents of primitives.

std::vector<double> coeffs

Coefficients in contraction of primitives.

double *centerVec

Pointer to xyz coordinates of basis function (pointer so as to update if geometry changes)

bool local_ptr

true if the centerVec is a reference to localCenter, false otherwise

double localCenter[3]

Local copy of coords if there is nothing else to point to.

double min_exp

the minimum exponent in the shell

int l

Angular momentum of shell.

int atom_id

internal id of the atom the shell is on