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

Radial basis function index. More...

#include <radial_functions_index.hpp>

Public Member Functions

 radial_functions_index ()
 Default constructor. More...
 
void add (angular_momentum am__)
 Add a single radial function with a given angular momentum. More...
 
void add_lo (angular_momentum am__)
 Add local-orbital type of radial function. More...
 
void add (angular_momentum am1__, angular_momentum am2__)
 Add two component of the spinor radial function. More...
 
auto am (rf_index idx__) const
 Return angular momentum of the radial function. More...
 
auto order (rf_index idx__) const
 Return order of the radial function. More...
 
auto lmax () const
 Return maximum angular momentum quantum number. More...
 
auto lmax_lo () const
 Maximum angular momentum quantum number for local orbitals. More...
 
auto num_lo (int l__) const
 Number of local orbitals for a given l. More...
 
auto max_order (int l__) const
 Return maximum order of the radial functions for a given angular momentum. More...
 
auto max_order () const
 Return maximum order of the radial functions across all angular momentums. More...
 
auto index_of (angular_momentum am__, int order__) const
 Return index of radial function. More...
 
auto index_of (rf_lo_index idxlo__) const
 Return index of local orbital. More...
 
auto full_j (int l__, int o__) const
 Check if the angular momentum is treated as full (j = l +/- 1/2). More...
 
auto subshell (int l__, int o__) const
 Return the angular mementum(s) of the subshell with given l and order. More...
 
int size () const
 Return total number of radial functions. More...
 
auto subshell_size (int l__, int o__) const
 Return the subshell size for a given l and order. More...
 
auto const & operator[] (rf_index i__) const
 Return radial function descriptor for a given index. More...
 
auto begin () const
 Begin iterator of radial function descriptor list. More...
 
auto end () const
 End iterator of radial function descriptor list. More...
 

Private Attributes

std::vector< std::vector< std::array< int, 2 > > > index_by_j_order_
 Store index of the radial function by angular momentum j and order of the function for a given j. *‍/. More...
 
std::vector< radial_function_index_descriptorvrd_
 List of radial function index descriptors. More...
 
int offset_lo_ {-1}
 Starting index of local orbitals (if added in LAPW case). More...
 

Detailed Description

Radial basis function index.

Radial functions can have a repeating orbital quantum number, for example {2s, 2s, 3p, 3p, 4d} configuration corresponds to {l=0, l=0, l=1, l=1, l=2} radial functions index.

Definition at line 173 of file radial_functions_index.hpp.

Constructor & Destructor Documentation

◆ radial_functions_index()

sirius::radial_functions_index::radial_functions_index ( )
inline

Default constructor.

Definition at line 190 of file radial_functions_index.hpp.

Member Function Documentation

◆ add() [1/2]

void sirius::radial_functions_index::add ( angular_momentum  am__)
inline

Add a single radial function with a given angular momentum.

Definition at line 195 of file radial_functions_index.hpp.

◆ add_lo()

void sirius::radial_functions_index::add_lo ( angular_momentum  am__)
inline

Add local-orbital type of radial function.

Local orbitals are only used in FP-LAPW, where the distinction between APW and local orbitals must be made. For PP-PW this is not used.

Definition at line 228 of file radial_functions_index.hpp.

◆ add() [2/2]

void sirius::radial_functions_index::add ( angular_momentum  am1__,
angular_momentum  am2__ 
)
inline

Add two component of the spinor radial function.

Definition at line 241 of file radial_functions_index.hpp.

◆ am()

auto sirius::radial_functions_index::am ( rf_index  idx__) const
inline

Return angular momentum of the radial function.

Definition at line 301 of file radial_functions_index.hpp.

◆ order()

auto sirius::radial_functions_index::order ( rf_index  idx__) const
inline

Return order of the radial function.

Definition at line 307 of file radial_functions_index.hpp.

◆ lmax()

auto sirius::radial_functions_index::lmax ( ) const
inline

Return maximum angular momentum quantum number.

Definition at line 313 of file radial_functions_index.hpp.

◆ lmax_lo()

auto sirius::radial_functions_index::lmax_lo ( ) const
inline

Maximum angular momentum quantum number for local orbitals.

Definition at line 319 of file radial_functions_index.hpp.

◆ num_lo()

auto sirius::radial_functions_index::num_lo ( int  l__) const
inline

Number of local orbitals for a given l.

Definition at line 331 of file radial_functions_index.hpp.

◆ max_order() [1/2]

auto sirius::radial_functions_index::max_order ( int  l__) const
inline

Return maximum order of the radial functions for a given angular momentum.

Definition at line 345 of file radial_functions_index.hpp.

◆ max_order() [2/2]

auto sirius::radial_functions_index::max_order ( ) const
inline

Return maximum order of the radial functions across all angular momentums.

Definition at line 351 of file radial_functions_index.hpp.

◆ index_of() [1/2]

auto sirius::radial_functions_index::index_of ( angular_momentum  am__,
int  order__ 
) const
inline

Return index of radial function.

Definition at line 361 of file radial_functions_index.hpp.

◆ index_of() [2/2]

auto sirius::radial_functions_index::index_of ( rf_lo_index  idxlo__) const
inline

Return index of local orbital.

Definition at line 368 of file radial_functions_index.hpp.

◆ full_j()

auto sirius::radial_functions_index::full_j ( int  l__,
int  o__ 
) const
inline

Check if the angular momentum is treated as full (j = l +/- 1/2).

Definition at line 375 of file radial_functions_index.hpp.

◆ subshell()

auto sirius::radial_functions_index::subshell ( int  l__,
int  o__ 
) const
inline

Return the angular mementum(s) of the subshell with given l and order.

Definition at line 386 of file radial_functions_index.hpp.

◆ size()

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

Return total number of radial functions.

Definition at line 400 of file radial_functions_index.hpp.

◆ subshell_size()

auto sirius::radial_functions_index::subshell_size ( int  l__,
int  o__ 
) const
inline

Return the subshell size for a given l and order.

In case of orbital quantum number l the size is 2l+1; in case of full angular momentum j the size is 2*(2l+1) and consists of 2j_{+} + 1 and 2j_{-} + 1 contributions

Definition at line 409 of file radial_functions_index.hpp.

◆ operator[]()

auto const & sirius::radial_functions_index::operator[] ( rf_index  i__) const
inline

Return radial function descriptor for a given index.

Definition at line 419 of file radial_functions_index.hpp.

◆ begin()

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

Begin iterator of radial function descriptor list.

Definition at line 425 of file radial_functions_index.hpp.

◆ end()

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

End iterator of radial function descriptor list.

Definition at line 431 of file radial_functions_index.hpp.

Member Data Documentation

◆ index_by_j_order_

std::vector<std::vector<std::array<int, 2> > > sirius::radial_functions_index::index_by_j_order_
private

Store index of the radial function by angular momentum j and order of the function for a given j. *‍/.

Definition at line 177 of file radial_functions_index.hpp.

◆ vrd_

std::vector<radial_function_index_descriptor> sirius::radial_functions_index::vrd_
private

List of radial function index descriptors.

This list establishes a mapping \( f_{\mu}(r) \leftrightarrow f_{j \nu}(r) \) between a composite index \( \mu \) of radial functions and corresponding \( j \nu \) indices, where \( j \) is the total orbital quantum number and \( \nu \) is the order of radial function for a given \( j \).

Definition at line 184 of file radial_functions_index.hpp.

◆ offset_lo_

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

Starting index of local orbitals (if added in LAPW case).

Definition at line 187 of file radial_functions_index.hpp.


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