Avogadro::Core::SlaterSet#
-
class SlaterSet : public BasisSet#
SlaterSet Class.
The SlaterSet class has a transparent data structure for storing the basis sets output by many quantum mechanical codes. It has a certain hierarchy where shells are built up from n primitives, in this case Slater Type Orbitals (STOs). Each shell has a type (S, P, D, F, etc) and is composed of one or more STOs. Each STO has a contraction coefficient, c, and an exponent, a.
- Author
Marcus D. Hanwell
When calculating Molecular Orbitals (MOs) each orthogonal shell has an independent coefficient. That is the S type orbitals have one coefficient, the P type orbitals have three coefficients (Px, Py and Pz), the D type orbitals have five (or six if cartesian types) coefficients, and so on.
Public Types
Public Functions
-
SlaterSet()#
Constructor.
-
~SlaterSet() override#
Destructor.
-
bool addSlaterIndices(const std::vector<int> &i)#
Add a basis to the basis set.
- Parameters:
i – Index of the atom to add the Basis too.
- Returns:
The index of the added Basis.
-
bool addSlaterTypes(const std::vector<int> &t)#
Add the symmetry types for the orbitals.
- Parameters:
t – Vector containing the types of symmetry using the slater enum.
-
bool addZetas(const std::vector<double> &zetas)#
Add a STO to the supplied basis.
- Parameters:
zetas – The exponents of the STOs
- Returns:
True if successful.
-
bool addPQNs(const std::vector<int> &pqns)#
The PQNs for the orbitals.
-
bool addOverlapMatrix(const Eigen::MatrixXd &m)#
The overlap matrix.
- Parameters:
m – Matrix containing the overlap matrix for the basis.
-
bool addEigenVectors(const Eigen::MatrixXd &e)#
Add Eigen Vectors to the SlaterSet.
- Parameters:
e – Matrix of the eigen vectors for the SlaterSet.
-
bool addDensityMatrix(const Eigen::MatrixXd &d)#
Add the density matrix to the SlaterSet.
- Parameters:
d – Density matrix for the SlaterSet.
-
virtual unsigned int molecularOrbitalCount(ElectronType type = Paired) override#
- Returns:
The number of molecular orbitals in the BasisSet.
-
inline virtual bool isValid() override#
- Returns:
True of the basis set is valid, false otherwise. Default is true, if false then the basis set is likely unusable.
-
void initCalculation()#
Initialize the calculation, this must normally be done before anything.
-
inline std::vector<int> &slaterIndices()#
Accessors for the various properties of the GaussianSet.
-
inline std::vector<int> &slaterTypes()#
-
inline std::vector<double> &zetas()#
-
inline std::vector<double> &factors()#
-
inline std::vector<int> &PQNs()#
-
inline MatrixX &normalizedMatrix()#
-
inline MatrixX &densityMatrix()#
-
void outputAll()#