ABACUS
develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
source
source_base
math_lebedev_laikov.h
Go to the documentation of this file.
1
#ifndef MATH_LEBEDEV_LAIKOV_H
2
#define MATH_LEBEDEV_LAIKOV_H
3
4
#include "
vector3.h
"
5
#include <set>
6
#include <string>
7
8
namespace
ModuleBase
9
{
10
11
class
Lebedev_laikov_grid
12
{
13
public
:
14
Lebedev_laikov_grid
(
int
degree
);
15
~Lebedev_laikov_grid
();
16
17
18
void
generate_grid_points
();
19
20
const
ModuleBase::Vector3<double>
*
get_grid_coor
()
const
21
{
22
return
grid_coor
;
23
};
24
25
const
double
*
get_weight
()
const
26
{
27
return
weight
;
28
};
29
30
void
print_grid_and_weight
(std::string filename);
31
32
// degree: can only take the following values
33
// degree = { 6, 14, 26, 38, 50, 74, 86, 110, 146, 170, 194, 230, 266, 302, 350, 434, 590, 770, 974,
34
// 1202, 1454, 1730, 2030, 2354, 2702, 3074, 3470, 3890, 4334, 4802, 5294, 5810};
35
int
degree
= 6;
36
37
private
:
38
int
getLebedevReccurencePoints
(
int
type,
int
start
,
double
a,
double
b,
double
v);
39
40
std::set<int>
allowed_degree
= {
41
6, 14, 26, 38, 50, 74, 86, 110, 146, 170, 194, 230, 266,
42
302, 350, 434, 590, 770, 974, 1202, 1454, 1730, 2030,
43
2354, 2702, 3074, 3470, 3890, 4334, 4802, 5294, 5810
44
};
45
46
ModuleBase::Vector3<double>
*
grid_coor
=
nullptr
;
47
double
*
weight
=
nullptr
;
48
};
49
50
}
51
52
#endif
ModuleBase::Lebedev_laikov_grid
Definition
math_lebedev_laikov.h:12
ModuleBase::Lebedev_laikov_grid::weight
double * weight
Definition
math_lebedev_laikov.h:47
ModuleBase::Lebedev_laikov_grid::grid_coor
ModuleBase::Vector3< double > * grid_coor
Definition
math_lebedev_laikov.h:46
ModuleBase::Lebedev_laikov_grid::~Lebedev_laikov_grid
~Lebedev_laikov_grid()
Definition
math_lebedev_laikov.cpp:26
ModuleBase::Lebedev_laikov_grid::generate_grid_points
void generate_grid_points()
Definition
math_lebedev_laikov.cpp:58
ModuleBase::Lebedev_laikov_grid::get_grid_coor
const ModuleBase::Vector3< double > * get_grid_coor() const
Definition
math_lebedev_laikov.h:20
ModuleBase::Lebedev_laikov_grid::allowed_degree
std::set< int > allowed_degree
Definition
math_lebedev_laikov.h:40
ModuleBase::Lebedev_laikov_grid::getLebedevReccurencePoints
int getLebedevReccurencePoints(int type, int start, double a, double b, double v)
Definition
math_lebedev_laikov.cpp:4735
ModuleBase::Lebedev_laikov_grid::degree
int degree
Definition
math_lebedev_laikov.h:35
ModuleBase::Lebedev_laikov_grid::print_grid_and_weight
void print_grid_and_weight(std::string filename)
Definition
math_lebedev_laikov.cpp:41
ModuleBase::Lebedev_laikov_grid::get_weight
const double * get_weight() const
Definition
math_lebedev_laikov.h:25
ModuleBase::Vector3
3 elements vector
Definition
vector3.h:22
ModuleBase
Definition
array_pool.h:6
start
iclock::time_point start
Definition
test_partition.cpp:22
vector3.h
Generated by
1.9.8