ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
hs_matrix_k.hpp
Go to the documentation of this file.
1#ifndef HS_MATRIX_K_HPP
2#define HS_MATRIX_K_HPP
3
5
6#include <vector>
7namespace hamilt
8{
9 template <typename TK>
11 {
12
13 public:
14 HS_Matrix_K(const Parallel_Orbitals* paraV, bool no_s=false){
15 hk.resize(paraV->nloc);
16 if(!no_s)
17 {
18 sk.resize(paraV->nloc);
19 }
20 this->pv = paraV;
21 }
22
23 TK* get_hk() {return hk.data();}
24
25 TK* get_sk() {return sk.data();}
26
27 int get_size() {return hk.size();}
28
29 void set_zero_hk() {hk.assign(hk.size(), 0);}
30
31 void set_zero_sk() {sk.assign(sk.size(), 0);}
32
33 const Parallel_Orbitals* get_pv() const {return this->pv;}
34
35 private:
36
37 std::vector<TK> hk;
38
39 std::vector<TK> sk;
40
41 const Parallel_Orbitals* pv = nullptr;
42 };
43}
44
45#endif
int64_t nloc
Definition parallel_2d.h:117
Definition parallel_orbitals.h:9
Definition hs_matrix_k.hpp:11
std::vector< TK > sk
Definition hs_matrix_k.hpp:39
HS_Matrix_K(const Parallel_Orbitals *paraV, bool no_s=false)
Definition hs_matrix_k.hpp:14
const Parallel_Orbitals * pv
Definition hs_matrix_k.hpp:41
int get_size()
Definition hs_matrix_k.hpp:27
std::vector< TK > hk
Definition hs_matrix_k.hpp:37
TK * get_sk()
Definition hs_matrix_k.hpp:25
void set_zero_hk()
Definition hs_matrix_k.hpp:29
TK * get_hk()
Definition hs_matrix_k.hpp:23
void set_zero_sk()
Definition hs_matrix_k.hpp:31
const Parallel_Orbitals * get_pv() const
Definition hs_matrix_k.hpp:33
Definition hamilt.h:12