16template <
typename T,
typename Device = base_device::DEVICE_CPU>
42 virtual void iter_init(
UnitCell& ucell,
const int istep,
const int iter)
override;
Definition esolver_ks_pw.h:18
Setup_Psi_pw< T, Device > stp
Definition esolver_ks_pw.h:56
base_device::AbacusDevice_t device
Definition esolver_ks_pw.h:65
virtual void hamilt2rho_single(UnitCell &ucell, const int istep, const int iter, const double ethr) override
Definition esolver_ks_pw.cpp:188
Exx_Helper< T, Device > exx_helper
Definition esolver_ks_pw.h:37
virtual void others(UnitCell &ucell, const int istep) override
Definition pw_others.cpp:15
void cal_stress(UnitCell &ucell, ModuleBase::matrix &stress) override
calcualte stress of given cell
Definition esolver_ks_pw.cpp:397
virtual void iter_finish(UnitCell &ucell, const int istep, int &iter, bool &conv_esolver) override
Something to do after hamilt2rho function in each iter loop.
Definition esolver_ks_pw.cpp:263
Device * ctx
Definition esolver_ks_pw.h:62
virtual void after_scf(UnitCell &ucell, const int istep, const bool conv_esolver) override
Something to do after SCF iterations when SCF is converged or comes to the max iter step.
Definition esolver_ks_pw.cpp:351
void before_all_runners(UnitCell &ucell, const Input_para &inp) override
Initialize of the first-principels energy solver.
Definition esolver_ks_pw.cpp:72
double cal_energy() override
calculate total energy of a given system
Definition esolver_ks_pw.cpp:377
virtual void allocate_hamilt(const UnitCell &ucell)
Definition esolver_ks_pw.cpp:56
void cal_force(UnitCell &ucell, ModuleBase::matrix &force) override
calcualte forces for the atoms in the given cell
Definition esolver_ks_pw.cpp:383
typename GetTypeReal< T >::type Real
Definition esolver_ks_pw.h:20
virtual void deallocate_hamilt()
Definition esolver_ks_pw.cpp:62
VSep * vsep_cell
Definition esolver_ks_pw.h:59
~ESolver_KS_PW()
Definition esolver_ks_pw.cpp:43
void after_all_runners(UnitCell &ucell) override
perform post processing calculations
Definition esolver_ks_pw.cpp:418
virtual void iter_init(UnitCell &ucell, const int istep, const int iter) override
Something to do before hamilt2rho function in each iter loop.
Definition esolver_ks_pw.cpp:159
ESolver_KS_PW()
Definition esolver_ks_pw.cpp:35
virtual void before_scf(UnitCell &ucell, const int istep) override
Something to do before SCF iterations.
Definition esolver_ks_pw.cpp:104
Definition esolver_ks.h:16
bool conv_esolver
Definition esolver.h:47
Definition setup_psi_pw.h:16
Definition VSep_in_pw.h:11
The First-Principles (FP) Energy Solver Class.
Definition opt_test_tools.cpp:93
AbacusDevice_t
Definition types.h:12
Definition exx_helper.h:13
T type
Definition macros.h:8