occ
Loading...
Searching...
No Matches
occ::qm::MolecularOrbitals Struct Reference

#include <mo.h>

Collaboration diagram for occ::qm::MolecularOrbitals:
[legend]

Public Member Functions

 MolecularOrbitals (const MolecularOrbitals &)=default
 MolecularOrbitals ()=default
 MolecularOrbitals (const MolecularOrbitals &, const MolecularOrbitals &)
void update (const Mat &ortho, const Mat &potential)
void update_density_matrix ()
void update_occupied_orbitals ()
void update_occupied_orbitals_fractional ()
void rotate (const AOBasis &basis, const occ::Mat3 &rotation)
void to_cartesian (const AOBasis &bspure, const AOBasis &bscart)
void to_spherical (const AOBasis &bscart, const AOBasis &bspure)
void print () const
void incorporate_norm (Eigen::Ref< const Vec > norms)
double expectation_value (const Mat &op) const
const auto occ_alpha () const
const auto occ_beta () const
size_t num_electrons () const
 Get total number of electrons represented by these MOs.
Mat total_density_matrix () const
 Total (alpha + beta) electron density matrix, n_ao x n_ao.
Mat energy_weighted_density_matrix () const
Mat density_matrix_single_mo (int mo_index) const
MolecularOrbitals symmetrically_orthonormalized (const Mat &overlap_matrix) const
MolecularOrbitals as_kind (SpinorbitalKind) const

Public Attributes

SpinorbitalKind kind {SpinorbitalKind::Restricted}
size_t n_alpha {0}
size_t n_beta {0}
size_t n_ao {0}
Mat C
Mat Cocc
Mat D
Vec energies
Vec occupation
OrbitalSmearing smearing

Constructor & Destructor Documentation

◆ MolecularOrbitals() [1/3]

occ::qm::MolecularOrbitals::MolecularOrbitals ( const MolecularOrbitals & )
default

◆ MolecularOrbitals() [2/3]

occ::qm::MolecularOrbitals::MolecularOrbitals ( )
default

◆ MolecularOrbitals() [3/3]

occ::qm::MolecularOrbitals::MolecularOrbitals ( const MolecularOrbitals & ,
const MolecularOrbitals &  )

Member Function Documentation

◆ as_kind()

MolecularOrbitals occ::qm::MolecularOrbitals::as_kind ( SpinorbitalKind ) const

◆ density_matrix_single_mo()

Mat occ::qm::MolecularOrbitals::density_matrix_single_mo ( int mo_index) const

◆ energy_weighted_density_matrix()

Mat occ::qm::MolecularOrbitals::energy_weighted_density_matrix ( ) const

◆ expectation_value()

double occ::qm::MolecularOrbitals::expectation_value ( const Mat & op) const

◆ incorporate_norm()

void occ::qm::MolecularOrbitals::incorporate_norm ( Eigen::Ref< const Vec > norms)

◆ num_electrons()

size_t occ::qm::MolecularOrbitals::num_electrons ( ) const
inline

Get total number of electrons represented by these MOs.

Returns
Total electron count (accounting for spin convention)

◆ occ_alpha()

const auto occ::qm::MolecularOrbitals::occ_alpha ( ) const
inline

◆ occ_beta()

const auto occ::qm::MolecularOrbitals::occ_beta ( ) const
inline

◆ print()

void occ::qm::MolecularOrbitals::print ( ) const

◆ rotate()

void occ::qm::MolecularOrbitals::rotate ( const AOBasis & basis,
const occ::Mat3 & rotation )

◆ symmetrically_orthonormalized()

MolecularOrbitals occ::qm::MolecularOrbitals::symmetrically_orthonormalized ( const Mat & overlap_matrix) const

◆ to_cartesian()

void occ::qm::MolecularOrbitals::to_cartesian ( const AOBasis & bspure,
const AOBasis & bscart )

◆ to_spherical()

void occ::qm::MolecularOrbitals::to_spherical ( const AOBasis & bscart,
const AOBasis & bspure )

◆ total_density_matrix()

Mat occ::qm::MolecularOrbitals::total_density_matrix ( ) const

Total (alpha + beta) electron density matrix, n_ao x n_ao.

◆ update()

void occ::qm::MolecularOrbitals::update ( const Mat & ortho,
const Mat & potential )

◆ update_density_matrix()

void occ::qm::MolecularOrbitals::update_density_matrix ( )

◆ update_occupied_orbitals()

void occ::qm::MolecularOrbitals::update_occupied_orbitals ( )

◆ update_occupied_orbitals_fractional()

void occ::qm::MolecularOrbitals::update_occupied_orbitals_fractional ( )

Member Data Documentation

◆ C

Mat occ::qm::MolecularOrbitals::C

◆ Cocc

Mat occ::qm::MolecularOrbitals::Cocc

◆ D

Mat occ::qm::MolecularOrbitals::D

◆ energies

Vec occ::qm::MolecularOrbitals::energies

◆ kind

SpinorbitalKind occ::qm::MolecularOrbitals::kind {SpinorbitalKind::Restricted}

◆ n_alpha

size_t occ::qm::MolecularOrbitals::n_alpha {0}

◆ n_ao

size_t occ::qm::MolecularOrbitals::n_ao {0}

◆ n_beta

size_t occ::qm::MolecularOrbitals::n_beta {0}

◆ occupation

Vec occ::qm::MolecularOrbitals::occupation

◆ smearing

OrbitalSmearing occ::qm::MolecularOrbitals::smearing

The documentation for this struct was generated from the following file:
  • /home/runner/work/occ/occ/include/occ/qm/mo.h