ri.h File Reference

LibRPA: ri.h File Reference
LibRPA
ri.h File Reference

Utilies related to resolution of identity. More...

#include <cstring>
#include <map>
#include <memory>
#include <utility>
#include "vector3_order.h"
#include "atoms.h"
#include "complexmatrix.h"
#include "libri_stub.h"
#include "libri_utils.h"
Include dependency graph for ri.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Cs_LRI
 

Typedefs

typedef atom_mapping< map< Vector3_Order< int >, std::shared_ptr< matrix > > >::pair_t_old atpair_R_mat_t
 type alias of atom-pair mapping to real matrix indexed by unit-cell vector
 
typedef atom_mapping< map< Vector3_Order< int >, std::shared_ptr< ComplexMatrix > > >::pair_t_old atpair_R_cplx_mat_t
 type alias of atom-pair mapping to complex matrix indexed by unit-cell vector
 
typedef atom_mapping< map< Vector3_Order< double >, std::shared_ptr< ComplexMatrix > > >::pair_t_old atpair_k_cplx_mat_t
 type alias of atom-pair mapping to complex matrix indexed by reciprocal vector
 

Functions

void allreduce_2D_coulomb_to_atompair (map< Vector3_Order< double >, ComplexMatrix > &Vq_loc, atpair_k_cplx_mat_t &coulomb_mat, double threshold)
 
void allreduce_atp_coulomb (atpair_k_cplx_mat_t &coulomb_mat)
 
int atom_iw_loc2glo (const int &atom_index, const int &iw_lcoal)
 
int atom_mu_loc2glo (const int &atom_index, const int &mu_lcoal)
 
int atom_mu_glo2loc (const int &glo_index, int &mu_index)
 
void init_N_all_mu ()
 
void allreduce_atp_aux ()
 
atpair_R_cplx_mat_t inverse_FT_atpair_cplx_mat (atpair_k_cplx_mat_t kmat, vector< Vector3_Order< int >> Rlist)
 inverse Fouriter transform of atom-pair mapping to complex matrix
 
vector< int > get_part_range ()
 
matrix reshape_Cs (size_t n1, size_t n2, size_t n3, const shared_ptr< matrix > &Csmat)
 Reshape Cs matrix from (n1*n2,n3) to (n2,n1*n3)
 
matrix reshape_mat (size_t n1, size_t n2, size_t n3, const matrix &Csmat)
 Reshape Cs matrix from (n1,n2*n3) to (n2,n1*n3)
 
matrix reshape_mat_21 (const size_t n1, const size_t n2, const size_t n3, const matrix &Csmat)
 Reshape Cs matrix from n1,n2*n3) to (n1*n2,n3)
 

Variables

int n_irk_points
 
int natom
 
int ncell
 
std::vector< Vector3_Order< double > > irk_points
 
map< Vector3_Order< double >, double > irk_weight
 
map< atom_t, size_t > atom_nw
 
map< atom_t, size_t > atom_mu
 
map< atom_t, size_t > atom_nw_loc
 
map< atom_t, size_t > atom_mu_loc
 
vector< size_t > atom_mu_part_range
 
int N_all_mu
 
vector< atpair_ttot_atpair
 
vector< atpair_ttot_atpair_ordered
 
vector< atpair_tlocal_atpair
 
Cs_LRI Cs_data
 
atpair_k_cplx_mat_t Vq
 Coulomb matrix in ABF, represented in the reciprocal space.
 
atpair_k_cplx_mat_t Vq_cut
 Truncated Coulomb matrix in ABF, represented in the reciprocal space.
 
map< Vector3_Order< double >, ComplexMatrixVq_block_loc
 
map< Vector3_Order< double >, ComplexMatrixVq_cut_block_loc
 

Detailed Description

Utilies related to resolution of identity.