ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
elecstate_pw_sdft.h
Go to the documentation of this file.
1#ifndef ELECSTATEPW_SDFT_H
2#define ELECSTATEPW_SDFT_H
3#include "elecstate_pw.h"
4namespace elecstate
5{
6template <typename T, typename Device>
7class ElecStatePW_SDFT : public ElecStatePW<T, Device>
8{
9 public:
11 Charge* chg_in,
12 K_Vectors* pkv_in,
13 UnitCell* ucell_in,
14 pseudopot_cell_vnl* ppcell_in,
15 ModulePW::PW_Basis* rhodpw_in,
16 ModulePW::PW_Basis* rhopw_in,
17 ModulePW::PW_Basis_Big* bigpw_in)
18 : ElecStatePW<T,
19 Device>(wfc_basis_in, chg_in, pkv_in, ucell_in, ppcell_in, rhodpw_in, rhopw_in, bigpw_in)
20 {
21 this->classname = "ElecStatePW_SDFT";
22 }
23 virtual void psiToRho(const psi::Psi<T, Device>& psi) override;
24 private:
25 using Real = typename GetTypeReal<T>::type;
28};
29} // namespace elecstate
30#endif
Definition charge.h:20
Definition klist.h:13
Definition pw_basis_big.h:16
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
Definition unitcell.h:16
Definition elecstate_pw_sdft.h:8
typename GetTypeReal< T >::type Real
Definition elecstate_pw_sdft.h:25
ElecStatePW_SDFT(ModulePW::PW_Basis_K *wfc_basis_in, Charge *chg_in, K_Vectors *pkv_in, UnitCell *ucell_in, pseudopot_cell_vnl *ppcell_in, ModulePW::PW_Basis *rhodpw_in, ModulePW::PW_Basis *rhopw_in, ModulePW::PW_Basis_Big *bigpw_in)
Definition elecstate_pw_sdft.h:10
virtual void psiToRho(const psi::Psi< T, Device > &psi) override
interface for HSolver to calculate rho from Psi
Definition elecstate_pw_sdft.cpp:12
Definition elecstate_pw.h:17
std::string classname
Definition elecstate.h:119
Definition VNL_in_pw.h:21
Definition psi.h:37
#define T
Definition exp.cpp:237
Definition cal_dm.h:10
Definition exx_lip.h:23
T type
Definition macros.h:8
Definition memory_op.h:61
Definition memory_op.h:31