File ElectronicOccupation.h¶
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
namespace
Scine
This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.
This header contains alias definitions defining which classes to use for the different degrees of derivatives.
-
namespace
Utils
-
namespace
LcaoUtil
-
class
ElectronicOccupation
- #include <ElectronicOccupation.h>
Class to hold information about which molecular orbitals are occupied. TODO: Implement fractional occupation ?
Public Functions
-
int
numberRestrictedElectrons
() const¶
-
int
numberOccupiedRestrictedOrbitals
() const¶
-
int
numberAlphaElectrons
() const¶
-
int
numberBetaElectrons
() const¶
-
bool
isFilledUpFromTheBottom
() const Returns true if the electrons all occupy the lowest orbitals.
-
bool
hasUnpairedRHFElectron
() const¶
-
bool
isRestricted
() const¶
-
bool
isUnrestricted
() const¶
-
void
makeUnrestricted
() From a restricted occupation, transform to an unrestricted occupation.
-
ElectronicOccupation
toUnrestricted
() const¶
-
const std::vector<int> &
getFilledRestrictedOrbitals
() const¶
-
const std::vector<int> &
getFilledAlphaOrbitals
() const¶
-
const std::vector<int> &
getFilledBetaOrbitals
() const¶
-
void
fillLowestRestrictedOrbitalsWithElectrons
(int nElectrons)¶
-
void
fillLowestUnrestrictedOrbitals
(int nAlphaElectrons, int nBetaElectrons)¶
-
void
fillSpecifiedRestrictedOrbitals
(std::vector<int> occupiedRestrictedOrbitals)¶
-
void
fillSpecifiedUnrestrictedOrbitals
(std::vector<int> occupiedAlphaOrbitals, std::vector<int> occupiedBetaOrbitals)¶
Private Functions
-
void
reset
()¶
-
void
checkWhetherFilledFromBottom
() const¶
-
std::vector<int>
generateOccupiedArrayFromNumberOfOccupiedOrbitals
(int nOrbitals) const¶
Private Members
-
bool
restricted_
= false¶
-
int
nRestrictedElectrons_
= 0¶
-
int
nAlphaElectrons_
= 0¶
-
int
nBetaElectrons_
= 0¶
-
bool
hasUnpairedElectron_
= false¶
-
bool
specifiedWithNumberElectrons_
= false¶
-
bool
specifiedWithOrbitals_
= false¶
-
std::vector<int>
filledRestrictedOrbitals_
¶
-
std::vector<int>
filledAlphaOrbitals_
¶
-
std::vector<int>
filledBetaOrbitals_
¶
-
int
-
class
-
namespace
-
namespace