|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
this part of the code is copying from class Veff and do some modifications. More...
#include <rdmft_tools.h>
Public Member Functions | |
| Veff_rdmft (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 () | |
| 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 () |
Public Member Functions inherited from hamilt::OperatorLCAO< TK, TR > | |
| 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) |
Public Member Functions inherited from hamilt::Operator< TK > | |
| 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 |
Public Attributes | |
| const UnitCell * | ucell |
| const Grid_Driver * | gd |
Public Attributes inherited from hamilt::OperatorLCAO< TK, TR > | |
| HS_Matrix_K< TK > * | hsk = nullptr |
| const std::vector< ModuleBase::Vector3< double > > & | kvec_d |
Public Attributes inherited from hamilt::Operator< TK > | |
| Operator * | next_op |
| interface type 3: return a Psi-type HPsi | |
Private Member Functions | |
| void | initialize_HR (const UnitCell *ucell_in, const Grid_Driver *GridD_in) |
| initialize HR, search the nearest neighbor atoms HContainer is used to store the electronic kinetic matrix with specific <I,J,R> atom-pairs the size of HR will be fixed after initialization | |
Private Attributes | |
| std::vector< double > | orb_cutoff_ |
| elecstate::Potential * | pot = nullptr |
| int | nspin = 1 |
| int | current_spin = 0 |
| const Charge * | charge_ |
| std::string | potential_ |
| const ModulePW::PW_Basis * | rho_basis_ |
| const ModuleBase::matrix * | vloc_ |
| const ModuleBase::ComplexMatrix * | sf_ |
| double * | etxc |
| double * | vtxc |
Additional Inherited Members | |
Public Types inherited from hamilt::Operator< TK > | |
| typedef std::tuple< const psi::Psi< TK, base_device::DEVICE_CPU > *, const psi::Range, TK * > | hpsi_info |
Protected Types inherited from hamilt::Operator< TK > | |
| using | set_memory_op = base_device::memory::set_memory_op< TK, base_device::DEVICE_CPU > |
Protected Member Functions inherited from hamilt::Operator< TK > | |
| TK * | get_hpsi (const hpsi_info &info) const |
Protected Attributes inherited from hamilt::OperatorLCAO< TK, TR > | |
| bool | new_e_iteration = true |
| hamilt::HContainer< TR > * | hR = nullptr |
| Real-space Hamiltonian pointer. | |
| int | current_spin = 0 |
| current spin index | |
| bool | hr_done = false |
| if H(R) is calculated | |
Protected Attributes inherited from hamilt::Operator< TK > | |
| int | ik |
| int | act_type |
| determine which act() interface would be called in hPsi() | |
| bool | in_place |
| enum calculation_type | cal_type |
| Operator * | next_sub_op |
| bool | is_first_node |
| psi::Psi< TK, base_device::DEVICE_CPU > * | hpsi |
| base_device::DEVICE_CPU * | ctx |
this part of the code is copying from class Veff and do some modifications.
|
inline |
Construct a new Veff object for multi-kpoint calculation.
|
inline |
|
virtual |
|
virtual |
Reimplemented from hamilt::OperatorLCAO< TK, TR >.
|
virtual |
|
overridevirtual |
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 >.
|
private |
initialize HR, search the nearest neighbor atoms HContainer is used to store the electronic kinetic matrix with specific <I,J,R> atom-pairs the size of HR will be fixed after initialization
|
private |
|
private |
|
private |
| const Grid_Driver* rdmft::Veff_rdmft< TK, TR >::gd |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| const UnitCell* rdmft::Veff_rdmft< TK, TR >::ucell |
|
private |
|
private |