ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
restart_exx_csr.h
Go to the documentation of this file.
1#pragma once
5
6#include <RI/global/Tensor.h>
7#include <map>
8
9namespace ModuleIO
10{
11using TC = std::array<int, 3>;
12using TAC = std::pair<int, TC>;
13
15template <typename Tdata>
16void read_Hexxs_csr(const std::string& file_name,
17 const UnitCell& ucell,
18 const int nspin,
19 const int nbasis,
20 std::vector<std::map<int, std::map<TAC, RI::Tensor<Tdata>>>>& Hexxs);
21
23template <typename Tdata>
24void read_Hexxs_cereal(const std::string& file_name,
25 std::vector<std::map<int, std::map<TAC, RI::Tensor<Tdata>>>>& Hexxs);
26
28template <typename Tdata>
29void write_Hexxs_csr(const std::string& file_name,
30 const UnitCell& ucell,
31 const std::map<int, std::map<TAC, RI::Tensor<Tdata>>>& Hexxs);
32
35template <typename Tdata>
36std::map<Abfs::Vector3_Order<int>, std::map<size_t, std::map<size_t, Tdata>>> calculate_RI_Tensor_sparse(
37 const double& sparse_threshold,
38 const std::vector<std::map<int, std::map<TAC, RI::Tensor<Tdata>>>>& Hexxs,
39 const UnitCell& ucell);
40} // namespace ModuleIO
41
42#include "restart_exx_csr.hpp"
Definition unitcell.h:15
Definition input_help.cpp:10
void write_Hexxs_csr(const std::string &file_name, const UnitCell &ucell, const std::map< int, std::map< TAC, RI::Tensor< Tdata > > > &Hexxs)
write Hexxs in CSR format
std::pair< int, TC > TAC
Definition restart_exx_csr.h:12
void read_Hexxs_cereal(const std::string &file_name, std::vector< std::map< int, std::map< TAC, RI::Tensor< Tdata > > > > &Hexxs)
read Hexxs in cereal format
Definition restart_exx_csr.hpp:64
void read_Hexxs_csr(const std::string &file_name, const UnitCell &ucell, const int nspin, const int nbasis, std::vector< std::map< int, std::map< TAC, RI::Tensor< Tdata > > > > &Hexxs)
read Hexxs in CSR format
Definition restart_exx_csr.hpp:13
std::map< Abfs::Vector3_Order< int >, std::map< size_t, std::map< size_t, Tdata > > > calculate_RI_Tensor_sparse(const double &sparse_threshold, const std::vector< std::map< int, std::map< TAC, RI::Tensor< Tdata > > > > &Hexxs, const UnitCell &ucell)
std::array< int, 3 > TC
Definition restart_exx_csr.h:11