ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <esolver_dm2rho.h>
Public Member Functions | |
ESolver_DM2rho () | |
~ESolver_DM2rho () | |
void | before_all_runners (UnitCell &ucell, const Input_para &inp) override |
Initialize of the first-principels energy solver. | |
void | after_all_runners (UnitCell &ucell) override |
perform post processing calculations | |
void | runner (UnitCell &ucell, const int istep) override |
run energy solver | |
![]() | |
ESolver_KS_LCAO () | |
~ESolver_KS_LCAO () | |
void | before_all_runners (UnitCell &ucell, const Input_para &inp) override |
Initialize of the first-principels energy solver. | |
double | cal_energy () override |
calculate total energy of a given system | |
void | cal_force (UnitCell &ucell, ModuleBase::matrix &force) override |
calcualte forces for the atoms in the given cell | |
void | cal_stress (UnitCell &ucell, ModuleBase::matrix &stress) override |
void | after_all_runners (UnitCell &ucell) override |
perform post processing calculations | |
![]() | |
ESolver_KS () | |
Constructor. | |
virtual | ~ESolver_KS () |
Deconstructor. | |
![]() | |
ESolver_FP () | |
Constructor. | |
virtual | ~ESolver_FP () |
Deconstructor. | |
![]() | |
ESolver () | |
virtual | ~ESolver () |
Additional Inherited Members | |
![]() | |
bool | conv_esolver = true |
std::string | classname |
![]() | |
virtual void | before_scf (UnitCell &ucell, const int istep) override |
Something to do before SCF iterations. | |
virtual void | iter_init (UnitCell &ucell, const int istep, const int iter) override |
Something to do before hamilt2rho function in each iter loop. | |
virtual void | hamilt2rho_single (UnitCell &ucell, const int istep, const int iter, const double ethr) override |
virtual void | update_pot (UnitCell &ucell, const int istep, const int iter, const bool conv_esolver) override |
<Temporary> It should be replaced by a function in Hamilt Class | |
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. | |
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. | |
virtual void | others (UnitCell &ucell, const int istep) override |
![]() | |
void | hamilt2rho (UnitCell &ucell, const int istep, const int iter, const double ethr) |
![]() | |
Record_adj | RA |
Store information about Adjacent Atoms. | |
Grid_Driver | gd |
Store information about Adjacent Atoms. | |
Parallel_Orbitals | pv |
NAO orbitals: 2d block-cyclic distribution info. | |
Gint_k | GK |
Grid integration: used for k-point-dependent algorithm. | |
Gint_Gamma | GG |
Grid integration: used for gamma only algorithms. | |
Grid_Technique | GridT |
Grid integration: used to store some basic information. | |
std::unique_ptr< ModuleGint::GintInfo > | gint_info_ |
GintInfo: used to store some basic infomation about module_gint. | |
TwoCenterBundle | two_center_bundle_ |
NAO orbitals: two-center integrations. | |
rdmft::RDMFT< TK, TR > | rdmft_solver |
For RDMFT calculations, added by jghan, 2024-03-16. | |
LCAO_Orbitals | orb_ |
NAO: store related information. | |
ModuleBase::matrix | scs |
bool | have_force = false |
LCAO_Deepks< TK > | ld |
![]() | |
hamilt::Hamilt< TK, base_device::DEVICE_CPU > * | p_hamilt |
Hamiltonian. | |
ModulePW::PW_Basis_K * | pw_wfc |
PW for wave functions, only used in KSDFT, not in OFDFT. | |
Charge_Mixing * | p_chgmix |
Charge mixing method. | |
pseudopot_cell_vnl | ppcell |
nonlocal pseudopotentials | |
psi::Psi< TK > * | psi |
Electronic wavefunctions. | |
std::string | basisname |
double | esolver_KS_ne |
esolver_ks_lcao.cpp | |
double | diag_ethr |
number of electrons | |
double | scf_thr |
the threshold for diagonalization | |
double | scf_ene_thr |
scf density threshold | |
double | drho |
scf energy threshold | |
double | hsolver_error |
the difference between rho_in (before HSolver) and rho_out (After HSolver) | |
int | maxniter |
the error of HSolver | |
int | niter |
maximum iter steps for scf | |
bool | oscillate_esolver |
iter steps actually used in scf | |
![]() | |
elecstate::ElecState * | pelec = nullptr |
Electronic states. | |
K_Vectors | kv |
K points in Brillouin zone. | |
Charge | chr |
Electorn charge density. | |
ModulePW::PW_Basis * | pw_rho |
ModulePW::PW_Basis * | pw_rhod |
ModulePW::PW_Basis_Big * | pw_big |
dense grid for USPP | |
Parallel_Grid | Pgrid |
parallel for rho grid | |
Structure_Factor | sf |
Structure factors that used with plane-wave basis set. | |
pseudopot_cell_vl | locpp |
local pseudopotentials | |
Charge_Extra | CE |
charge extrapolation method | |
surchem | solvent |
solvent model | |
int | pw_rho_flag = false |
flag for pw_rho, 0: not initialized, 1: initialized | |
double | iter_time |
the start time of scf iteration | |
ModuleESolver::ESolver_DM2rho< TK, TR >::ESolver_DM2rho | ( | ) |
ModuleESolver::ESolver_DM2rho< TK, TR >::~ESolver_DM2rho | ( | ) |
|
overridevirtual |
perform post processing calculations
Reimplemented from ModuleESolver::ESolver_KS< TK >.
|
overridevirtual |
Initialize of the first-principels energy solver.
1) read pseudopotentials
2) initialie the plane wave basis for rho
3) initialize the double grid (for uspp) if necessary
4) print some information
5) initialize the charge extrapolation method if necessary
Reimplemented from ModuleESolver::ESolver_KS< TK >.
|
overridevirtual |
run energy solver
Reimplemented from ModuleESolver::ESolver_KS< TK >.