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

#include <ORB_gaunt_table.h>

Collaboration diagram for ORB_gaunt_table:

Public Member Functions

 ORB_gaunt_table ()
 
 ~ORB_gaunt_table ()
 
void init_Gaunt_CH (const int &Lmax)
 
double Get_Gaunt_CH (const int &l1, const int &m1, const int &l2, const int &m2, const int &l3, const int &m3)
 
double Get_Gaunt_SH (const int &l1, const int &mm1, const int &l2, const int &mm2, const int &l3, const int &mm3)
 
double Calc_Gaunt_CH (const int &l1, const int &m1, const int &l2, const int &m2, const int &l3, const int &m3)
 
void init_Gaunt (const int &lmax)
 

Static Public Member Functions

static int get_lm_index (const int l, const int m)
 
static int Index_M (const int &m)
 

Public Attributes

ModuleBase::realArray Gaunt_Coefficients
 

Private Member Functions

int EP_EL (const int &L)
 effective pointers
 
int index_func (const int &l1, const int &l2, const int &l3, const int &m3)
 
double Fact (const int &n)
 
void Swap (int &l1, int &m1, int &l2, int &m2)
 

Private Attributes

std::map< int, std::map< int, double > > Gaunt_CH
 
ModuleBase::matrix Ylm_Gaunt
 

Constructor & Destructor Documentation

◆ ORB_gaunt_table()

ORB_gaunt_table::ORB_gaunt_table ( )

◆ ~ORB_gaunt_table()

ORB_gaunt_table::~ORB_gaunt_table ( )

Member Function Documentation

◆ Calc_Gaunt_CH()

double ORB_gaunt_table::Calc_Gaunt_CH ( const int &  l1,
const int &  m1,
const int &  l2,
const int &  m2,
const int &  l3,
const int &  m3 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ EP_EL()

int ORB_gaunt_table::EP_EL ( const int &  L)
private

effective pointers

Here is the caller graph for this function:

◆ Fact()

double ORB_gaunt_table::Fact ( const int &  n)
private
Here is the caller graph for this function:

◆ Get_Gaunt_CH()

double ORB_gaunt_table::Get_Gaunt_CH ( const int &  l1,
const int &  m1,
const int &  l2,
const int &  m2,
const int &  l3,
const int &  m3 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Get_Gaunt_SH()

double ORB_gaunt_table::Get_Gaunt_SH ( const int &  l1,
const int &  mm1,
const int &  l2,
const int &  mm2,
const int &  l3,
const int &  mm3 
)

M defined here are restricted within 0 to 2l+1

should be transformed first

Input value, m1, m2, m3 are restricted within 0 to 2l+1, and should be transformed first.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_lm_index()

int ORB_gaunt_table::get_lm_index ( const int  l,
const int  m 
)
static
Here is the caller graph for this function:

◆ index_func()

int ORB_gaunt_table::index_func ( const int &  l1,
const int &  l2,
const int &  l3,
const int &  m3 
)
private
Here is the caller graph for this function:

◆ Index_M()

int ORB_gaunt_table::Index_M ( const int &  m)
static
Here is the caller graph for this function:

◆ init_Gaunt()

void ORB_gaunt_table::init_Gaunt ( const int &  lmax)

(1) Make Ylm_Gaunt Table.

(2) Use Ylm_Gaunt to calculate Gaunt Coefficinets element

(3) Make the whole Gaunt Coefficients table

EXPLAIN : make table of Gaunt Coefficients

call Calculate::Cal_G

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_Gaunt_CH()

void ORB_gaunt_table::init_Gaunt_CH ( const int &  Lmax)

Method 2: using WIgner 3j symbols $ Y(l1,m1), Y(l2,m2), Y(L,M) $

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Swap()

void ORB_gaunt_table::Swap ( int &  l1,
int &  m1,
int &  l2,
int &  m2 
)
private
Here is the caller graph for this function:

Member Data Documentation

◆ Gaunt_CH

std::map<int,std::map<int,double> > ORB_gaunt_table::Gaunt_CH
private

◆ Gaunt_Coefficients

ModuleBase::realArray ORB_gaunt_table::Gaunt_Coefficients

MEthod 2

Directly Calculate integral of $ S(l_1,m_1), S(l_2,m_2), S(L,M) $

◆ Ylm_Gaunt

ModuleBase::matrix ORB_gaunt_table::Ylm_Gaunt
private

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