AvogadroLibs  1.96.0
Public Types | Public Member Functions | Protected Attributes | List of all members
BasisSet Class Referenceabstract

BasisSet contains basis set data. More...

#include <avogadro/core/basisset.h>

Inheritance diagram for BasisSet:
GaussianSet SlaterSet

Public Types

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

 BasisSet ()
 
virtual ~BasisSet ()
 
virtual BasisSetclone () const =0
 
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
 
virtual unsigned int molecularOrbitalCount (ElectronType type=Paired)=0
 
bool homo (unsigned int n)
 
unsigned int homo () const
 
bool lumo (unsigned int n)
 
unsigned int lumo () const
 
virtual bool isValid ()=0
 

Protected Attributes

unsigned int m_electrons [2]
 
Moleculem_molecule
 
std::string m_name
 
std::string m_theoryName
 

Detailed Description

Author
Marcus D. Hanwell

This is the base class for basis sets, and has two derived classes - GaussianSet and SlaterSet. It must be populated with data, with other classes capable of performing calculations on the data or writing it out.

Constructor & Destructor Documentation

◆ BasisSet()

BasisSet ( )

Constructor.

◆ ~BasisSet()

virtual ~BasisSet ( )
virtual

Destructor.

Member Function Documentation

◆ clone()

virtual BasisSet* clone ( ) const
pure virtual

Clone.

Implemented in SlaterSet, and GaussianSet.

◆ setElectronCount()

void setElectronCount ( unsigned int  n,
ElectronType  type = Paired 
)
virtual

Set the number of electrons in the BasisSet.

Parameters
nThe number of electrons in the BasisSet.
typeThe type of the electrons (Alpha, Beta, or Paired).

◆ electronCount()

unsigned int electronCount ( ElectronType  type = Paired) const
Parameters
typeThe type of the electrons (Alpha, Beta, or Paired).
Returns
The number of electrons in the molecule.

◆ setMolecule()

void setMolecule ( Molecule molecule_)

Set the molecule for the basis set.

◆ molecule()

Molecule* molecule ( )

Get the molecule this basis set belongs to.

◆ setName()

void setName ( const std::string &  name)

Set the name of the basis set.

◆ name()

std::string name ( ) const

Get the name of the basis set.

◆ setTheoryName()

void setTheoryName ( const std::string &  name)

Set the name of the basis set.

◆ theoryName()

std::string theoryName ( ) const

Get the name of the basis set.

◆ molecularOrbitalCount()

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

Implemented in SlaterSet, and GaussianSet.

◆ homo() [1/2]

bool homo ( unsigned int  n)

Check if the given MO number is the HOMO or not.

Parameters
nThe MO number.
Returns
True if the given MO number is the HOMO.

◆ homo() [2/2]

unsigned int homo ( ) const
Returns
The molecular orbital number corresponding to the HOMO orbital.

◆ lumo() [1/2]

bool lumo ( unsigned int  n)

Check if the given MO number is the LUMO or not.

Parameters
nThe MO number.
Returns
True if the given MO number is the LUMO.

◆ lumo() [2/2]

unsigned int lumo ( ) const
Returns
The molecular orbital number corresponding to the LUMO orbital.

◆ isValid()

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

Implemented in SlaterSet, and GaussianSet.

Member Data Documentation

◆ m_electrons

unsigned int m_electrons[2]
protected

Total number of electrons, 0 is alpha electrons and 1 is beta electrons. For closed shell calculations alpha is doubly occupied and there are no beta electrons.

◆ m_molecule

Molecule* m_molecule
protected

The Molecule holds the atoms (and possibly bonds) read in from the output file. Most basis sets have orbitals around these atoms, but this is not necessarily the case.

◆ m_name

std::string m_name
protected

The name of the basis set, this is usually a string identifier referencing a standard basis set when only one is used.

◆ m_theoryName

std::string m_theoryName
protected

The name of the theory used for the calculation.


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