AvogadroLibs 1.98.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
SlaterSet Class Reference

SlaterSet Class. More...

#include <slaterset.h>

Inheritance diagram for SlaterSet:
BasisSet

Public Types

enum  slater {
  S ,
  PX ,
  PY ,
  PZ ,
  X2 ,
  XZ ,
  Z2 ,
  YZ ,
  XY ,
  UU
}
 
- Public Types inherited from BasisSet
enum  ElectronType {
  Paired ,
  Alpha ,
  Beta
}
 The ElectronType enum describes the type of electrons being set or retrieved. If Paired, then Alpha and Beta cannot be set, if Alpha or Beta then both must be set.
 

Public Member Functions

 SlaterSet ()
 
 ~SlaterSet () override
 
SlaterSetclone () const override
 
bool addSlaterIndices (const std::vector< int > &i)
 
bool addSlaterTypes (const std::vector< int > &t)
 
bool addZetas (const std::vector< double > &zetas)
 
bool addPQNs (const std::vector< int > &pqns)
 
bool addOverlapMatrix (const Eigen::MatrixXd &m)
 
bool addEigenVectors (const Eigen::MatrixXd &e)
 
bool addDensityMatrix (const Eigen::MatrixXd &d)
 
unsigned int molecularOrbitalCount (ElectronType type=Paired) override
 
bool isValid () override
 
void initCalculation ()
 
std::vector< int > & slaterIndices ()
 
std::vector< int > & slaterTypes ()
 
std::vector< double > & zetas ()
 
std::vector< double > & factors ()
 
std::vector< int > & PQNs ()
 
MatrixX & normalizedMatrix ()
 
MatrixX & densityMatrix ()
 
void outputAll ()
 
- Public Member Functions inherited from BasisSet
 BasisSet ()
 
virtual ~BasisSet ()
 
virtual void setElectronCount (unsigned int n, ElectronType type=Paired)
 
unsigned int electronCount (ElectronType type=Paired) const
 
void setMolecule (Molecule *molecule_)
 
Moleculemolecule ()
 
const Moleculemolecule () const
 
void setName (const std::string &name)
 
std::string name () const
 
void setTheoryName (const std::string &name)
 
std::string theoryName () const
 
bool homo (unsigned int n)
 
unsigned int homo () const
 
bool lumo (unsigned int n)
 
unsigned int lumo () const
 

Additional Inherited Members

- Protected Attributes inherited from BasisSet
unsigned int m_electrons [2]
 
Moleculem_molecule
 
std::string m_name
 
std::string m_theoryName
 

Detailed Description

Author
Marcus D. Hanwell

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.

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.

Member Enumeration Documentation

◆ slater

enum slater

Enumeration of the Slater orbital types.

Constructor & Destructor Documentation

◆ SlaterSet()

SlaterSet ( )

Constructor.

◆ ~SlaterSet()

~SlaterSet ( )
override

Destructor.

Member Function Documentation

◆ clone()

SlaterSet * clone ( ) const
overridevirtual

Clone.

Implements BasisSet.

◆ addSlaterIndices()

bool addSlaterIndices ( const std::vector< int > &  i)

Add a basis to the basis set.

Parameters
iIndex of the atom to add the Basis too.
Returns
The index of the added Basis.

◆ addSlaterTypes()

bool addSlaterTypes ( const std::vector< int > &  t)

Add the symmetry types for the orbitals.

Parameters
tVector containing the types of symmetry using the slater enum.

◆ addZetas()

bool addZetas ( const std::vector< double > &  zetas)

Add a STO to the supplied basis.

Parameters
zetasThe exponents of the STOs
Returns
True if successful.

◆ addPQNs()

bool addPQNs ( const std::vector< int > &  pqns)

The PQNs for the orbitals.

◆ addOverlapMatrix()

bool addOverlapMatrix ( const Eigen::MatrixXd &  m)

The overlap matrix.

Parameters
mMatrix containing the overlap matrix for the basis.

◆ addEigenVectors()

bool addEigenVectors ( const Eigen::MatrixXd &  e)

Add Eigen Vectors to the SlaterSet.

Parameters
eMatrix of the eigen vectors for the SlaterSet.

◆ addDensityMatrix()

bool addDensityMatrix ( const Eigen::MatrixXd &  d)

Add the density matrix to the SlaterSet.

Parameters
dDensity matrix for the SlaterSet.

◆ molecularOrbitalCount()

unsigned int molecularOrbitalCount ( ElectronType  type = Paired)
overridevirtual
Returns
The number of molecular orbitals in the BasisSet.

Implements BasisSet.

◆ isValid()

bool isValid ( )
overridevirtual
Returns
True of the basis set is valid, false otherwise. Default is true, if false then the basis set is likely unusable.

Implements BasisSet.

◆ initCalculation()

void initCalculation ( )

Initialize the calculation, this must normally be done before anything.

◆ slaterIndices()

std::vector< int > & slaterIndices ( )

Accessors for the various properties of the GaussianSet.


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