1#ifndef TD_VELOCITY_OP_H
2#define TD_VELOCITY_OP_H
3#include <unordered_map>
39 std::vector<hamilt::HContainer<std::complex<double>>*>
current_term = {
nullptr,
nullptr,
nullptr};
59 const std::vector<std::unordered_map<
int, std::vector<double>>>& nlm1_all,
60 const std::vector<std::unordered_map<
int, std::vector<double>>>& nlm2_all,
61 std::complex<double>** current_mat_p);
66 std::complex<double>** current_mat_p);
Definition sltk_grid_driver.h:43
3 elements vector
Definition vector3.h:22
Definition parallel_orbitals.h:9
A class to compute two-center integrals.
Definition two_center_integrator.h:35
Definition velocity_op.h:15
std::vector< hamilt::HContainer< std::complex< double > > * > current_term
Store real space hamiltonian. TD term should include imaginary part, thus it has to be complex type....
Definition velocity_op.h:39
const LCAO_Orbitals & orb_
Definition velocity_op.h:36
ModuleBase::Vector3< double > cart_At
Store the vector potential for td_ekinetic term.
Definition velocity_op.h:73
void initialize_vcomm_r(const Grid_Driver *GridD_in, const Parallel_Orbitals *paraV)
initialize HR, search the nearest neighbor atoms HContainer is used to store the non-local pseudopote...
Definition velocity_op.cpp:37
const TwoCenterIntegrator * intor_
Definition velocity_op.h:41
void cal_grad_IJR(const int &iat1, const int &iat2, const Parallel_Orbitals *paraV, const ModuleBase::Vector3< double > &dtau, std::complex< double > **current_mat_p)
Definition velocity_op.cpp:458
const TwoCenterIntegrator * intorbeta_
Definition velocity_op.h:42
void cal_vcomm_r_IJR(const int &iat1, const int &iat2, const int &T0, const Parallel_Orbitals *paraV, const std::vector< std::unordered_map< int, std::vector< double > > > &nlm1_all, const std::vector< std::unordered_map< int, std::vector< double > > > &nlm2_all, std::complex< double > **current_mat_p)
calculate the HR local matrix of <I,J,R> atom pair
Definition velocity_op.cpp:324
const UnitCell * ucell
Definition velocity_op.h:32
static cal_r_overlap_R r_calculator
Definition velocity_op.h:74
static bool init_done
Definition velocity_op.h:75
std::vector< AdjacentAtomInfo > adjs_vcommr
exact the nearest neighbor atoms from all adjacent atoms
Definition velocity_op.h:69
std::vector< AdjacentAtomInfo > adjs_grad
Definition velocity_op.h:70
hamilt::HContainer< std::complex< double > > * get_current_term_pointer(const int &i) const
Definition velocity_op.h:24
void initialize_grad_term(const Grid_Driver *GridD_in, const Parallel_Orbitals *paraV)
Definition velocity_op.cpp:118
~Velocity_op()
Definition velocity_op.cpp:28
const Parallel_Orbitals * paraV
Definition velocity_op.h:34
void calculate_vcomm_r()
Definition velocity_op.cpp:181
void calculate_grad_term()
Definition velocity_op.cpp:409
Definition cal_r_overlap_R.h:25
Definition hcontainer.h:144