ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ModuleESolver::ESolver_DoubleXC< TK, TR > Class Template Reference

#include <esolver_double_xc.h>

Inheritance diagram for ModuleESolver::ESolver_DoubleXC< TK, TR >:
Collaboration diagram for ModuleESolver::ESolver_DoubleXC< TK, TR >:

Public Member Functions

 ESolver_DoubleXC ()
 
 ~ESolver_DoubleXC ()
 
void before_all_runners (UnitCell &ucell, const Input_para &inp) override
 Initialize of the first-principels energy solver.
 
void cal_force (UnitCell &ucell, ModuleBase::matrix &force) override
 calcualte forces for the atoms in the given cell
 
- Public Member Functions inherited from ModuleESolver::ESolver_KS_LCAO< TK, TR >
 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
 calcualte stress of given cell
 
void after_all_runners (UnitCell &ucell) override
 perform post processing calculations
 
const Record_adjget_RA () const
 
const Grid_Driverget_gd () const
 
const Parallel_Orbitalsget_pv () const
 
const std::unique_ptr< ModuleGint::GintInfo > & get_gint_info () const
 
const TwoCenterBundleget_two_center_bundle () const
 
const rdmft::RDMFT< TK, TR > & get_rdmft_solver () const
 
const LCAO_Orbitalsget_orb () const
 
const ModuleBase::matrixget_scs () const
 
const Setup_DeePKS< TK > & get_deepks () const
 
const Exx_NAO< TK > & get_exx_nao () const
 
- Public Member Functions inherited from ModuleESolver::ESolver_KS< TK >
 ESolver_KS ()
 Constructor.
 
virtual ~ESolver_KS ()
 Deconstructor.
 
virtual void runner (UnitCell &ucell, const int istep) override
 run energy solver
 
- Public Member Functions inherited from ModuleESolver::ESolver_FP
 ESolver_FP ()
 
virtual ~ESolver_FP ()
 
- Public Member Functions inherited from ModuleESolver::ESolver
 ESolver ()
 
virtual ~ESolver ()
 

Protected Member Functions

void before_scf (UnitCell &ucell, const int istep) override
 Something to do before SCF iterations.
 
void iter_finish (UnitCell &ucell, const int istep, int &iter, bool &conv_esolver) override
 Something to do after hamilt2rho function in each iter loop.
 
- Protected Member Functions inherited from ModuleESolver::ESolver_KS_LCAO< TK, TR >
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 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
 
- Protected Member Functions inherited from ModuleESolver::ESolver_KS< TK >
void hamilt2rho (UnitCell &ucell, const int istep, const int iter, const double ethr)
 

Protected Attributes

hamilt::Hamilt< TK > * p_hamilt_base = nullptr
 Hamiltonian.
 
psi::Psi< TK > * psi_base = nullptr
 Electronic wavefunctions.
 
elecstate::ElecStatepelec_base = nullptr
 Electronic states.
 
LCAO_domain::Setup_DM< TK > dmat_base
 Density Matrix, mohan add 2025-11-03.
 
Charge chr_base
 Electorn charge density.
 
- Protected Attributes inherited from ModuleESolver::ESolver_KS_LCAO< TK, TR >
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.
 
std::unique_ptr< ModuleGint::GintInfogint_info_
 GintInfo: used to store some basic infomation about module_gint.
 
TwoCenterBundle two_center_bundle_
 NAO orbitals: two-center integrations.
 
LCAO_domain::Setup_DM< TK > dmat
 Add density matrix class, mohan add 2025-10-30.
 
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
 
Setup_DeePKS< TK > deepks
 
Exx_NAO< TK > exx_nao
 
- Protected Attributes inherited from ModuleESolver::ESolver_KS< TK >
hamilt::Hamilt< TK, 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< 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
 
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
 

Constructor & Destructor Documentation

◆ ESolver_DoubleXC()

template<typename TK , typename TR >
ModuleESolver::ESolver_DoubleXC< TK, TR >::ESolver_DoubleXC ( )

◆ ~ESolver_DoubleXC()

template<typename TK , typename TR >
ModuleESolver::ESolver_DoubleXC< TK, TR >::~ESolver_DoubleXC ( )

Member Function Documentation

◆ before_all_runners()

template<typename TK , typename TR >
void ModuleESolver::ESolver_DoubleXC< TK, TR >::before_all_runners ( UnitCell ucell,
const Input_para inp 
)
overridevirtual

Initialize of the first-principels energy solver.

read pseudopotentials

Reimplemented from ModuleESolver::ESolver_KS< TK >.

Here is the call graph for this function:

◆ before_scf()

template<typename TK , typename TR >
void ModuleESolver::ESolver_DoubleXC< TK, TR >::before_scf ( UnitCell ucell,
const int  istep 
)
overrideprotectedvirtual

Something to do before SCF iterations.

calculate D2 or D3 vdW

calculate ewald energy

Reimplemented from ModuleESolver::ESolver_KS_LCAO< TK, TR >.

Here is the call graph for this function:

◆ cal_force()

template<typename TK , typename TR >
void ModuleESolver::ESolver_DoubleXC< TK, TR >::cal_force ( UnitCell ucell,
ModuleBase::matrix force 
)
overridevirtual

calcualte forces for the atoms in the given cell

Implements ModuleESolver::ESolver.

Here is the call graph for this function:

◆ iter_finish()

template<typename TK , typename TR >
void ModuleESolver::ESolver_DoubleXC< TK, TR >::iter_finish ( UnitCell ucell,
const int  istep,
int &  iter,
bool &  conv_esolver 
)
overrideprotectedvirtual

Something to do after hamilt2rho function in each iter loop.

Reimplemented from ModuleESolver::ESolver_KS_LCAO< TK, TR >.

Here is the call graph for this function:

Member Data Documentation

◆ chr_base

template<typename TK , typename TR >
Charge ModuleESolver::ESolver_DoubleXC< TK, TR >::chr_base
protected

Electorn charge density.

◆ dmat_base

template<typename TK , typename TR >
LCAO_domain::Setup_DM<TK> ModuleESolver::ESolver_DoubleXC< TK, TR >::dmat_base
protected

Density Matrix, mohan add 2025-11-03.

◆ p_hamilt_base

template<typename TK , typename TR >
hamilt::Hamilt<TK>* ModuleESolver::ESolver_DoubleXC< TK, TR >::p_hamilt_base = nullptr
protected

Hamiltonian.

◆ pelec_base

template<typename TK , typename TR >
elecstate::ElecState* ModuleESolver::ESolver_DoubleXC< TK, TR >::pelec_base = nullptr
protected

Electronic states.

◆ psi_base

template<typename TK , typename TR >
psi::Psi<TK>* ModuleESolver::ESolver_DoubleXC< TK, TR >::psi_base = nullptr
protected

Electronic wavefunctions.


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