ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
Matrix_Orbs11 Class Reference

#include <Matrix_Orbs11.h>

Collaboration diagram for Matrix_Orbs11:

Public Types

enum class  Matrix_Order { AB , BA }
 

Public Member Functions

void init (const int mode, const UnitCell &ucell, const LCAO_Orbitals &orb, const double kmesh_times, const double rmax, int &Lmax)
 
void init_radial (const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &orb_A, const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &orb_B, const ORB_gaunt_table &MGT)
 
void init_radial (const LCAO_Orbitals &orb_A, const LCAO_Orbitals &orb_B, const ORB_gaunt_table &MGT)
 
void init_radial_table ()
 
void init_radial_table (const std::map< size_t, std::map< size_t, std::set< double > > > &Rs)
 
template<typename Tdata >
RI::Tensor< Tdata > cal_overlap_matrix (const size_t TA, const size_t TB, const ModuleBase::Vector3< double > &tauA, const ModuleBase::Vector3< double > &tauB, const ModuleBase::Element_Basis_Index::IndexLNM &index_A, const ModuleBase::Element_Basis_Index::IndexLNM &index_B, const Matrix_Order &matrix_order) const
 
template<typename Tdata >
std::array< RI::Tensor< Tdata >, 3 > cal_grad_overlap_matrix (const size_t TA, const size_t TB, const ModuleBase::Vector3< double > &tauA, const ModuleBase::Vector3< double > &tauB, const ModuleBase::Element_Basis_Index::IndexLNM &index_A, const ModuleBase::Element_Basis_Index::IndexLNM &index_B, const Matrix_Order &matrix_order) const
 
template<typename Tdata >
std::map< size_t, std::map< size_t, std::map< size_t, std::map< size_t, RI::Tensor< Tdata > > > > > cal_overlap_matrix_all (const UnitCell &ucell, const ModuleBase::Element_Basis_Index::IndexLNM &index_r, const ModuleBase::Element_Basis_Index::IndexLNM &index_c) const
 

Private Attributes

ModuleBase::Sph_Bessel_Recursive::D2psb_ = nullptr
 
const double lcao_dr_ = 0.01
 
double * lat0 =nullptr
 
std::map< size_t, std::map< size_t, std::map< int, std::map< size_t, std::map< int, std::map< size_t, Center2_Orb::Orb11 > > > > > > center2_orb11_s
 

Member Enumeration Documentation

◆ Matrix_Order

enum class Matrix_Orbs11::Matrix_Order
strong
Enumerator
AB 
BA 

Member Function Documentation

◆ cal_grad_overlap_matrix()

template<typename Tdata >
std::array< RI::Tensor< Tdata >, 3 > Matrix_Orbs11::cal_grad_overlap_matrix ( const size_t  TA,
const size_t  TB,
const ModuleBase::Vector3< double > &  tauA,
const ModuleBase::Vector3< double > &  tauB,
const ModuleBase::Element_Basis_Index::IndexLNM index_A,
const ModuleBase::Element_Basis_Index::IndexLNM index_B,
const Matrix_Order matrix_order 
) const
Here is the call graph for this function:

◆ cal_overlap_matrix()

template<typename Tdata >
RI::Tensor< Tdata > Matrix_Orbs11::cal_overlap_matrix ( const size_t  TA,
const size_t  TB,
const ModuleBase::Vector3< double > &  tauA,
const ModuleBase::Vector3< double > &  tauB,
const ModuleBase::Element_Basis_Index::IndexLNM index_A,
const ModuleBase::Element_Basis_Index::IndexLNM index_B,
const Matrix_Order matrix_order 
) const

◆ cal_overlap_matrix_all()

template<typename Tdata >
std::map< size_t, std::map< size_t, std::map< size_t, std::map< size_t, RI::Tensor< Tdata > > > > > Matrix_Orbs11::cal_overlap_matrix_all ( const UnitCell ucell,
const ModuleBase::Element_Basis_Index::IndexLNM index_r,
const ModuleBase::Element_Basis_Index::IndexLNM index_c 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init()

void Matrix_Orbs11::init ( const int  mode,
const UnitCell ucell,
const LCAO_Orbitals orb,
const double  kmesh_times,
const double  rmax,
int &  Lmax 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_radial() [1/2]

void Matrix_Orbs11::init_radial ( const LCAO_Orbitals orb_A,
const LCAO_Orbitals orb_B,
const ORB_gaunt_table MGT 
)
Here is the call graph for this function:

◆ init_radial() [2/2]

void Matrix_Orbs11::init_radial ( const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &  orb_A,
const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &  orb_B,
const ORB_gaunt_table MGT 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_radial_table() [1/2]

void Matrix_Orbs11::init_radial_table ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_radial_table() [2/2]

void Matrix_Orbs11::init_radial_table ( const std::map< size_t, std::map< size_t, std::set< double > > > &  Rs)
Here is the call graph for this function:

Member Data Documentation

◆ center2_orb11_s

std::map<size_t, std::map<size_t, std::map<int, std::map<size_t, std::map<int, std::map<size_t, Center2_Orb::Orb11> > > > > > Matrix_Orbs11::center2_orb11_s
private

◆ lat0

double* Matrix_Orbs11::lat0 =nullptr
private

◆ lcao_dr_

const double Matrix_Orbs11::lcao_dr_ = 0.01
private

◆ psb_

ModuleBase::Sph_Bessel_Recursive::D2* Matrix_Orbs11::psb_ = nullptr
private

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