SIRIUS 7.5.0
Electronic structure library and applications
|
Inherits sirius::Hubbard_matrix.
Public Member Functions | |
Occupation_matrix (Simulation_context &ctx__) | |
template<typename T > | |
void | add_k_point_contribution (K_point< T > &kp__) |
void | init () |
void | reduce () |
void | update_nonlocal () |
void | zero () |
void | print_occupancies (int verbosity__) const |
auto const & | occ_mtrx_T (r3::vector< int > T__) const |
auto const & | occ_mtrx_T () const |
Public Member Functions inherited from sirius::Hubbard_matrix | |
Hubbard_matrix (Simulation_context &ctx__) | |
void | access (std::string const &what__, std::complex< double > *ptr__, int ld__) |
Retrieve or set elements of the Hubbard matrix. More... | |
void | print_local (int ia__, std::ostream &out__) const |
void | print_nonlocal (int idx__, std::ostream &out__) const |
void | zero () |
auto & | local () const |
Return a vector containing the occupation numbers for each atomic orbital. More... | |
auto & | local (int ia__) |
auto const & | local (int ia__) const |
auto & | nonlocal () const |
auto & | nonlocal (int idx__) |
auto const & | nonlocal (int idx__) const |
const auto & | atomic_orbitals () const |
const auto & | atomic_orbitals (const int idx__) const |
int | offset (const int idx__) const |
const auto & | offset () const |
auto const & | ctx () const |
int | find_orbital_index (const int ia__, const int n__, const int l__) const |
Private Attributes | |
std::map< r3::vector< int >, sddk::mdarray< std::complex< double >, 3 > > | occ_mtrx_T_ |
K-point contribution to density matrices weighted with e^{ikT} phase factors. More... | |
Friends | |
void | copy (Occupation_matrix const &src__, Occupation_matrix &dest__) |
Additional Inherited Members | |
Protected Attributes inherited from sirius::Hubbard_matrix | |
Simulation_context & | ctx_ |
std::vector< sddk::mdarray< std::complex< double >, 3 > > | local_ |
Local part of Hubbard matrix. More... | |
std::vector< sddk::mdarray< std::complex< double >, 3 > > | nonlocal_ |
Non-local part of Hubbard matrix. More... | |
std::vector< std::pair< int, int > > | atomic_orbitals_ |
std::vector< int > | offset_ |
Definition at line 34 of file occupation_matrix.hpp.
sirius::Occupation_matrix::Occupation_matrix | ( | Simulation_context & | ctx__ | ) |
Definition at line 31 of file occupation_matrix.cpp.
template void sirius::Occupation_matrix::add_k_point_contribution< double > | ( | K_point< T > & | kp__ | ) |
Definition at line 62 of file occupation_matrix.cpp.
void sirius::Occupation_matrix::init | ( | ) |
The initial occupancy is calculated following Hund rules. We first fill the d (f) states according to the hund's rules and with majority spin first and the remaining electrons distributed among the minority states.
Definition at line 226 of file occupation_matrix.cpp.
|
inline |
Definition at line 51 of file occupation_matrix.hpp.
|
inline |
Definition at line 73 of file occupation_matrix.hpp.
|
inline |
Definition at line 106 of file occupation_matrix.hpp.
void sirius::Occupation_matrix::print_occupancies | ( | int | verbosity__ | ) | const |
Definition at line 330 of file occupation_matrix.cpp.
|
inline |
Definition at line 116 of file occupation_matrix.hpp.
|
inline |
Definition at line 121 of file occupation_matrix.hpp.
|
friend |
Definition at line 131 of file occupation_matrix.hpp.
|
private |
K-point contribution to density matrices weighted with e^{ikT} phase factors.
Definition at line 38 of file occupation_matrix.hpp.