ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
ModuleESolver::ESolver_GetS Class Reference

#include <esolver_gets.h>

Inheritance diagram for ModuleESolver::ESolver_GetS:
Collaboration diagram for ModuleESolver::ESolver_GetS:

Public Member Functions

 ESolver_GetS ()
 
 ~ESolver_GetS ()
 
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
 
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
 calcualte stress of given cell
 
- Public Member Functions inherited from ModuleESolver::ESolver_KS< std::complex< double > >
 ESolver_KS ()
 Constructor.
 
virtual ~ESolver_KS ()
 Deconstructor.
 
- Public Member Functions inherited from ModuleESolver::ESolver_FP
 ESolver_FP ()
 
virtual ~ESolver_FP ()
 
- Public Member Functions inherited from ModuleESolver::ESolver
 ESolver ()
 
virtual ~ESolver ()
 
virtual void others (UnitCell &ucell, const int istep)
 

Protected Attributes

Parallel_Orbitals pv
 
TwoCenterBundle two_center_bundle_
 
LCAO_Orbitals orb_
 
- Protected Attributes inherited from ModuleESolver::ESolver_KS< std::complex< double > >
hamilt::Hamilt< std::complex< double >, base_device::DEVICE_CPU > * p_hamilt
 Hamiltonian.
 
ModulePW::PW_Basis_Kpw_wfc
 PW for wave functions, only used in KSDFT, not in OFDFT.
 
Charge_Mixingp_chgmix
 Charge mixing method.
 
pseudopot_cell_vnl ppcell
 nonlocal pseudopotentials
 
psi::Psi< std::complex< double > > * 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
 
bool scf_nmax_flag
 
- Protected Attributes inherited from ModuleESolver::ESolver_FP
elecstate::ElecStatepelec = nullptr
 These pointers will be deleted in the free_pointers() function every ion step.
 
K_Vectors kv
 K points in Brillouin zone.
 
Charge chr
 Electorn charge density.
 
ModulePW::PW_Basispw_rho
 
ModulePW::PW_Basispw_rhod
 
ModulePW::PW_Basis_Bigpw_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
 
bool pw_rho_flag = false
 flag for pw_rho, 0: not initialized, 1: initialized
 
double iter_time
 the start time of scf iteration
 

Additional Inherited Members

- Public Attributes inherited from ModuleESolver::ESolver
bool conv_esolver = true
 
std::string classname
 
- Protected Member Functions inherited from ModuleESolver::ESolver_KS< std::complex< double > >
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)
 Something to do before hamilt2rho function in each iter loop.
 
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 hamilt2rho_single (UnitCell &ucell, const int istep, const int iter, const double ethr)
 
void hamilt2rho (UnitCell &ucell, const int istep, const int iter, const double ethr)
 
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.
 

Constructor & Destructor Documentation

◆ ESolver_GetS()

ModuleESolver::ESolver_GetS::ESolver_GetS ( )

◆ ~ESolver_GetS()

ModuleESolver::ESolver_GetS::~ESolver_GetS ( )

Member Function Documentation

◆ after_all_runners()

void ModuleESolver::ESolver_GetS::after_all_runners ( UnitCell ucell)
overridevirtual

perform post processing calculations

Reimplemented from ModuleESolver::ESolver_KS< std::complex< double > >.

◆ before_all_runners()

void ModuleESolver::ESolver_GetS::before_all_runners ( UnitCell ucell,
const Input_para inp 
)
overridevirtual

Initialize of the first-principels energy solver.

read pseudopotentials

Reimplemented from ModuleESolver::ESolver_KS< std::complex< double > >.

Here is the call graph for this function:

◆ cal_energy()

double ModuleESolver::ESolver_GetS::cal_energy ( )
overridevirtual

calculate total energy of a given system

Implements ModuleESolver::ESolver.

◆ cal_force()

void ModuleESolver::ESolver_GetS::cal_force ( UnitCell ucell,
ModuleBase::matrix force 
)
overridevirtual

calcualte forces for the atoms in the given cell

Implements ModuleESolver::ESolver.

◆ cal_stress()

void ModuleESolver::ESolver_GetS::cal_stress ( UnitCell ucell,
ModuleBase::matrix stress 
)
overridevirtual

calcualte stress of given cell

Implements ModuleESolver::ESolver.

◆ runner()

void ModuleESolver::ESolver_GetS::runner ( UnitCell cell,
const int  istep 
)
overridevirtual

run energy solver

Print out sparse matrix

Reimplemented from ModuleESolver::ESolver_KS< std::complex< double > >.

Here is the call graph for this function:

Member Data Documentation

◆ orb_

LCAO_Orbitals ModuleESolver::ESolver_GetS::orb_
protected

◆ pv

Parallel_Orbitals ModuleESolver::ESolver_GetS::pv
protected

◆ two_center_bundle_

TwoCenterBundle ModuleESolver::ESolver_GetS::two_center_bundle_
protected

The documentation for this class was generated from the following files: