ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
grid_meshk.h
Go to the documentation of this file.
1#ifndef GRID_MESHK_H
2#define GRID_MESHK_H
6
8{
9 public:
10 Grid_MeshK();
12
13 // calculate the index of unitcell.
14 int cal_Rindex(const int& u1, const int& u2, const int& u3)const;
15
16 ModuleBase::Vector3<int> get_ucell_coords(const int& Rindex)const;
17
19 Grid_MeshK& operator=(Grid_MeshK&& rhs) = default;
20
21 private:
22 // the max and the min unitcell.
23 int maxu1;
24 int maxu2;
25 int maxu3;
26
27 int minu1;
28 int minu2;
29 int minu3;
30
31 // the number of unitcells.
32 int nu1;
33 int nu2;
34 int nu3;
35 int nutot;
36
37 // from 1D index to unitcell.
38 std::vector<int> ucell_index2x;
39 std::vector<int> ucell_index2y;
40 std::vector<int> ucell_index2z;
41
42 protected:
43 // calculate the extended unitcell.
44 void cal_extended_cell(const int &dxe, const int &dye, const int &dze,
45 const int& nbx, const int& nby, const int& nbz);
46};
47
48#endif
Definition grid_meshk.h:8
ModuleBase::Vector3< int > get_ucell_coords(const int &Rindex) const
Definition grid_meshk.cpp:34
int minu3
Definition grid_meshk.h:29
int minu2
Definition grid_meshk.h:28
Grid_MeshK & operator=(Grid_MeshK &&rhs)=default
move operator for the next ESolver to directly use its infomation
int nu2
Definition grid_meshk.h:33
int nu1
Definition grid_meshk.h:32
void cal_extended_cell(const int &dxe, const int &dye, const int &dze, const int &nbx, const int &nby, const int &nbz)
Definition grid_meshk.cpp:43
Grid_MeshK()
Definition grid_meshk.cpp:5
int nutot
Definition grid_meshk.h:35
int nu3
Definition grid_meshk.h:34
int maxu3
Definition grid_meshk.h:25
int cal_Rindex(const int &u1, const int &u2, const int &u3) const
Definition grid_meshk.cpp:13
int maxu1
Definition grid_meshk.h:23
std::vector< int > ucell_index2y
Definition grid_meshk.h:39
std::vector< int > ucell_index2x
Definition grid_meshk.h:38
std::vector< int > ucell_index2z
Definition grid_meshk.h:40
int minu1
Definition grid_meshk.h:27
int maxu2
Definition grid_meshk.h:24
~Grid_MeshK()
Definition grid_meshk.cpp:9
3 elements vector
Definition vector3.h:22