1#ifndef HSOLVERPW_SDFT_H
2#define HSOLVERPW_SDFT_H
8template <
typename T,
typename Device = base_device::DEVICE_CPU>
20 const std::string calculation_type_in,
21 const std::string basis_type_in,
22 const std::string method_in,
23 const bool use_paw_in,
24 const bool use_uspp_in,
26 const int scf_iter_in,
27 const int diag_iter_max_in,
28 const double diag_thr_in,
29 const bool need_subspace_in)
42 stoiter.init(pkv, wfc_basis_in, stowf, stoche, p_hamilt_sto);
54 const bool skip_charge);
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
Definition elecstate.h:15
Definition hamilt_sdft_pw.h:11
Definition hsolver_pw_sdft.h:10
HSolverPW_SDFT(K_Vectors *pkv, ModulePW::PW_Basis_K *wfc_basis_in, Stochastic_WF< T, Device > &stowf, StoChe< Real, Device > &stoche, hamilt::HamiltSdftPW< T, Device > *p_hamilt_sto, const std::string calculation_type_in, const std::string basis_type_in, const std::string method_in, const bool use_paw_in, const bool use_uspp_in, const int nspin_in, const int scf_iter_in, const int diag_iter_max_in, const double diag_thr_in, const bool need_subspace_in)
Definition hsolver_pw_sdft.h:15
Stochastic_Iter< T, Device > stoiter
Definition hsolver_pw_sdft.h:56
typename GetTypeReal< T >::type Real
Definition hsolver_pw_sdft.h:12
void solve(const UnitCell &ucell, hamilt::Hamilt< T, Device > *pHamilt, psi::Psi< T, Device > &psi, psi::Psi< T > &psi_cpu, elecstate::ElecState *pes, ModulePW::PW_Basis_K *wfc_basis, Stochastic_WF< T, Device > &stowf, const int istep, const int iter, const bool skip_charge)
Definition hsolver_pw_sdft.cpp:15
Definition hsolver_pw.h:16
ModulePW::PW_Basis_K * wfc_basis
Definition hsolver_pw.h:74
#define T
Definition exp.cpp:237
Definition diag_comm_info.h:9
T type
Definition macros.h:8
Definition memory_op.h:31
Definition memory_op.h:45