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

#include <elecstate_lcao.h>

Inheritance diagram for elecstate::ElecStateLCAO< TK >:
Collaboration diagram for elecstate::ElecStateLCAO< TK >:

Public Member Functions

 ElecStateLCAO ()
 
 ElecStateLCAO (Charge *chr_in, const K_Vectors *klist_in, int nks_in, ModulePW::PW_Basis *rhopw_in, ModulePW::PW_Basis_Big *bigpw_in)
 
virtual ~ElecStateLCAO ()
 
double get_spin_constrain_energy () override
 
void dm2rho (std::vector< TK * > pexsi_DM, std::vector< TK * > pexsi_EDM, DensityMatrix< TK, double > *dm)
 calculate electronic charge density from pointers of density matrix calculated by pexsi
 
double get_spin_constrain_energy ()
 
double get_spin_constrain_energy ()
 
void dm2rho (std::vector< double * > pexsi_DM, std::vector< double * > pexsi_EDM, DensityMatrix< double, double > *dm)
 
void dm2rho (std::vector< std::complex< double > * > pexsi_DM, std::vector< std::complex< double > * > pexsi_EDM, DensityMatrix< std::complex< double >, double > *dm)
 
- Public Member Functions inherited from elecstate::ElecState
 ElecState ()
 
 ElecState (Charge *chr_in, ModulePW::PW_Basis *rhopw_in, ModulePW::PW_Basis_Big *bigpw_in)
 
virtual ~ElecState ()
 
void init_ks (Charge *chr_in, const K_Vectors *klist_in, int nk_in, ModulePW::PW_Basis *rhopw_in, const ModulePW::PW_Basis_Big *bigpw_in)
 
virtual const double * getRho (int spin) const
 
virtual void psiToRho (const psi::Psi< std::complex< double > > &psi)
 
virtual void psiToRho (const psi::Psi< double > &psi)
 
virtual void cal_tau (const psi::Psi< std::complex< double > > &psi)
 
virtual void cal_tau (const psi::Psi< double > &psi)
 
virtual void cal_tau (const psi::Psi< std::complex< float > > &psi)
 
virtual void getNewRho ()
 
void init_nelec_spin ()
 
virtual void print_psi (const psi::Psi< double > &psi_in, const int istep=-1)
 
virtual void print_psi (const psi::Psi< std::complex< double > > &psi_in, const int istep=-1)
 
void init_scf (const int istep, const UnitCell &ucell, const Parallel_Grid &pgrid, const ModuleBase::ComplexMatrix &strucfac, const bool *numeric, ModuleSymmetry::Symmetry &symm, const void *wfcpw=nullptr)
 Init rho_core, init rho, renormalize rho, init pot.
 
void cal_bandgap ()
 calculate band gap
 
void cal_bandgap_updw ()
 calculate spin up & down band gap
 
double cal_delta_eband (const UnitCell &ucell) const
 calculate deband
 
double cal_delta_escf () const
 calculate descf
 
void cal_converged ()
 calculation if converged
 
void cal_energies (const int type)
 calculate energies
 
void set_exx (const double &Eexx)
 calculation if converged
 
void set_exx (const std::complex< double > &Eexx)
 
double get_hartree_energy ()
 
double get_etot_efield ()
 
double get_etot_gatefield ()
 
double get_solvent_model_Ael ()
 
double get_solvent_model_Acav ()
 
double get_dftu_energy ()
 
double get_local_pp_energy ()
 

Static Public Attributes

static int out_wfc_lcao = 0
 
static bool need_psi_grid = true
 

Additional Inherited Members

- Public Attributes inherited from elecstate::ElecState
std::vector< double > nelec_spin
 
std::string classname = "elecstate"
 
int iter = 0
 scf iteration
 
Potentialpot = nullptr
 pointer to potential
 
Chargecharge = nullptr
 pointer to charge density
 
const K_Vectorsklist = nullptr
 pointer to k points lists
 
const ModulePW::PW_Basis_Bigbigpw = nullptr
 bigpw will be removed later
 
ModuleBase::matrix vnew
 
bool vnew_exist = false
 
fenergy f_en
 energies contribute to the total free energy
 
Efermi eferm
 fermi energies
 
double bandgap = 0.0
 bandgap = E_{lumo} - E_{homo}
 
double bandgap_up = 0.0
 spin up bandgap
 
double bandgap_dw = 0.0
 spin down bandgap
 
ModuleBase::matrix ekb
 band energy at each k point, each band.
 
ModuleBase::matrix wg
 occupation weight for each k-point and band
 
bool skip_weights = false
 

Constructor & Destructor Documentation

◆ ElecStateLCAO() [1/2]

template<typename TK >
elecstate::ElecStateLCAO< TK >::ElecStateLCAO ( )
inline

◆ ElecStateLCAO() [2/2]

template<typename TK >
elecstate::ElecStateLCAO< TK >::ElecStateLCAO ( Charge chr_in,
const K_Vectors klist_in,
int  nks_in,
ModulePW::PW_Basis rhopw_in,
ModulePW::PW_Basis_Big bigpw_in 
)
inline
Here is the call graph for this function:

◆ ~ElecStateLCAO()

template<typename TK >
virtual elecstate::ElecStateLCAO< TK >::~ElecStateLCAO ( )
inlinevirtual

Member Function Documentation

◆ dm2rho() [1/3]

void elecstate::ElecStateLCAO< double >::dm2rho ( std::vector< double * >  pexsi_DM,
std::vector< double * >  pexsi_EDM,
DensityMatrix< double, double > *  dm 
)
Here is the call graph for this function:

◆ dm2rho() [2/3]

void elecstate::ElecStateLCAO< std::complex< double > >::dm2rho ( std::vector< std::complex< double > * >  pexsi_DM,
std::vector< std::complex< double > * >  pexsi_EDM,
DensityMatrix< std::complex< double >, double > *  dm 
)
Here is the call graph for this function:

◆ dm2rho() [3/3]

template<typename TK >
void elecstate::ElecStateLCAO< TK >::dm2rho ( std::vector< TK * >  pexsi_DM,
std::vector< TK * >  pexsi_EDM,
DensityMatrix< TK, double > *  dm 
)

calculate electronic charge density from pointers of density matrix calculated by pexsi

Parameters
pexsi_DMpointers of density matrix (DMK) calculated by pexsi
pexsi_EDMpointers of energy-weighed density matrix (EDMK) calculated by pexsi, needed by MD, will be stored in DensityMatrix::pexsi_EDM

◆ get_spin_constrain_energy() [1/3]

double elecstate::ElecStateLCAO< double >::get_spin_constrain_energy ( )
virtual

Reimplemented from elecstate::ElecState.

Here is the call graph for this function:

◆ get_spin_constrain_energy() [2/3]

double elecstate::ElecStateLCAO< std::complex< double > >::get_spin_constrain_energy ( )
virtual

Reimplemented from elecstate::ElecState.

Here is the call graph for this function:

◆ get_spin_constrain_energy() [3/3]

template<typename TK >
double elecstate::ElecStateLCAO< TK >::get_spin_constrain_energy ( )
overridevirtual

Reimplemented from elecstate::ElecState.

Member Data Documentation

◆ need_psi_grid

template<typename TK >
bool elecstate::ElecStateLCAO< TK >::need_psi_grid = true
static

◆ out_wfc_lcao

template<typename TK >
int elecstate::ElecStateLCAO< TK >::out_wfc_lcao = 0
static

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