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
7namespace hsolver
8{
9
10// LCAO-in-PW does not support GPU now.
11template <typename T>
13{
14 private:
15 // Note GetTypeReal<T>::type will
16 // return T if T is real type(float, double),
17 // otherwise return the real type of T(complex<float>, std::complex<double>)
18 using Real = typename GetTypeReal<T>::type;
19
20 public:
21 HSolverLIP(ModulePW::PW_Basis_K* wfc_basis_in) : wfc_basis(wfc_basis_in) {};
22
29 void solve(hamilt::Hamilt<T>* pHamilt,
32 psi::Psi<T>& transform,
33 const bool skip_charge,
34 const double tpiba,
35 const int nat);
36
37 private:
39};
40
41} // namespace hsolver
42
43#endif
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:56
Definition elecstate.h:15
Definition hamilt.h:17
Definition hsolver_lcaopw.h:13
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:21
ModulePW::PW_Basis_K * wfc_basis
Definition hsolver_lcaopw.h:38
typename GetTypeReal< T >::type Real
Definition hsolver_lcaopw.h:18
Definition psi.h:37
Definition diag_comm_info.h:9
Definition exx_lip.h:23
T type
Definition macros.h:8