#include <elecstate.h>
|
| 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 | 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 () |
|
virtual double | get_spin_constrain_energy () |
|
double | get_dftu_energy () |
|
double | get_local_pp_energy () |
|
◆ ElecState() [1/2]
elecstate::ElecState::ElecState |
( |
| ) |
|
|
inline |
◆ ElecState() [2/2]
◆ ~ElecState()
virtual elecstate::ElecState::~ElecState |
( |
| ) |
|
|
inlinevirtual |
◆ cal_bandgap()
void elecstate::ElecState::cal_bandgap |
( |
| ) |
|
◆ cal_bandgap_updw()
void elecstate::ElecState::cal_bandgap_updw |
( |
| ) |
|
calculate spin up & down band gap
- Todo:
- add isk[ik] so as to discriminate different spins
◆ cal_converged()
void elecstate::ElecState::cal_converged |
( |
| ) |
|
◆ cal_delta_eband()
double elecstate::ElecState::cal_delta_eband |
( |
const UnitCell & |
ucell | ) |
const |
◆ cal_delta_escf()
double elecstate::ElecState::cal_delta_escf |
( |
| ) |
const |
◆ cal_energies()
void elecstate::ElecState::cal_energies |
( |
const int |
type | ) |
|
calculate energies
- Parameters
-
type | 1 means Harris-Foulkes functinoal; |
type | 2 means Kohn-Sham functional; |
Hartree energy
energy from E-field
energy from gate-field
energy from implicit solvation model
spin constrained energy
◆ cal_tau() [1/3]
virtual void elecstate::ElecState::cal_tau |
( |
const psi::Psi< double > & |
psi | ) |
|
|
inlinevirtual |
◆ cal_tau() [2/3]
virtual void elecstate::ElecState::cal_tau |
( |
const psi::Psi< std::complex< double > > & |
psi | ) |
|
|
inlinevirtual |
◆ cal_tau() [3/3]
virtual void elecstate::ElecState::cal_tau |
( |
const psi::Psi< std::complex< float > > & |
psi | ) |
|
|
inlinevirtual |
◆ get_dftu_energy()
double elecstate::ElecState::get_dftu_energy |
( |
| ) |
|
◆ get_etot_efield()
double elecstate::ElecState::get_etot_efield |
( |
| ) |
|
◆ get_etot_gatefield()
double elecstate::ElecState::get_etot_gatefield |
( |
| ) |
|
◆ get_hartree_energy()
double elecstate::ElecState::get_hartree_energy |
( |
| ) |
|
◆ get_local_pp_energy()
double elecstate::ElecState::get_local_pp_energy |
( |
| ) |
|
◆ get_solvent_model_Acav()
double elecstate::ElecState::get_solvent_model_Acav |
( |
| ) |
|
◆ get_solvent_model_Ael()
double elecstate::ElecState::get_solvent_model_Ael |
( |
| ) |
|
◆ get_spin_constrain_energy()
virtual double elecstate::ElecState::get_spin_constrain_energy |
( |
| ) |
|
|
inlinevirtual |
◆ getNewRho()
virtual void elecstate::ElecState::getNewRho |
( |
| ) |
|
|
inlinevirtual |
◆ getRho()
const double * elecstate::ElecState::getRho |
( |
int |
spin | ) |
const |
|
virtual |
◆ init_ks()
◆ init_nelec_spin()
void elecstate::ElecState::init_nelec_spin |
( |
| ) |
|
◆ init_scf()
Init rho_core, init rho, renormalize rho, init pot.
- Parameters
-
istep | i-th step |
ucell | unit cell |
strucfac | structure factor |
symm | symmetry |
wfcpw | PW basis for wave function if needed |
core correction potential.
other effective potentials need charge density,
renormalize the charge density
initialize the potential
◆ print_psi() [1/2]
virtual void elecstate::ElecState::print_psi |
( |
const psi::Psi< double > & |
psi_in, |
|
|
const int |
istep = -1 |
|
) |
| |
|
inlinevirtual |
◆ print_psi() [2/2]
virtual void elecstate::ElecState::print_psi |
( |
const psi::Psi< std::complex< double > > & |
psi_in, |
|
|
const int |
istep = -1 |
|
) |
| |
|
inlinevirtual |
◆ psiToRho() [1/2]
virtual void elecstate::ElecState::psiToRho |
( |
const psi::Psi< double > & |
psi | ) |
|
|
inlinevirtual |
◆ psiToRho() [2/2]
virtual void elecstate::ElecState::psiToRho |
( |
const psi::Psi< std::complex< double > > & |
psi | ) |
|
|
inlinevirtual |
◆ set_exx() [1/2]
void elecstate::ElecState::set_exx |
( |
const double & |
Eexx | ) |
|
calculation if converged
- Date
- Peize Lin add 2016-12-03
◆ set_exx() [2/2]
void elecstate::ElecState::set_exx |
( |
const std::complex< double > & |
Eexx | ) |
|
◆ bandgap
double elecstate::ElecState::bandgap = 0.0 |
bandgap = E_{lumo} - E_{homo}
◆ bandgap_dw
double elecstate::ElecState::bandgap_dw = 0.0 |
◆ bandgap_up
double elecstate::ElecState::bandgap_up = 0.0 |
◆ bigpw
bigpw will be removed later
◆ charge
Charge* elecstate::ElecState::charge = nullptr |
pointer to charge density
◆ classname
std::string elecstate::ElecState::classname = "elecstate" |
◆ eferm
efermi elecstate::ElecState::eferm |
◆ ekb
band energy at each k point, each band.
◆ f_en
energies contribute to the total free energy
◆ iter
int elecstate::ElecState::iter = 0 |
◆ klist
const K_Vectors* elecstate::ElecState::klist = nullptr |
pointer to k points lists
◆ nelec_spin
std::vector<double> elecstate::ElecState::nelec_spin |
◆ omega
double elecstate::ElecState::omega = 0.0 |
◆ pot
Potential* elecstate::ElecState::pot = nullptr |
◆ skip_weights
bool elecstate::ElecState::skip_weights = false |
◆ vnew
◆ vnew_exist
bool elecstate::ElecState::vnew_exist = false |
◆ wg
occupation weight for each k-point and band
The documentation for this class was generated from the following files: