38 const std::vector<int>& ik_kpar,
This class packs the basic information of 2D-block-cyclic parallel distribution of an arbitrary matri...
Definition parallel_2d.h:12
Definition parallel_k2d.h:18
void unset_para_env()
Definition parallel_k2d.cpp:87
int kpar_
Definition parallel_k2d.h:71
int NPROC_IN_POOL
Definition parallel_k2d.h:76
MPI_Comm POOL_WORLD_K2D
Definition parallel_k2d.h:64
Parallel_Kpoints * Pkpoints
Definition parallel_k2d.h:83
int get_kpar()
get the number of k-points
Definition parallel_k2d.h:47
void set_para_env(int nks, const int &nw, const int &nb2d, const int &nproc, const int &my_rank, const int &nspin)
Definition parallel_k2d.cpp:9
~Parallel_K2D()
private destructor
Definition parallel_k2d.h:23
Parallel_2D * P2D_global
Definition parallel_k2d.h:84
Parallel_Kpoints * get_pKpoints()
get pKpoints
Definition parallel_k2d.h:51
Parallel_2D * P2D_pool
Definition parallel_k2d.h:85
void set_kpar(int kpar)
set the number of k-points
Definition parallel_k2d.cpp:104
std::vector< TK > hk_pool
Definition parallel_k2d.h:60
Parallel_K2D()
private constructor
Definition parallel_k2d.h:21
void distribute_hsk(hamilt::Hamilt< TK > *pHamilt, const std::vector< int > &ik_kpar, const int &nw)
this function distributes the Hk and Sk matrices to hk_pool and sk_pool
Definition parallel_k2d.cpp:38
Parallel_2D * get_p2D_global()
get p2D_global
Definition parallel_k2d.h:53
int RANK_IN_POOL
Definition parallel_k2d.h:78
std::vector< TK > sk_pool
Definition parallel_k2d.h:61
int get_my_pool()
get my pool
Definition parallel_k2d.h:49
int MY_POOL
Definition parallel_k2d.h:77
Parallel_2D * get_p2D_pool()
get p2D_pool
Definition parallel_k2d.h:55
Definition parallel_kpoints.h:10