ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Protected 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 *chg_in, const K_Vectors *klist_in, int nks_in, Gint_Gamma *gint_gamma_in, Gint_k *gint_k_in, ModulePW::PW_Basis *rhopw_in, ModulePW::PW_Basis_Big *bigpw_in)
 
virtual ~ElecStateLCAO ()
 
virtual void psiToRho (const psi::Psi< TK > &psi) override
 
virtual void cal_tau (const psi::Psi< TK > &psi) override
 
void init_DM (const K_Vectors *kv, const Parallel_Orbitals *paraV, const int nspin)
 
DensityMatrix< TK, double > * get_DM () const
 
double get_spin_constrain_energy () override
 
void psiToRho (const psi::Psi< std::complex< double > > &psi)
 
void psiToRho (const psi::Psi< double > &psi)
 
double get_spin_constrain_energy ()
 
double get_spin_constrain_energy ()
 
void cal_tau (const psi::Psi< std::complex< double > > &psi)
 
void cal_tau (const psi::Psi< double > &psi)
 
- Public Member Functions inherited from elecstate::ElecState
 ElecState ()
 
 ElecState (Charge *charge_in, ModulePW::PW_Basis *rhopw_in, ModulePW::PW_Basis_Big *bigpw_in)
 
virtual ~ElecState ()
 
void init_ks (Charge *chg_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 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 ()
 

Public Attributes

DensityMatrix< TK, double > * DM = nullptr
 
- Public Attributes inherited from elecstate::ElecState
std::vector< double > nelec_spin
 
std::string classname = "elecstate"
 
int iter = 0
 scf iteration
 
double omega = 0.0
 volume
 
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
 

Static Public Attributes

static int out_wfc_lcao = 0
 
static bool need_psi_grid = true
 

Protected Attributes

Gint_Gammagint_gamma = nullptr
 
Gint_kgint_k = nullptr
 

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 chg_in,
const K_Vectors klist_in,
int  nks_in,
Gint_Gamma gint_gamma_in,
Gint_k gint_k_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

◆ cal_tau() [1/3]

void elecstate::ElecStateLCAO< double >::cal_tau ( const psi::Psi< double > &  psi)
virtual

Reimplemented from elecstate::ElecState.

Here is the call graph for this function:

◆ cal_tau() [2/3]

void elecstate::ElecStateLCAO< std::complex< double > >::cal_tau ( const psi::Psi< std::complex< double > > &  psi)
virtual

Reimplemented from elecstate::ElecState.

Here is the call graph for this function:

◆ cal_tau() [3/3]

template<typename TK >
virtual void elecstate::ElecStateLCAO< TK >::cal_tau ( const psi::Psi< TK > &  psi)
overridevirtual

◆ get_DM()

template<typename TK >
DensityMatrix< TK, double > * elecstate::ElecStateLCAO< TK >::get_DM ( ) const
inline
Here is the caller graph for this function:

◆ 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.

◆ init_DM()

template<typename TK >
void elecstate::ElecStateLCAO< TK >::init_DM ( const K_Vectors kv,
const Parallel_Orbitals paraV,
const int  nspin 
)
Here is the call graph for this function:

◆ psiToRho() [1/3]

void elecstate::ElecStateLCAO< double >::psiToRho ( const psi::Psi< double > &  psi)
virtual

Reimplemented from elecstate::ElecState.

Here is the call graph for this function:

◆ psiToRho() [2/3]

void elecstate::ElecStateLCAO< std::complex< double > >::psiToRho ( const psi::Psi< std::complex< double > > &  psi)
virtual

Reimplemented from elecstate::ElecState.

Here is the call graph for this function:

◆ psiToRho() [3/3]

template<typename TK >
virtual void elecstate::ElecStateLCAO< TK >::psiToRho ( const psi::Psi< TK > &  psi)
overridevirtual

Member Data Documentation

◆ DM

template<typename TK >
DensityMatrix<TK, double>* elecstate::ElecStateLCAO< TK >::DM = nullptr

◆ gint_gamma

template<typename TK >
Gint_Gamma* elecstate::ElecStateLCAO< TK >::gint_gamma = nullptr
protected

◆ gint_k

template<typename TK >
Gint_k* elecstate::ElecStateLCAO< TK >::gint_k = nullptr
protected

◆ 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 files: