ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
hsolver_lcaopw.h
Go to the documentation of this file.
1#ifndef HSOLVERLIP_H
2#define HSOLVERLIP_H
3
8namespace hsolver
9{
10
11// LCAO-in-PW does not support GPU now.
12template <typename T>
14{
15 private:
16 // Note GetTypeReal<T>::type will
17 // return T if T is real type(float, double),
18 // otherwise return the real type of T(complex<float>, std::complex<double>)
19 using Real = typename GetTypeReal<T>::type;
20
21 public:
22 HSolverLIP(ModulePW::PW_Basis_K* wfc_basis_in) : wfc_basis(wfc_basis_in) {};
23
30 void solve(hamilt::Hamilt<T>* pHamilt,
33 psi::Psi<T>& transform,
34 const bool skip_charge,
35 const double tpiba,
36 const int nat);
37
38 private:
40};
41
42} // namespace hsolver
43
44#endif
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
Definition elecstate.h:15
Definition hamilt.h:16
Definition hsolver_lcaopw.h:14
void solve(hamilt::Hamilt< T > *pHamilt, psi::Psi< T > &psi, elecstate::ElecState *pes, psi::Psi< T > &transform, const bool skip_charge, const double tpiba, const int nat)
solve function for lcao_in_pw
Definition hsolver_lcaopw.cpp:26
HSolverLIP(ModulePW::PW_Basis_K *wfc_basis_in)
Definition hsolver_lcaopw.h:22
ModulePW::PW_Basis_K * wfc_basis
Definition hsolver_lcaopw.h:39
typename GetTypeReal< T >::type Real
Definition hsolver_lcaopw.h:19
Definition psi.h:37
Definition diag_comm_info.h:9
Definition exx_lip.h:23
T type
Definition macros.h:8