template<typename FPTYPE, typename Device = psi::DEVICE_CPU>
class ESolver_KS : public ESolver_FP
....// constructor and destructor declarations omitted
// present class parent class inherited
// (will not re-introduce here)
double scf_thr; ModulePW::PW_Basis* pw_rho;
double drho; ModulePW::PW_Basis_Big* pw_big;
int maxniter; elecstate::ElecState* pelec = nullptr;
bool conv_elec; ModuleSymmetry::Symmetry symm;
int out_freq_elec; psi::Psi<std::complex<double>>* psi = nullptr;
psi::Psi<double>* psid = nullptr;
....// member function(s) omitted
hsolver::HSolver<FPTYPE, Device>* phsol = nullptr;
hamilt::Hamilt<FPTYPE, Device>* p_hamilt = nullptr;
ModulePW::PW_Basis_K* pw_wfc = nullptr;
Charge_Mixing* p_chgmix = nullptr;