19 const bool& read_from_aims=
false,
20 const std::vector<int>& aims_nbasis={})
37 std::vector<T> Amat(Amat1.size());
38 for (
int i = 0;i < Amat1.size();++i)
40 Amat[i] = Amat1[i] + Amat2[i] + Amat3[i] + Amat4[i];
42 std::cout <<
"Amat_full (Hartree term) from RI (Unit Hartree):" << std::endl;
43 for (
int i = 0;i <
npairs;++i)
45 for (
int j = 0;j <
npairs;++j)
47 std::cout << Amat[i *
npairs + j] <<
" ";
49 std::cout << std::endl;
53 void act(
const int nbands,
Definition operator_ri_hartree.h:9
const TLRI< T > Cs_ov_mo
Definition operator_ri_hartree.h:80
OperatorRIHartree(const UnitCell &ucell, const int &naos, const int &nocc, const int &nvirt, const psi::Psi< T > &psi_ks_in, const TLRI< TR > &Cs_ao, const TLRI< TR > &Vs, const bool &read_from_aims=false, const std::vector< int > &aims_nbasis={})
Definition operator_ri_hartree.h:12
const int npairs
Definition operator_ri_hartree.h:76
void act(const int nbands, const int nbasis, const int npol, const T *psi_in, T *hpsi, const int ngk_ik=0, const bool is_first_node=false) const override
Definition operator_ri_hartree.h:53
const TLRI< T > Cs_vo_mo
Definition operator_ri_hartree.h:81
const TLRI< TR > Cs_ao
Definition operator_ri_hartree.h:77
const TLRI< T > CV_ov
Definition operator_ri_hartree.h:82
const int & nvirt
Definition operator_ri_hartree.h:75
const int & naos
Definition operator_ri_hartree.h:73
const int & nocc
Definition operator_ri_hartree.h:74
~OperatorRIHartree()
Definition operator_ri_hartree.h:52
T TR
Definition operator_ri_hartree.h:10
const TLRI< TR > Vs
Definition operator_ri_hartree.h:78
const TLRI< T > CV_vo
Definition operator_ri_hartree.h:83
const psi::Psi< T > & psi_ks
Definition operator_ri_hartree.h:79
int act_type
determine which act() interface would be called in hPsi()
Definition operator.h:102
psi::Psi< T, Device > * hpsi
Definition operator.h:112
enum calculation_type cal_type
Definition operator.h:107
bool is_first_node
Definition operator.h:109
#define T
Definition exp.cpp:237
int MY_RANK
global index of process
Definition global_variable.cpp:21
void TITLE(const std::string &class_name, const std::string &function_name, const bool disable)
Definition tool_title.cpp:18
Definition operator_ri_hartree.h:6
void cal_AX(const TLRI< TK > &Cs_a, const TLRIX< TK > &Cs_bX, const TLRI< TR > &Vs, TK *AX, const double &scale)
Definition ri_benchmark.hpp:218
TLRIX< TK > cal_CsX(const TLRI< TK > &Cs_mo, const TK *X)
Definition ri_benchmark.hpp:156
TLRI< TK > cal_Cs_mo(const UnitCell &ucell, const TLRI< TR > &Cs_ao, const psi::Psi< TK > &wfc_ks, const int &nocc, const int &nvirt, const int &occ_first, const bool &read_from_aims, const std::vector< int > &aims_nbasis)
Definition ri_benchmark.hpp:49
std::vector< TK > cal_Amat_full(const TLRI< TK > &Cs_a, const TLRI< TK > &Cs_b, const TLRI< TR > &Vs)
Definition ri_benchmark.hpp:111
TLRI< TK > cal_CV(const TLRI< TK > &Cs_a_mo, const TLRI< TR > &Vs)
Definition ri_benchmark.hpp:178
std::map< int, std::map< TAC, RI::Tensor< T > > > TLRI
Definition ri_cv_io_test.cpp:12