1#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_HAMILT_LCAODFT_OPERATOR_LCAO_OVERLAP_H
2#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_HAMILT_LCAODFT_OPERATOR_LCAO_OVERLAP_H
14#ifndef __OVERLAPTEMPLATE
15#define __OVERLAPTEMPLATE
36template <
typename TK,
typename TR>
41 const std::vector<ModuleBase::Vector3<double>>& kvec_d_in,
45 const std::vector<double>& orb_cutoff,
65 void cal_force_stress(
const bool cal_force,
66 const bool cal_stress,
82 bool SR_fixed_done =
false;
110 void cal_force_IJR(
const int& iat1,
113 const std::unordered_map<
int, std::vector<double>>& nlm1_all,
114 const std::unordered_map<
int, std::vector<double>>& nlm2_all,
122 void cal_stress_IJR(
const int& iat1,
125 const std::unordered_map<
int, std::vector<double>>& nlm1_all,
126 const std::unordered_map<
int, std::vector<double>>& nlm2_all,
Definition sltk_grid_driver.h:40
3 elements vector
Definition vector3.h:24
Definition parallel_orbitals.h:9
A class to compute two-center integrals.
Definition two_center_integrator.h:35
Definition base_matrix.h:20
Definition hcontainer.h:144
Definition hs_matrix_k.hpp:11
Definition operator_lcao.h:12
void cal_SR_IJR(const int &iat1, const int &iat2, const Parallel_Orbitals *paraV, const ModuleBase::Vector3< double > &dtau, TR *data_pointer)
calculate the SR local matrix of <I,J,R> atom pair
void calculate_SR()
calculate the overlap matrix with specific <I,J,R> atom-pairs nearest neighbor atoms don't need to be...
std::vector< double > orb_cutoff_
Definition overlap.h:74
void initialize_SR(const Grid_Driver *GridD_in)
initialize SR, search the nearest neighbor atoms HContainer is used to store the overlap matrix with ...
void output_SR_async_csr(const int istep, hamilt::HContainer< TR > *SR_async, const int precision=8)
output asynchronous overlap matrix in CSR format
virtual void contributeHR() override
virtual void contributeHk(int ik) override
hamilt::HContainer< TR > * calculate_SR_async(const UnitCell &ucell, const double md_dt, const Parallel_Orbitals *paraV)
calculate asynchronous overlap matrix for Hefei-NAMD Calculates <phi(t-1)|phi(t)> by shifting atom po...
#define T
Definition exp.cpp:237