|
| ESolver_LR (ModuleESolver::ESolver_KS_LCAO< T, TR > &&ks_sol, const Input_para &inp, UnitCell &ucell) |
| a move constructor from ESolver_KS_LCAO
|
|
| ESolver_LR (const Input_para &inp, UnitCell &ucell) |
| a from-scratch constructor
|
|
| ~ESolver_LR () |
|
virtual void | before_all_runners (UnitCell &ucell, const Input_para &inp) override |
| input: input, call, basis(LCAO), psi(ground state), elecstate
|
|
virtual void | runner (UnitCell &ucell, int istep) override |
| run energy solver
|
|
virtual void | after_all_runners (UnitCell &ucell) override |
| perform post processing calculations
|
|
virtual double | cal_energy () override |
| calculate total energy of a given system
|
|
virtual void | cal_force (UnitCell &ucell, ModuleBase::matrix &force) override |
| calcualte forces for the atoms in the given cell
|
|
virtual void | cal_stress (UnitCell &ucell, ModuleBase::matrix &stress) override |
| calcualte stress of given cell
|
|
| ESolver_FP () |
| Constructor.
|
|
virtual | ~ESolver_FP () |
| Deconstructor.
|
|
| ESolver () |
|
virtual | ~ESolver () |
|
virtual void | others (UnitCell &ucell, const int istep) |
|
|
void | set_gint () |
|
void | setup_eigenvectors_X () |
| allocate and set the inital value of X
|
|
void | set_X_initial_guess () |
|
void | read_ks_wfc () |
| read in the ground state wave function, band energy and occupation
|
|
void | read_ks_chg (Charge &chg) |
| read in the ground state charge density
|
|
void | init_pot (const Charge &chg_gs) |
|
void | parameter_check () const |
| check the legality of the input parameters
|
|
void | set_dimension () |
| set nocc, nvirt, nbasis, npairs and nstates
|
|
void | reset_dim_spin2 () |
| reset nocc, nvirt, npairs after read ground-state wavefunction when nspin=2
|
|
void | set_gint () |
|
void | set_gint () |
|
virtual void | before_scf (UnitCell &ucell, const int istep) |
| Something to do before SCF iterations.
|
|
virtual void | after_scf (UnitCell &ucell, const int istep, const bool conv_esolver) |
| Something to do after SCF iterations when SCF is converged or comes to the max iter step.
|
|
virtual void | iter_finish (UnitCell &ucell, const int istep, int &iter, bool &conv_esolver) |
| Something to do after hamilt2rho function in each iter loop.
|
|
|
const Input_para & | input |
|
const UnitCell & | ucell |
|
Grid_Driver | gd |
|
std::vector< double > | orb_cutoff_ |
|
std::vector< std::shared_ptr< PotHxcLR > > | pot |
|
psi::Psi< T > * | psi_ks = nullptr |
| ground state wave function
|
|
ModuleBase::matrix | eig_ks |
| ground state bands, read from the file, or moved from ESolver_FP::pelec.ekb
|
|
std::vector< ct::Tensor > | X |
| Excited state wavefunction (locc, lvirt are local size of nocc and nvirt in each process) size of X: [neq][{nstate, nloc_per_band}], namely:
|
|
int | nloc_per_band = 1 |
|
std::vector< int > | nocc |
| number of occupied orbitals for each spin used in the calculation
|
|
int | nocc_in = 1 |
| nocc read from input (adjusted by nelec): max(spin-up, spindown)
|
|
int | nocc_max = 1 |
| nelec/2
|
|
std::vector< int > | nvirt |
| number of virtual orbitals for each spin used in the calculation
|
|
int | nvirt_in = 1 |
| nvirt read from input (adjusted by nelec): min(spin-up, spindown)
|
|
int | nbands = 2 |
|
int | nbasis = 2 |
|
std::vector< int > | npairs |
| n_occ*nvirt, the basis size of electron-hole pair representation
|
|
int | nstates = 1 |
| how many 2-particle states to be solved
|
|
int | nspin = 1 |
|
int | nk = 1 |
|
int | nupdown = 0 |
|
bool | openshell = false |
|
std::string | xc_kernel |
|
Grid_Technique | gt_ |
|
Gint_Gamma | gint_g_ |
|
Gint_k | gint_k_ |
|
TGint< T >::type * | gint_ = nullptr |
|
std::unique_ptr< ModuleGint::GintInfo > | gint_info_ = nullptr |
|
Parallel_2D | paraC_ |
| variables for parallel distribution of KS orbitals
|
|
std::vector< Parallel_2D > | paraX_ |
| variables for parallel distribution of excited states
|
|
Parallel_Orbitals | paraMat_ |
| variables for parallel distribution of matrix in AO representation
|
|
TwoCenterBundle | two_center_bundle_ |
|
elecstate::ElecState * | pelec = nullptr |
| Electronic states.
|
|
K_Vectors | kv |
| K points in Brillouin zone.
|
|
Charge | chr |
| Electorn charge density.
|
|
ModulePW::PW_Basis * | pw_rho |
|
ModulePW::PW_Basis * | pw_rhod |
|
ModulePW::PW_Basis_Big * | pw_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
|
|
int | pw_rho_flag = false |
| flag for pw_rho, 0: not initialized, 1: initialized
|
|
double | iter_time |
| the start time of scf iteration
|
|
template<typename
T, typename TR = double>
class LR::ESolver_LR< T, TR >
Excited State Solver: Linear Response TDDFT (Tamm Dancoff Approximation)