ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
ORB_gaunt_table.h
Go to the documentation of this file.
1#ifndef ORB_GAUNT_TABLE_H
2#define ORB_GAUNT_TABLE_H
3
4#include <map>
7
9{
10 public:
11
14
21 void init_Gaunt_CH(const int& Lmax);
22 double Get_Gaunt_CH(
23 const int& l1,
24 const int& m1,
25 const int& l2,
26 const int& m2,
27 const int& l3,
28 const int& m3 );
29
33 double Get_Gaunt_SH(
34 const int& l1,
35 const int& mm1,
36 const int& l2,
37 const int& mm2,
38 const int& l3,
39 const int& mm3 );
40
41 double Calc_Gaunt_CH(
42 const int& l1,
43 const int& m1,
44 const int& l2,
45 const int& m2,
46 const int& l3,
47 const int& m3 );
48
49
57
60 /*
61 void init_Ylm_Gaunt(
62 const int &lmax,
63 const double &s1,
64 const double &e1,
65 const double &s2,
66 const double &e2);
67 */
68
71 /*
72 double Cal_Gaunt_single(
73 const int &l1,
74 const int &m1,
75 const int &l2,
76 const int &m2,
77 const int &l,
78 const int &m,
79 const double &s1,
80 const double &e1,
81 const double &s2,
82 const double &e2);
83 */
84
87 void init_Gaunt(const int &lmax);
88
89 static int get_lm_index(const int l, const int m);
90
91 static int Index_M(const int& m);
92
93 private:
94
95 // Index Function
96 // Yu's mehtod
97 // Peize Lin delete void ModuleBase::GlobalFunc::ZEROS(); 2016-08-26
98
99 //int P_EL(const int& L);
100
101 int EP_EL(const int& L);
102
103 int index_func(
104 const int& l1,
105 const int& l2,
106 const int& l3,
107 const int& m3 );
108
109 double Fact(const int& n);
110
111 void Swap(
112 int& l1,
113 int& m1,
114 int& l2,
115 int& m2 );
116
117 //2*Lmax+1
118 std::map<int,std::map<int,double>> Gaunt_CH; // Peize Lin update 2016-08-26
119
120 //direct integral
122};
123#endif
Definition matrix.h:19
double float array
Definition realarray.h:21
Definition ORB_gaunt_table.h:9
static int get_lm_index(const int l, const int m)
Definition ORB_gaunt_table.cpp:157
double Calc_Gaunt_CH(const int &l1, const int &m1, const int &l2, const int &m2, const int &l3, const int &m3)
Definition ORB_gaunt_table.cpp:241
double Get_Gaunt_CH(const int &l1, const int &m1, const int &l2, const int &m2, const int &l3, const int &m3)
Definition ORB_gaunt_table.cpp:284
void init_Gaunt(const int &lmax)
Definition ORB_gaunt_table.cpp:15
static int Index_M(const int &m)
Definition ORB_gaunt_table.cpp:454
ORB_gaunt_table()
Definition ORB_gaunt_table.cpp:12
double Get_Gaunt_SH(const int &l1, const int &mm1, const int &l2, const int &mm2, const int &l3, const int &mm3)
Definition ORB_gaunt_table.cpp:342
int index_func(const int &l1, const int &l2, const int &l3, const int &m3)
Definition ORB_gaunt_table.cpp:174
ModuleBase::matrix Ylm_Gaunt
Definition ORB_gaunt_table.h:121
ModuleBase::realArray Gaunt_Coefficients
Definition ORB_gaunt_table.h:56
std::map< int, std::map< int, double > > Gaunt_CH
Definition ORB_gaunt_table.h:118
~ORB_gaunt_table()
Definition ORB_gaunt_table.cpp:13
double Fact(const int &n)
Definition ORB_gaunt_table.cpp:420
void Swap(int &l1, int &m1, int &l2, int &m2)
Definition ORB_gaunt_table.cpp:431
void init_Gaunt_CH(const int &Lmax)
Definition ORB_gaunt_table.cpp:189
int EP_EL(const int &L)
effective pointers
Definition ORB_gaunt_table.cpp:166