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

#include <exx_rotate_abfs.h>

Collaboration diagram for Moment_abfs< Tdata >:

Public Member Functions

 Moment_abfs (Exx_Info::Exx_Info_RI &info_in)
 
 ~Moment_abfs ()
 
void cal_VR (const UnitCell &ucell, const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &orb_in, const std::pair< std::vector< TA >, std::vector< std::vector< std::pair< TA, std::array< Tcell, Ndim > > > > > &list_r, const std::vector< double > &orb_cutoff, const double Rc, LRI_CV< Tdata > &cv, std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > &Vs_cut)
 
void discard0_VR (const UnitCell &ucell, const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &orb_in, const std::pair< std::vector< TA >, std::vector< std::vector< std::pair< TA, std::array< Tcell, Ndim > > > > > &list_r, const std::vector< double > &orb_cutoff, const double Rc, LRI_CV< Tdata > &cv, std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > &Vs_cut)
 
void cal_multipole (const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &orb_in)
 
void rotate_abfs (std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &orb_in)
 
double sum_triple_Y_YLM_real (int l1, int m1, int l2, int m2, const std::vector< double > &rly, const ORB_gaunt_table &MGT, const double distance)
 
double cal_cl1l2 (int l1, int l2) const
 
double dfact (const int &l) const
 double factorial
 
int factorial (const int &n) const
 
double ln_factorial (int n) const
 
void out_pure_ri_tensor (const std::string fn, RI::Tensor< std::complex< double > > &olp, const double threshold)
 
void out_pure_ri_tensor (const std::string fn, RI::Tensor< double > &olp, const double threshold)
 

Public Attributes

std::vector< std::vector< std::vector< double > > > multipole
 

Private Types

using TA = int
 
using Tcell = int
 
using TC = std::array< Tcell, Ndim >
 
using Tq = std::array< double, Ndim >
 
using TAC = std::pair< TA, TC >
 
using TAq = std::pair< TA, Tq >
 

Private Attributes

Exx_Info::Exx_Info_RIinfo
 

Static Private Attributes

static constexpr std::size_t Ndim = 3
 

Member Typedef Documentation

◆ TA

template<typename Tdata >
using Moment_abfs< Tdata >::TA = int
private

◆ TAC

template<typename Tdata >
using Moment_abfs< Tdata >::TAC = std::pair<TA, TC>
private

◆ TAq

template<typename Tdata >
using Moment_abfs< Tdata >::TAq = std::pair<TA, Tq>
private

◆ TC

template<typename Tdata >
using Moment_abfs< Tdata >::TC = std::array<Tcell, Ndim>
private

◆ Tcell

template<typename Tdata >
using Moment_abfs< Tdata >::Tcell = int
private

◆ Tq

template<typename Tdata >
using Moment_abfs< Tdata >::Tq = std::array<double, Ndim>
private

Constructor & Destructor Documentation

◆ Moment_abfs()

template<typename Tdata >
Moment_abfs< Tdata >::Moment_abfs ( Exx_Info::Exx_Info_RI info_in)
inline

◆ ~Moment_abfs()

template<typename Tdata >
Moment_abfs< Tdata >::~Moment_abfs ( )
inline

Member Function Documentation

◆ cal_cl1l2()

template<typename Tdata >
double Moment_abfs< Tdata >::cal_cl1l2 ( int  l1,
int  l2 
) const

◆ cal_multipole()

template<typename Tdata >
void Moment_abfs< Tdata >::cal_multipole ( const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &  orb_in)
Here is the call graph for this function:

◆ cal_VR()

template<typename Tdata >
void Moment_abfs< Tdata >::cal_VR ( const UnitCell ucell,
const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &  orb_in,
const std::pair< std::vector< TA >, std::vector< std::vector< std::pair< TA, std::array< Tcell, Ndim > > > > > &  list_r,
const std::vector< double > &  orb_cutoff,
const double  Rc,
LRI_CV< Tdata > &  cv,
std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > &  Vs_cut 
)
Here is the call graph for this function:

◆ dfact()

template<typename Tdata >
double Moment_abfs< Tdata >::dfact ( const int &  l) const

double factorial

◆ discard0_VR()

template<typename Tdata >
void Moment_abfs< Tdata >::discard0_VR ( const UnitCell ucell,
const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &  orb_in,
const std::pair< std::vector< TA >, std::vector< std::vector< std::pair< TA, std::array< Tcell, Ndim > > > > > &  list_r,
const std::vector< double > &  orb_cutoff,
const double  Rc,
LRI_CV< Tdata > &  cv,
std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > &  Vs_cut 
)
Here is the call graph for this function:

◆ factorial()

template<typename Tdata >
int Moment_abfs< Tdata >::factorial ( const int &  n) const
Here is the call graph for this function:

◆ ln_factorial()

template<typename Tdata >
double Moment_abfs< Tdata >::ln_factorial ( int  n) const

◆ out_pure_ri_tensor() [1/2]

template<typename Tdata >
void Moment_abfs< Tdata >::out_pure_ri_tensor ( const std::string  fn,
RI::Tensor< double > &  olp,
const double  threshold 
)

◆ out_pure_ri_tensor() [2/2]

template<typename Tdata >
void Moment_abfs< Tdata >::out_pure_ri_tensor ( const std::string  fn,
RI::Tensor< std::complex< double > > &  olp,
const double  threshold 
)

◆ rotate_abfs()

template<typename Tdata >
void Moment_abfs< Tdata >::rotate_abfs ( std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &  orb_in)
Here is the call graph for this function:

◆ sum_triple_Y_YLM_real()

template<typename Tdata >
double Moment_abfs< Tdata >::sum_triple_Y_YLM_real ( int  l1,
int  m1,
int  l2,
int  m2,
const std::vector< double > &  rly,
const ORB_gaunt_table MGT,
const double  distance 
)
Here is the call graph for this function:

Member Data Documentation

◆ info

template<typename Tdata >
Exx_Info::Exx_Info_RI& Moment_abfs< Tdata >::info
private

◆ multipole

template<typename Tdata >
std::vector<std::vector<std::vector<double> > > Moment_abfs< Tdata >::multipole

◆ Ndim

template<typename Tdata >
constexpr std::size_t Moment_abfs< Tdata >::Ndim = 3
staticconstexprprivate

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