Structure containing all information about a specific hubbard orbital (including the radial function).
More...
#include <hubbard_orbitals_descriptor.hpp>
|
| hubbard_orbital_descriptor () |
| Constructor. More...
|
|
| hubbard_orbital_descriptor (const int n__, const int l__, const int orbital_index__, const double occ__, const double J__, const double U__, const double *hub_coef__, const double alpha__, const double beta__, const double J0__, std::vector< double > initial_occupancy__, Spline< double > f__, bool use_for_calculations__, int idx_wf__) |
| Constructor. More...
|
|
| hubbard_orbital_descriptor (hubbard_orbital_descriptor &&src) |
| Move constructor. More...
|
|
int | n () const |
|
int | l () const |
|
double | hubbard_matrix (const int m1, const int m2, const int m3, const int m4) const |
|
double & | hubbard_matrix (const int m1, const int m2, const int m3, const int m4) |
|
double | J0 () const |
|
double | U () const |
|
double | J () const |
|
double | U_minus_J () const |
|
double | B () const |
|
double | E2 () const |
|
double | E3 () const |
|
double | alpha () const |
|
double | beta () const |
|
double | occupancy () const |
|
Spline< double > const & | f () const |
|
bool | use_for_calculation () const |
|
auto const & | initial_occupancy () const |
|
auto | idx_wf () const |
|
Structure containing all information about a specific hubbard orbital (including the radial function).
Definition at line 33 of file hubbard_orbitals_descriptor.hpp.
◆ hubbard_orbital_descriptor() [1/3]
sirius::hubbard_orbital_descriptor::hubbard_orbital_descriptor |
( |
| ) |
|
|
inline |
◆ hubbard_orbital_descriptor() [2/3]
sirius::hubbard_orbital_descriptor::hubbard_orbital_descriptor |
( |
const int |
n__, |
|
|
const int |
l__, |
|
|
const int |
orbital_index__, |
|
|
const double |
occ__, |
|
|
const double |
J__, |
|
|
const double |
U__, |
|
|
const double * |
hub_coef__, |
|
|
const double |
alpha__, |
|
|
const double |
beta__, |
|
|
const double |
J0__, |
|
|
std::vector< double > |
initial_occupancy__, |
|
|
Spline< double > |
f__, |
|
|
bool |
use_for_calculations__, |
|
|
int |
idx_wf__ |
|
) |
| |
|
inline |
◆ ~hubbard_orbital_descriptor()
sirius::hubbard_orbital_descriptor::~hubbard_orbital_descriptor |
( |
| ) |
|
|
inline |
◆ hubbard_orbital_descriptor() [3/3]
◆ hubbard_F_coefficients()
auto sirius::hubbard_orbital_descriptor::hubbard_F_coefficients |
( |
| ) |
const |
|
inlineprivate |
◆ calculate_ak_coefficients()
void sirius::hubbard_orbital_descriptor::calculate_ak_coefficients |
( |
sddk::mdarray< double, 5 > & |
ak | ) |
|
|
inlineprivate |
◆ compute_hubbard_matrix()
void sirius::hubbard_orbital_descriptor::compute_hubbard_matrix |
( |
| ) |
|
|
inlineprivate |
this function computes the matrix elements of the orbital part of the electron-electron interactions. we effectively compute
\[ u(m,m'',m',m''') = \left<m,m''|V_{e-e}|m',m'''\right> \sum_k a_k(m,m',m'',m''') F_k \]
where the F_k are calculated for real spherical harmonics
Definition at line 153 of file hubbard_orbitals_descriptor.hpp.
◆ initialize_hubbard_matrix()
void sirius::hubbard_orbital_descriptor::initialize_hubbard_matrix |
( |
| ) |
|
|
inlineprivate |
◆ n()
int sirius::hubbard_orbital_descriptor::n |
( |
| ) |
const |
|
inline |
◆ l()
int sirius::hubbard_orbital_descriptor::l |
( |
| ) |
const |
|
inline |
◆ hubbard_matrix() [1/2]
double sirius::hubbard_orbital_descriptor::hubbard_matrix |
( |
const int |
m1, |
|
|
const int |
m2, |
|
|
const int |
m3, |
|
|
const int |
m4 |
|
) |
| const |
|
inline |
◆ hubbard_matrix() [2/2]
double & sirius::hubbard_orbital_descriptor::hubbard_matrix |
( |
const int |
m1, |
|
|
const int |
m2, |
|
|
const int |
m3, |
|
|
const int |
m4 |
|
) |
| |
|
inline |
◆ J0()
double sirius::hubbard_orbital_descriptor::J0 |
( |
| ) |
const |
|
inline |
◆ U()
double sirius::hubbard_orbital_descriptor::U |
( |
| ) |
const |
|
inline |
◆ J()
double sirius::hubbard_orbital_descriptor::J |
( |
| ) |
const |
|
inline |
◆ U_minus_J()
double sirius::hubbard_orbital_descriptor::U_minus_J |
( |
| ) |
const |
|
inline |
◆ B()
double sirius::hubbard_orbital_descriptor::B |
( |
| ) |
const |
|
inline |
◆ E2()
double sirius::hubbard_orbital_descriptor::E2 |
( |
| ) |
const |
|
inline |
◆ E3()
double sirius::hubbard_orbital_descriptor::E3 |
( |
| ) |
const |
|
inline |
◆ alpha()
double sirius::hubbard_orbital_descriptor::alpha |
( |
| ) |
const |
|
inline |
◆ beta()
double sirius::hubbard_orbital_descriptor::beta |
( |
| ) |
const |
|
inline |
◆ occupancy()
double sirius::hubbard_orbital_descriptor::occupancy |
( |
| ) |
const |
|
inline |
◆ f()
Spline< double > const & sirius::hubbard_orbital_descriptor::f |
( |
| ) |
const |
|
inline |
◆ use_for_calculation()
bool sirius::hubbard_orbital_descriptor::use_for_calculation |
( |
| ) |
const |
|
inline |
◆ initial_occupancy()
auto const & sirius::hubbard_orbital_descriptor::initial_occupancy |
( |
| ) |
const |
|
inline |
◆ idx_wf()
auto sirius::hubbard_orbital_descriptor::idx_wf |
( |
| ) |
const |
|
inline |
◆ n_
int sirius::hubbard_orbital_descriptor::n_ {-1} |
|
private |
◆ l_
int sirius::hubbard_orbital_descriptor::l_ {-1} |
|
private |
◆ use_for_calculation_
bool sirius::hubbard_orbital_descriptor::use_for_calculation_ {true} |
|
private |
◆ occupancy_
double sirius::hubbard_orbital_descriptor::occupancy_ {-1.0} |
|
private |
◆ f_
Spline<double> sirius::hubbard_orbital_descriptor::f_ |
|
private |
◆ U_
double sirius::hubbard_orbital_descriptor::U_ {0.0} |
|
private |
◆ J_
double sirius::hubbard_orbital_descriptor::J_ {0.0} |
|
private |
◆ hubbard_coefficients_
std::array<double, 4> sirius::hubbard_orbital_descriptor::hubbard_coefficients_ = {0.0, 0.0, 0.0, 0.0} |
|
private |
Different hubbard coefficients.
s: U = hubbard_coefficients_[0] p: U = hubbard_coefficients_[0], J = hubbard_coefficients_[1] d: U = hubbard_coefficients_[0], J = hubbard_coefficients_[1], B = hubbard_coefficients_[2] f: U = hubbard_coefficients_[0], J = hubbard_coefficients_[1], E2 = hubbard_coefficients_[2], E3 = hubbard_coefficients_[3] hubbard_coefficients[4] = U_alpha hubbard_coefficients[5] = U_beta
Definition at line 60 of file hubbard_orbitals_descriptor.hpp.
◆ hubbard_matrix_
sddk::mdarray<double, 4> sirius::hubbard_orbital_descriptor::hubbard_matrix_ |
|
private |
◆ alpha_
double sirius::hubbard_orbital_descriptor::alpha_ {0.0} |
|
private |
◆ beta_
double sirius::hubbard_orbital_descriptor::beta_ {0.0} |
|
private |
◆ J0_
double sirius::hubbard_orbital_descriptor::J0_ {0.0} |
|
private |
◆ initial_occupancy_
std::vector<double> sirius::hubbard_orbital_descriptor::initial_occupancy_ |
|
private |
◆ idx_wf_
int sirius::hubbard_orbital_descriptor::idx_wf_ {-1} |
|
private |
The documentation for this class was generated from the following file: