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
#include "
source_base/module_device/types.h
"
8
namespace
hsolver
9
{
10
11
// LCAO-in-PW does not support GPU now.
12
template
<
typename
T>
13
class
HSolverLIP
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,
31
psi::Psi<T>
&
psi
,
32
elecstate::ElecState
* pes,
33
psi::Psi<T>
& transform,
34
const
bool
skip_charge,
35
const
double
tpiba,
36
const
int
nat);
37
38
private
:
39
ModulePW::PW_Basis_K
*
wfc_basis
;
40
};
41
42
}
// namespace hsolver
43
44
#endif
ModulePW::PW_Basis_K
Special pw_basis class. It includes different k-points.
Definition
pw_basis_k.h:57
elecstate::ElecState
Definition
elecstate.h:15
hamilt::Hamilt
Definition
hamilt.h:16
hsolver::HSolverLIP
Definition
hsolver_lcaopw.h:14
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:22
hsolver::HSolverLIP::wfc_basis
ModulePW::PW_Basis_K * wfc_basis
Definition
hsolver_lcaopw.h:39
hsolver::HSolverLIP::Real
typename GetTypeReal< T >::type Real
Definition
hsolver_lcaopw.h:19
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
types.h
Generated by
1.9.8