31template <
typename TK,
typename TR>
37 using TAC = std::pair<int, std::array<int, 3>>;
65 const std::vector<double>& orb_cutoff);
69 if (this->
ops !=
nullptr)
84 return this->
hsk->get_hk();
90 return this->
hsk->get_sk();
95 return this->
hsk->get_size();
135 void refresh(
bool yes)
override;
138 virtual void updateHk(
const int ik)
override;
148 void updateSk(
const int ik,
const int hk_type = 0);
Definition setup_exx.h:18
Definition sltk_grid_driver.h:40
Definition parallel_orbitals.h:9
Definition setup_deepks.h:23
Definition two_center_bundle.h:11
A class to compute two-center integrals.
Definition two_center_integrator.h:35
Definition density_matrix.h:70
Definition potential_new.h:48
Definition hcontainer.h:144
Definition hs_matrix_k.hpp:11
Definition hamilt_lcao.h:33
std::vector< TR > hRS2
Definition hamilt_lcao.h:173
std::vector< TR > & getHRS2()
get hRS2 buffer for NSPIN=2 case (spin-up in first half, spin-down in second half)
Definition hamilt_lcao.h:127
TK * getHk() const
get H(k) pointer
Definition hamilt_lcao.h:82
virtual void updateHk(const int ik) override
for target K point, update consequence of hPsi() and matrix()
Definition hamilt_lcao.cpp:507
std::vector< HContainer< TR > * > getHR_vector()
Definition hamilt_lcao.cpp:482
int current_spin
Definition hamilt_lcao.h:185
const int istep
Definition hamilt_lcao.h:187
void updateSk(const int ik, const int hk_type=0)
special for LCAO, update SK only
Definition hamilt_lcao.cpp:572
int refresh_times
Definition hamilt_lcao.h:180
const K_Vectors * kv
Definition hamilt_lcao.h:156
std::pair< int, std::array< int, 3 > > TAC
Definition hamilt_lcao.h:37
int get_size_hsk() const
Definition hamilt_lcao.h:93
Operator< TK > *& getOperator()
get pointer of Operator<TK> ops
Definition hamilt_lcao.cpp:566
const HContainer< TR > * getSR() const
Definition hamilt_lcao.h:113
HS_Matrix_K< TK > * hsk
Hamiltonian and overlap matrices for a specific k point.
Definition hamilt_lcao.h:169
TK * getSk() const
get S(k) pointer
Definition hamilt_lcao.h:88
HContainer< TR > * hR
Real space Hamiltonian H(R), where R is the Bravis lattice vector.
Definition hamilt_lcao.h:159
HContainer< TR > * V_delta_R
Definition hamilt_lcao.h:165
std::unique_ptr< HContainer< TR > > hr_spin_dn_
Definition hamilt_lcao.h:178
void refresh(bool yes) override
refresh the status of HR
Definition hamilt_lcao.cpp:533
HContainer< TR > *& getHR()
get HR pointer of *this->hR, which is a HContainerand contains H(R)
Definition hamilt_lcao.h:99
~HamiltLCAO()
Definition hamilt_lcao.h:67
HContainer< TR > *& get_V_delta_R()
get V_delta_R pointer of *this->V_delta_R, which is a HContainerand contains V_delta(R)
Definition hamilt_lcao.h:120
HContainer< TR > * sR
Real space overlap matrix S(R), where R is the Bravis lattice vector.
Definition hamilt_lcao.h:162
HContainer< TR > *& getSR()
get SR pointer of *this->sR, which is a HContainerand contains S(R)
Definition hamilt_lcao.h:109
const HContainer< TR > * getHR() const
Definition hamilt_lcao.h:103
std::unique_ptr< HContainer< TR > > hr_spin_up_
Definition hamilt_lcao.h:177
virtual std::vector< TK > matrix()
Definition hamilt.h:61
Operator< TK, base_device::DEVICE_CPU > * ops
first node operator, add operations from each operators
Definition hamilt.h:66
Definition matrixblock.h:9