|
| Veff_rdmft (Gint_k *GK_in, hamilt::HS_Matrix_K< TK > *hsk_in, const std::vector< ModuleBase::Vector3< double > > &kvec_d_in, elecstate::Potential *pot_in, hamilt::HContainer< TR > *hR_in, const UnitCell *ucell_in, const std::vector< double > &orb_cutoff, const Grid_Driver *GridD_in, const int &nspin, const Charge *charge_in, const ModulePW::PW_Basis *rho_basis_in, const ModuleBase::matrix *vloc_in, const ModuleBase::ComplexMatrix *sf_in, const std::string potential_in, double *etxc_in=nullptr, double *vtxc_in=nullptr) |
| Construct a new Veff object for multi-kpoint calculation.
|
|
| Veff_rdmft (Gint_Gamma *GG_in, hamilt::HS_Matrix_K< TK > *hsk_in, const std::vector< ModuleBase::Vector3< double > > &kvec_d_in, elecstate::Potential *pot_in, hamilt::HContainer< TR > *hR_in, const UnitCell *ucell_in, const std::vector< double > &orb_cutoff, const Grid_Driver *GridD_in, const int &nspin, const Charge *charge_in, const ModulePW::PW_Basis *rho_basis_in, const ModuleBase::matrix *vloc_in, const ModuleBase::ComplexMatrix *sf_in, const std::string potential_in, double *etxc_in=nullptr, double *vtxc_in=nullptr) |
|
| ~Veff_rdmft () |
|
virtual void | contributeHR () override |
| contributeHR() is used to calculate the HR matrix <phi_{\mu, 0}|V_{eff}|phi_{\nu, R}> the contribution of V_{eff} is calculated by the contribution of V_{H} and V_{XC} and V_{local pseudopotential} and so on. grid integration is used to calculate the contribution Hamiltonian of effective potential
|
|
void | contributeHR () |
|
void | contributeHR () |
|
void | contributeHR () |
|
| OperatorLCAO (HS_Matrix_K< TK > *hsk_in, const std::vector< ModuleBase::Vector3< double > > &kvec_d_in, HContainer< TR > *hR_in) |
| H(R) matrix, R is the Bravis lattice vector.
|
|
virtual | ~OperatorLCAO () |
|
virtual void | init (const int ik_in) override |
|
void | refresh_h () |
|
void | matrixHk (MatrixBlock< TK > &hk_in, MatrixBlock< TK > &sk_in) |
|
virtual void | contributeHk (int ik) |
|
virtual void | set_HR_fixed (void *) |
| set_HR_fixed() is used for pass HR_fixed matrix to the next node in sub-chain table not used in base class, only be override in fixed Hamiltonian Operators (e.g. Ekinetic and Nonlocal)
|
|
void | set_hr_done (bool hr_done_in) |
| reset the status of 'hr_done' (if H(R) is calculated)
|
|
void | set_current_spin (const int current_spin_in) |
| set current spin index
|
|
void | contributeHk (int ik) |
|
| Operator () |
|
virtual | ~Operator () |
|
virtual hpsi_info | hPsi (hpsi_info &input) const |
|
virtual void | add (Operator *next) |
|
virtual int | get_ik () const |
|
virtual void | act (const int nbands, const int nbasis, const int npol, const TK *tmpsi_in, TK *tmhpsi, const int ngk_ik=0, const bool is_first_node=false) const |
|
virtual void | act (const psi::Psi< TK, base_device::DEVICE_CPU > &psi_in, psi::Psi< TK, base_device::DEVICE_CPU > &psi_out, const int nbands) const |
|
int | get_act_type () const |
|
calculation_type | get_cal_type () const |
|
template<typename TK, typename TR>
class rdmft::Veff_rdmft< TK, TR >
this part of the code is copying from class Veff and do some modifications.
template<typename TK , typename TR >
contributeHR() is used to calculate the HR matrix <phi_{\mu, 0}|V_{eff}|phi_{\nu, R}> the contribution of V_{eff} is calculated by the contribution of V_{H} and V_{XC} and V_{local pseudopotential} and so on. grid integration is used to calculate the contribution Hamiltonian of effective potential
Reimplemented from hamilt::OperatorLCAO< TK, TR >.