pbc.h Source File

LibRPA: pbc.h Source File
LibRPA
pbc.h
Go to the documentation of this file.
1 
5 #pragma once
6 #include <array>
7 #include <map>
8 #include <vector>
9 #include "vector3_order.h"
10 #include "matrix3.h"
11 
12 // TODO: make it into a template
13 std::vector<Vector3_Order<int>> construct_R_grid(const Vector3_Order<int> &period);
14 
16 int get_R_index(const std::vector<Vector3_Order<int>> &Rlist, const Vector3_Order<int> &R);
17 
18 bool is_gamma_point(const Vector3_Order<double> &kpt);
19 bool is_gamma_point(const Vector3_Order<int> &kpt);
20 
21 extern int kv_nmp[3];
23 extern Matrix3 latvec;
25 extern std::array<std::array<double, 3>, 3> lat_array;
27 extern Matrix3 G;
28 extern std::vector<Vector3_Order<double>> klist;
29 extern std::vector<Vector3_Order<double>> klist_ibz;
30 extern std::vector<Vector3_Order<double>> kfrac_list;
31 extern std::vector<int> irk_point_id_mapping;
32 extern map<Vector3_Order<double>, vector<Vector3_Order<double>>> map_irk_ks;
33 extern Vector3<double> *kvec_c;
Definition: matrix3.h:11
Definition: vector3_order.h:15
Definition: vector3.h:18
int get_R_index(const std::vector< Vector3_Order< int >> &Rlist, const Vector3_Order< int > &R)
Get the index of R in an Rlist. If R is not found in the list, return a negative number.
Matrix3 G
reciprocal lattice vectors as a 3D-matrix, each row as a reciprocal vector
Definition: pbc.cpp:53
std::array< std::array< double, 3 >, 3 > lat_array
same as latvec, but a nested array for LibRI call
Definition: pbc.cpp:52
Matrix3 latvec
lattice vectors as a 3D-matrix, each row as a lattice vector
Definition: pbc.cpp:51