Rosetta
2015.31
|
describes the electron configuration of atoms More...
#include <ElectronConfiguration.hh>
Public Types | |
enum | PrincipalQuantumNumber { e_1, e_2, e_3, e_4, e_5, e_6, e_7, MaxPrincipleQuantumNumber } |
enum | AngularMomentumQuantumNumber { e_S, e_P, e_D, e_F, MaxAngularMomentumQuantumNumber } |
Public Member Functions | |
ElectronConfiguration () | |
default constructor More... | |
ElectronConfiguration (const core::Size VALENCE_ELECTRONS_SP, const core::Size VALENCE_ELECTRONS_SPD, const core::Size NUMBER_ELECTRONS_1S, const core::Size NUMBER_ELECTRONS_1P, const core::Size NUMBER_ELECTRONS_1D, const core::Size NUMBER_ELECTRONS_1F, const core::Size NUMBER_ELECTRONS_2S, const core::Size NUMBER_ELECTRONS_2P, const core::Size NUMBER_ELECTRONS_2D, const core::Size NUMBER_ELECTRONS_2F, const core::Size NUMBER_ELECTRONS_3S, const core::Size NUMBER_ELECTRONS_3P, const core::Size NUMBER_ELECTRONS_3D, const core::Size NUMBER_ELECTRONS_3F, const core::Size NUMBER_ELECTRONS_4S, const core::Size NUMBER_ELECTRONS_4P, const core::Size NUMBER_ELECTRONS_4D, const core::Size NUMBER_ELECTRONS_4F, const core::Size NUMBER_ELECTRONS_5S, const core::Size NUMBER_ELECTRONS_5P, const core::Size NUMBER_ELECTRONS_5D, const core::Size NUMBER_ELECTRONS_5F, const core::Size NUMBER_ELECTRONS_6S, const core::Size NUMBER_ELECTRONS_6P, const core::Size NUMBER_ELECTRONS_6D, const core::Size NUMBER_ELECTRONS_6F, const core::Size NUMBER_ELECTRONS_7S, const core::Size NUMBER_ELECTRONS_7P, const core::Size NUMBER_ELECTRONS_7D, const core::Size NUMBER_ELECTRONS_7F) | |
construct from actual number of electrons More... | |
core::Size | valence_electrons_s () const |
return number ValenceElectrons in the sigma valence orbitals More... | |
core::Size | unpaired_valence_electrons_sp () const |
return the number of valence electrons in SP orbitals More... | |
core::Size | valence_electrons_p () const |
core::Size | valence_electrons_sp () const |
core::Size | max_valence_electrons_sp () const |
core::Size | valence_electrons_spd () const |
core::Size | operator() (const PrincipalQuantumNumber PRINCIPAL_QUANTUM_NUMBER, const AngularMomentumQuantumNumber ANGULAR_MOMENTUM_QUANTUM_NUMBER) const |
number of electrons in that orbital More... | |
core::Size | operator() (const AngularMomentumQuantumNumber ANGULAR_MOMENTUM_QUANTUM_NUMBER) const |
number of electrons in the valence orbital More... | |
std::istream & | read (std::istream &ISTREAM) |
read from std::istream More... | |
std::ostream & | write (std::ostream &OSTREAM) const |
write to std::ostream More... | |
Static Public Member Functions | |
static std::vector < std::string > const & | PrincipalQuantumNumber_strings () |
static std::vector < std::string > const & | AngularMomentumQuantumNumber_strings () |
static const std::string & | get_descriptor (const PrincipalQuantumNumber &NUM) |
PrincipalQuantumNumber as string. More... | |
static PrincipalQuantumNumber | get_principal_quantum_number (std::string const &STR) |
PrincipalQuantumNumber from string. More... | |
static const std::string & | get_descriptor (const AngularMomentumQuantumNumber &NUM) |
AngularMomentumQuantumNumber as string. More... | |
static AngularMomentumQuantumNumber | get_angular_momentum_quantum_number (std::string const &STR) |
AngularMomentumQuantumNumber as string. More... | |
Static Private Member Functions | |
static std::vector < std::vector< core::Size > > const & | s_MaxElectronsInOrbital () |
maximum electron for each orbital More... | |
Private Attributes | |
core::Size | valence_electrons_sp_ |
number S and P valence electrons (main group 1,...,8) More... | |
core::Size | valence_electrons_spd_ |
number S, P, and D valence electrons (group 1,...,18) More... | |
core::Size | electrons_ [MaxPrincipleQuantumNumber][4] |
ElectronConfiguration. More... | |
core::Size | valence_quantum_number_ |
last quantum number with a non-zero number of electrons More... | |
describes the electron configuration of atoms
Describes the electron configuration of an atom on quantum chemistry level.
core::chemical::ElectronConfiguration::ElectronConfiguration | ( | ) |
default constructor
References electrons_, MaxAngularMomentumQuantumNumber, and MaxPrincipleQuantumNumber.
core::chemical::ElectronConfiguration::ElectronConfiguration | ( | const core::Size | VALENCE_ELECTRONS_SP, |
const core::Size | VALENCE_ELECTRONS_SPD, | ||
const core::Size | NUMBER_ELECTRONS_1S, | ||
const core::Size | NUMBER_ELECTRONS_1P, | ||
const core::Size | NUMBER_ELECTRONS_1D, | ||
const core::Size | NUMBER_ELECTRONS_1F, | ||
const core::Size | NUMBER_ELECTRONS_2S, | ||
const core::Size | NUMBER_ELECTRONS_2P, | ||
const core::Size | NUMBER_ELECTRONS_2D, | ||
const core::Size | NUMBER_ELECTRONS_2F, | ||
const core::Size | NUMBER_ELECTRONS_3S, | ||
const core::Size | NUMBER_ELECTRONS_3P, | ||
const core::Size | NUMBER_ELECTRONS_3D, | ||
const core::Size | NUMBER_ELECTRONS_3F, | ||
const core::Size | NUMBER_ELECTRONS_4S, | ||
const core::Size | NUMBER_ELECTRONS_4P, | ||
const core::Size | NUMBER_ELECTRONS_4D, | ||
const core::Size | NUMBER_ELECTRONS_4F, | ||
const core::Size | NUMBER_ELECTRONS_5S, | ||
const core::Size | NUMBER_ELECTRONS_5P, | ||
const core::Size | NUMBER_ELECTRONS_5D, | ||
const core::Size | NUMBER_ELECTRONS_5F, | ||
const core::Size | NUMBER_ELECTRONS_6S, | ||
const core::Size | NUMBER_ELECTRONS_6P, | ||
const core::Size | NUMBER_ELECTRONS_6D, | ||
const core::Size | NUMBER_ELECTRONS_6F, | ||
const core::Size | NUMBER_ELECTRONS_7S, | ||
const core::Size | NUMBER_ELECTRONS_7P, | ||
const core::Size | NUMBER_ELECTRONS_7D, | ||
const core::Size | NUMBER_ELECTRONS_7F | ||
) |
construct from actual number of electrons
|
static |
Referenced by get_angular_momentum_quantum_number(), and get_descriptor().
|
static |
AngularMomentumQuantumNumber as string.
the | AngularMomentumQuantumNumber as string |
References AngularMomentumQuantumNumber_strings(), and MaxAngularMomentumQuantumNumber.
|
static |
PrincipalQuantumNumber as string.
NUM | the PrincipalQuantumNumber desired |
References PrincipalQuantumNumber_strings().
|
static |
AngularMomentumQuantumNumber as string.
NUM | the AngularMomentumQuantumNumber desired |
References AngularMomentumQuantumNumber_strings().
|
static |
PrincipalQuantumNumber from string.
the | PrincipalQuantumNumber as string |
References MaxPrincipleQuantumNumber, and PrincipalQuantumNumber_strings().
core::Size core::chemical::ElectronConfiguration::max_valence_electrons_sp | ( | ) | const |
References e_P, e_S, s_MaxElectronsInOrbital(), and valence_quantum_number_.
Referenced by unpaired_valence_electrons_sp().
|
inline |
number of electrons in that orbital
PRINCIPAL_QUANTUM_NUMBER | 1, 2, 3, 4, 5, 6. or 7 |
ANGULAR_MOMENTUM_QUANTUM_NUMBER | S, P, D, or F |
References electrons_.
|
inline |
number of electrons in the valence orbital
ANGULAR_MOMENTUM_QUANTUM_NUMBER | S, P, D, or F |
References electrons_, and valence_quantum_number_.
|
static |
Referenced by get_descriptor(), and get_principal_quantum_number().
std::istream & core::chemical::ElectronConfiguration::read | ( | std::istream & | ISTREAM | ) |
read from std::istream
ISTREAM | input stream |
References electrons_, MaxAngularMomentumQuantumNumber, MaxPrincipleQuantumNumber, core::chemical::gasteiger::safe_read(), valence_electrons_sp_, valence_electrons_spd_, and valence_quantum_number_.
Referenced by core::chemical::operator>>().
|
staticprivate |
maximum electron for each orbital
Referenced by max_valence_electrons_sp().
|
inline |
return the number of valence electrons in SP orbitals
References max_valence_electrons_sp(), and valence_electrons_sp_.
|
inline |
References e_P, electrons_, and valence_quantum_number_.
Referenced by core::chemical::Element::is_conjugatable().
|
inline |
return number ValenceElectrons in the sigma valence orbitals
References e_S, electrons_, and valence_quantum_number_.
core::Size core::chemical::ElectronConfiguration::valence_electrons_sp | ( | ) | const |
References valence_electrons_sp_.
core::Size core::chemical::ElectronConfiguration::valence_electrons_spd | ( | ) | const |
References valence_electrons_spd_.
std::ostream & core::chemical::ElectronConfiguration::write | ( | std::ostream & | OSTREAM | ) | const |
write to std::ostream
OSTREAM | output stream |
INDENT | number of indentations |
OSTREAM | output stream |
References electrons_, MaxAngularMomentumQuantumNumber, MaxPrincipleQuantumNumber, core::chemical::gasteiger::safe_write(), valence_electrons_sp_, valence_electrons_spd_, and valence_quantum_number_.
Referenced by core::chemical::operator<<().
|
private |
Referenced by ElectronConfiguration(), operator()(), read(), valence_electrons_p(), valence_electrons_s(), and write().
|
private |
number S and P valence electrons (main group 1,...,8)
Referenced by read(), unpaired_valence_electrons_sp(), valence_electrons_sp(), and write().
|
private |
number S, P, and D valence electrons (group 1,...,18)
Referenced by read(), valence_electrons_spd(), and write().
|
private |
last quantum number with a non-zero number of electrons
Referenced by max_valence_electrons_sp(), operator()(), read(), valence_electrons_p(), valence_electrons_s(), and write().