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: