9#include <unordered_map>
14#ifndef __TD_NONLOCALTEMPLATE
15#define __TD_NONLOCALTEMPLATE
31template <
typename TK,
typename TR>
36 const std::vector<ModuleBase::Vector3<double>>& kvec_d_in,
62 bool allocated =
false;
64 bool hR_tmp_done =
false;
94 const std::vector<std::unordered_map<
int, std::vector<std::complex<double>>>>& nlm1_all,
95 const std::vector<std::unordered_map<
int, std::vector<std::complex<double>>>>& nlm2_all,
96 std::complex<double>* data_pointer,
97 std::complex<double>** data_pointer_c);
Definition sltk_grid_driver.h:40
3 elements vector
Definition vector3.h:24
Definition parallel_orbitals.h:9
Definition hcontainer.h:144
Definition hs_matrix_k.hpp:11
Definition operator_lcao.h:12
virtual void contributeHR() override
contributeHR() is used to calculate the HR matrix <phi_{\mu, 0}|beta_p1>D_{p1, p2}<beta_p2|phi_{\nu,...
void initialize_HR_tmp(const Parallel_Orbitals *paraV)
initialize HR_tmp Allocate the memory for HR_tmp with the same size as HR
void initialize_HR(const Grid_Driver *GridD_in)
initialize HR, search the nearest neighbor atoms HContainer is used to store the non-local pseudopote...
void update_td()
init vector potential for td_nonlocal term
const LCAO_Orbitals & orb_
Definition td_nonlocal_lcao.h:54
ModuleBase::Vector3< double > cart_At
Store the vector potential for td_nonlocal term.
Definition td_nonlocal_lcao.h:102
virtual void set_HR_fixed(void *) override
set_HR_fixed() is used for pass HR_fixed matrix to the next node in sub-chain table not used in base ...
void calculate_HR()
calculate the non-local pseudopotential matrix with specific <I,J,R> atom-pairs nearest neighbor atom...
std::vector< AdjacentAtomInfo > adjs_all
exact the nearest neighbor atoms from all adjacent atoms
Definition td_nonlocal_lcao.h:100
void cal_HR_IJR(const int &iat1, const int &iat2, const int &T0, const Parallel_Orbitals *paraV, const std::vector< std::unordered_map< int, std::vector< std::complex< double > > > > &nlm1_all, const std::vector< std::unordered_map< int, std::vector< std::complex< double > > > > &nlm2_all, std::complex< double > *data_pointer, std::complex< double > **data_pointer_c)
calculate the HR local matrix of <I,J,R> atom pair
virtual void contributeHk(int ik) override
Definition td_nonlocal_lcao.h:21
#define T
Definition exp.cpp:237