diff --git a/source/module_ri/Exx_LRI_interface.h b/source/module_ri/Exx_LRI_interface.h index e1282e1865..ade2027fb2 100644 --- a/source/module_ri/Exx_LRI_interface.h +++ b/source/module_ri/Exx_LRI_interface.h @@ -27,16 +27,14 @@ class Exx_LRI_Interface Exx_LRI_Interface(std::shared_ptr> exx_ptr) : exx_ptr(exx_ptr) {} Exx_LRI_Interface() = delete; - void write_Hexxs(const std::string &file_name) const; + /// read and write Hexxs using cereal + void write_Hexxs(const std::string& file_name) const; void read_Hexxs(const std::string& file_name); + /// read and write Hexxs in CSR format void write_Hexxs(const std::string& file_name, const UnitCell& ucell) const; void read_Hexxs(const std::string& file_name, const UnitCell& ucell); - std::map, std::map>> - calculate_RI_Tensor_sparse(const double& sparse_threshold, - const std::map>>& hR, const UnitCell& ucell)const; - std::vector< std::map>>>& get_Hexxs() const { return this->exx_ptr->Hexxs; } Tdata& get_Eexx() const { return this->exx_ptr->Eexx; } @@ -61,6 +59,13 @@ class Exx_LRI_Interface int& iter); private: + + /// calculate CSR sparse matrix from the global matrix stored with RI::Tensor + /// the return type is same as LCAO_Matrix::SR_sparse, HR_sparse, etc. + std::map, std::map>> + calculate_RI_Tensor_sparse(const double& sparse_threshold, + const std::map>>& hR, const UnitCell& ucell)const; + std::shared_ptr> exx_ptr; Mix_DMk_2D mix_DMk_2D; int two_level_step = 0;