Struct SumTerm

Struct Documentation

struct SumTerm

Stores details of terms in ECP integral expansion.

Public Functions

inline bool operator<(const SumTerm &s) const

orders SumTerm’s by mu, then by radial indices, then by angular integral value

Parameters

s – - term to compare with

Returns

true if this term is less than the given term

inline bool operator<=(const SumTerm &s) const
Returns

true if this term is less than or equal to the given term

inline bool operator==(const SumTerm &s) const
Returns

true if the mu and radial indices are equal

inline int ca_index() const
Returns

the compressed index of CA

inline int cb_index() const
Returns

the compressed index of CB

inline std::string to_string(bool full = true)

Converts term to string with compressed indices.

inline Heptuple compare(const SumTerm &s) const

Compares two SumTerm objects

Parameters

s – - the SumTerm to compare with

Returns

a tuple of equalities (0 = false, 1 = true) in the order {mu, radial, SA, SB, ang, CA, CB}

Public Members

Pair SA

(l, m) for spherical harmonic on shellA

Pair SB

(l, m) for spherical harmonic on shellB

Triple radial

(N, l1, l2) radial integral required

Quintuple CA

(0, cartesian index, x, y, z) for binomial coefficient on shellA

Quintuple CB

(0, cartesian index, x, y, z) for binomial coefficient on shellB

double ang

Value of product of angular integrals.

int mu

Value of mu, where the ECP ang. momentum is lam, and mu can range from -lam .. lam.

int na

Index of cartesian function on shellA, in alpha order.

int nb

Index of cartesian function on shellB, in alpha order.

Friends

friend std::ostream &operator<<(std::ostream &os, const SumTerm &s)

Prints out a SumTerm without compressing the indices - currently preferred.