Class ORB_gaunt_table

Class Documentation

class ORB_gaunt_table

Public Functions

ORB_gaunt_table()
~ORB_gaunt_table()
void init_Gaunt_CH(const int &Lmax)

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

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)

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.

double Calc_Gaunt_CH(const int &l1, const int &m1, const int &l2, const int &m2, const int &l3, const int &m3)
void init_Ylm_Gaunt(const int &lmax, const double &s1, const double &e1, const double &s2, const double &e2)

(1) Make Ylm_Gaunt Table.

double Cal_Gaunt_single(const int &l1, const int &m1, const int &l2, const int &m2, const int &l, const int &m, const double &s1, const double &e1, const double &s2, const double &e2)

(2) Use Ylm_Gaunt to calculate Gaunt Coefficinets element

void init_Gaunt(const int &lmax)

(3) Make the whole Gaunt Coefficients table

Public Members

realArray Gaunt_Coefficients

MEthod 2

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

Public Static Functions

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