ABACUS
develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
source
source_hsolver
hsolver_lcaopw.h
Go to the documentation of this file.
1
#ifndef HSOLVERLIP_H
2
#define HSOLVERLIP_H
3
4
#include "
source_estate/elecstate.h
"
5
#include "
source_hamilt/hamilt.h
"
6
#include "
source_base/macros.h
"
7
namespace
hsolver
8
{
9
10
// LCAO-in-PW does not support GPU now.
11
template
<
typename
T>
12
class
HSolverLIP
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,
30
psi::Psi<T>
&
psi
,
31
elecstate::ElecState
* pes,
32
psi::Psi<T>
& transform,
33
const
bool
skip_charge,
34
const
double
tpiba,
35
const
int
nat);
36
37
private
:
38
ModulePW::PW_Basis_K
*
wfc_basis
=
nullptr
;
39
};
40
41
}
// namespace hsolver
42
43
#endif
ModulePW::PW_Basis_K
Special pw_basis class. It includes different k-points.
Definition
pw_basis_k.h:56
elecstate::ElecState
Definition
elecstate.h:15
hamilt::Hamilt
Definition
hamilt.h:17
hsolver::HSolverLIP
Definition
hsolver_lcaopw.h:13
hsolver::HSolverLIP::solve
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
hsolver::HSolverLIP::HSolverLIP
HSolverLIP(ModulePW::PW_Basis_K *wfc_basis_in)
Definition
hsolver_lcaopw.h:21
hsolver::HSolverLIP::wfc_basis
ModulePW::PW_Basis_K * wfc_basis
Definition
hsolver_lcaopw.h:38
hsolver::HSolverLIP::Real
typename GetTypeReal< T >::type Real
Definition
hsolver_lcaopw.h:18
psi::Psi
Definition
psi.h:37
elecstate.h
hamilt.h
macros.h
hsolver
Definition
diag_comm_info.h:9
psi
Definition
exx_lip.h:23
GetTypeReal::type
T type
Definition
macros.h:8
Generated by
1.9.8