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#include <RI/global/Tensor.h>
6#include <map>
7
8namespace ModuleIO
9{
10 using TC = std::array<int, 3>;
11 using TAC = std::pair<int, TC>;
12
14 template<typename Tdata>
15 void read_Hexxs_csr(const std::string& file_name, const UnitCell& ucell,
16 const int nspin, const int nbasis,
17 std::vector<std::map<int, std::map<TAC, RI::Tensor<Tdata>>>>& Hexxs);
18
20 template<typename Tdata>
21 void read_Hexxs_cereal(const std::string& file_name,
22 std::vector<std::map<int, std::map<TAC, RI::Tensor<Tdata>>>>& Hexxs);
23
25 template<typename Tdata>
26 void write_Hexxs_csr(const std::string& file_name, const UnitCell& ucell,
27 const std::map<int, std::map<TAC, RI::Tensor<Tdata>>>& Hexxs);
28
31 template<typename Tdata>
32 std::map<Abfs::Vector3_Order<int>, std::map<size_t, std::map<size_t, Tdata>>>
33 calculate_RI_Tensor_sparse(const double& sparse_threshold,
34 const std::vector<std::map<int, std::map<TAC, RI::Tensor<Tdata>>>>& Hexxs,
35 const UnitCell& ucell);
36}
37
Definition unitcell.h:16
This class has two functions: restart psi from the previous calculation, and write psi to the disk.
Definition cal_dos.h:9
std::pair< int, TC > TAC
Definition restart_exx_csr.h:11
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
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:10