SIRIUS 7.5.0
Electronic structure library and applications
Public Member Functions | Private Attributes | List of all members
sirius::basis_functions_index Class Reference

A helper class to establish various index mappings for the atomic basis functions. More...

#include <basis_functions_index.hpp>

Public Member Functions

 basis_functions_index (radial_functions_index const &indexr__, bool expand_full_j__)
 
int size () const
 Return total number of MT basis functions. More...
 
auto size_aw () const
 Return size of AW part of basis functions in case of LAPW. More...
 
auto size_lo () const
 Return size of local-orbital part of basis functions in case of LAPW. More...
 
int index_by_l_m_order (int l, int m, int order) const
 
int index_by_lm_order (int lm, int order) const
 
int index_of (rf_index idxrf__) const
 
auto const & operator[] (int i) const
 Return descriptor of the given basis function. More...
 
auto begin () const
 
auto end () const
 
auto const & indexr () const
 

Private Attributes

std::vector< basis_function_index_descriptorvbd_
 
sddk::mdarray< int, 2 > index_by_lm_order_
 
int offset_lo_ {-1}
 
std::vector< int > offset_
 
radial_functions_index indexr_
 

Detailed Description

A helper class to establish various index mappings for the atomic basis functions.

Atomic basis function is a radial function multiplied by a spherical harmonic:

\[ \phi_{\ell m \nu}({\bf r}) = f_{\ell \nu}(r) Y_{\ell m}(\hat {\bf r}) \]

Multiple radial functions for each \( \ell \) channel are allowed. This is reflected by the \( \nu \) index and called "order".

Definition at line 68 of file basis_functions_index.hpp.

Constructor & Destructor Documentation

◆ basis_functions_index() [1/2]

sirius::basis_functions_index::basis_functions_index ( )
inline

Definition at line 82 of file basis_functions_index.hpp.

◆ basis_functions_index() [2/2]

sirius::basis_functions_index::basis_functions_index ( radial_functions_index const &  indexr__,
bool  expand_full_j__ 
)
inline

Definition at line 86 of file basis_functions_index.hpp.

Member Function Documentation

◆ size()

int sirius::basis_functions_index::size ( ) const
inline

Return total number of MT basis functions.

Definition at line 132 of file basis_functions_index.hpp.

◆ size_aw()

auto sirius::basis_functions_index::size_aw ( ) const
inline

Return size of AW part of basis functions in case of LAPW.

Definition at line 138 of file basis_functions_index.hpp.

◆ size_lo()

auto sirius::basis_functions_index::size_lo ( ) const
inline

Return size of local-orbital part of basis functions in case of LAPW.

Definition at line 148 of file basis_functions_index.hpp.

◆ index_by_l_m_order()

int sirius::basis_functions_index::index_by_l_m_order ( int  l,
int  m,
int  order 
) const
inline

Definition at line 157 of file basis_functions_index.hpp.

◆ index_by_lm_order()

int sirius::basis_functions_index::index_by_lm_order ( int  lm,
int  order 
) const
inline

Definition at line 162 of file basis_functions_index.hpp.

◆ index_of()

int sirius::basis_functions_index::index_of ( rf_index  idxrf__) const
inline

Definition at line 167 of file basis_functions_index.hpp.

◆ operator[]()

auto const & sirius::basis_functions_index::operator[] ( int  i) const
inline

Return descriptor of the given basis function.

Definition at line 173 of file basis_functions_index.hpp.

◆ begin()

auto sirius::basis_functions_index::begin ( ) const
inline

Definition at line 179 of file basis_functions_index.hpp.

◆ end()

auto sirius::basis_functions_index::end ( ) const
inline

Definition at line 184 of file basis_functions_index.hpp.

◆ indexr()

auto const & sirius::basis_functions_index::indexr ( ) const
inline

Definition at line 189 of file basis_functions_index.hpp.

Member Data Documentation

◆ vbd_

std::vector<basis_function_index_descriptor> sirius::basis_functions_index::vbd_
private

Definition at line 71 of file basis_functions_index.hpp.

◆ index_by_lm_order_

sddk::mdarray<int, 2> sirius::basis_functions_index::index_by_lm_order_
private

Definition at line 73 of file basis_functions_index.hpp.

◆ offset_lo_

int sirius::basis_functions_index::offset_lo_ {-1}
private

Definition at line 75 of file basis_functions_index.hpp.

◆ offset_

std::vector<int> sirius::basis_functions_index::offset_
private

Definition at line 77 of file basis_functions_index.hpp.

◆ indexr_

radial_functions_index sirius::basis_functions_index::indexr_
private

Definition at line 79 of file basis_functions_index.hpp.


The documentation for this class was generated from the following file: