31template <
typename TK,
typename TR>
37 using TAC = std::pair<int, std::array<int, 3>>;
61 int* exx_two_level_step =
nullptr,
62 std::vector<std::map<
int, std::map<
TAC, RI::Tensor<double>>>>* Hexxd =
nullptr,
63 std::vector<std::map<
int, std::map<
TAC, RI::Tensor<std::complex<double>>>>>* Hexxc =
nullptr
75 const std::vector<double>& orb_cutoff);
79 if (this->
ops !=
nullptr)
94 return this->
hsk->get_hk();
100 return this->
hsk->get_sk();
105 return this->
hsk->get_size();
132 virtual void updateHk(
const int ik)
override;
142 void updateSk(
const int ik,
const int hk_type = 0);
Definition gint_gamma.h:23
Definition sltk_grid_driver.h:43
Definition LCAO_deepks.h:52
Definition parallel_orbitals.h:9
Definition two_center_bundle.h:11
A class to compute two-center integrals.
Definition two_center_integrator.h:35
Definition density_matrix.h:36
Definition potential_new.h:48
Definition hcontainer.h:144
Definition hs_matrix_k.hpp:11
Definition hamilt_lcao.h:33
void refresh() override
refresh the status of HR
Definition hamilt_lcao.cpp:490
std::vector< TR > hRS2
Definition hamilt_lcao.h:167
TK * getHk() const
get H(k) pointer
Definition hamilt_lcao.h:92
virtual void updateHk(const int ik) override
for target K point, update consequence of hPsi() and matrix()
Definition hamilt_lcao.cpp:464
int current_spin
Definition hamilt_lcao.h:174
const int istep
Definition hamilt_lcao.h:176
void updateSk(const int ik, const int hk_type=0)
special for LCAO, update SK only
Definition hamilt_lcao.cpp:515
int refresh_times
Definition hamilt_lcao.h:169
const K_Vectors * kv
Definition hamilt_lcao.h:150
std::pair< int, std::array< int, 3 > > TAC
Definition hamilt_lcao.h:37
int get_size_hsk() const
Definition hamilt_lcao.h:103
Operator< TK > *& getOperator()
get pointer of Operator<TK> ops
Definition hamilt_lcao.cpp:509
HS_Matrix_K< TK > * hsk
Hamiltonian and overlap matrices for a specific k point.
Definition hamilt_lcao.h:163
TK * getSk() const
get S(k) pointer
Definition hamilt_lcao.h:98
HContainer< TR > * hR
Real space Hamiltonian H(R), where R is the Bravis lattice vector.
Definition hamilt_lcao.h:153
HContainer< TR > * V_delta_R
Definition hamilt_lcao.h:159
HContainer< TR > *& getHR()
get HR pointer of *this->hR, which is a HContainerand contains H(R)
Definition hamilt_lcao.h:109
~HamiltLCAO()
Definition hamilt_lcao.h:77
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:122
HContainer< TR > * sR
Real space overlap matrix S(R), where R is the Bravis lattice vector.
Definition hamilt_lcao.h:156
HContainer< TR > *& getSR()
get SR pointer of *this->sR, which is a HContainerand contains S(R)
Definition hamilt_lcao.h:115
virtual std::vector< TK > matrix()
Definition hamilt.h:54
Operator< TK, base_device::DEVICE_CPU > * ops
first node operator, add operations from each operators
Definition hamilt.h:61
base device SOURCES math_dngvd_test cpp endif() if(ENABLE_GOOGLEBENCH) AddTest(TARGET PERF_MODULE_HSOLVER_KERNELS LIBS parameter $
Definition CMakeLists.txt:10
Definition matrixblock.h:9