|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <parallel_k2d.h>
Public Member Functions | |
| Parallel_K2D () | |
| private constructor | |
| ~Parallel_K2D () | |
| private destructor | |
| void | set_para_env (int nks, const int &nw, const int &nb2d, const int &nproc, const int &my_rank, const int &nspin) |
| 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 | |
| void | unset_para_env () |
| void | set_kpar (int kpar) |
| set the number of k-points | |
| int | get_kpar () |
| get the number of k-points | |
| int | get_my_pool () |
| get my pool | |
| Parallel_Kpoints * | get_pKpoints () |
| get pKpoints | |
| Parallel_2D * | get_p2D_global () |
| get p2D_global | |
| Parallel_2D * | get_p2D_pool () |
| get p2D_pool | |
Public Attributes | |
| std::vector< TK > | hk_pool |
| std::vector< TK > | sk_pool |
| MPI_Comm | POOL_WORLD_K2D |
Private Attributes | |
| int | kpar_ = 0 |
| int | NPROC_IN_POOL |
| int | MY_POOL |
| int | RANK_IN_POOL |
| Parallel_Kpoints * | Pkpoints = nullptr |
| Parallel_2D * | P2D_global = nullptr |
| Parallel_2D * | P2D_pool = nullptr |
|
inline |
private constructor
|
inline |
private destructor
| void Parallel_K2D< TK >::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
|
inline |
get the number of k-points
|
inline |
get my pool
|
inline |
get p2D_global
|
inline |
get p2D_pool
|
inline |
get pKpoints
| void Parallel_K2D< TK >::set_kpar | ( | int | kpar | ) |
set the number of k-points
| void Parallel_K2D< TK >::set_para_env | ( | int | nks, |
| const int & | nw, | ||
| const int & | nb2d, | ||
| const int & | nproc, | ||
| const int & | my_rank, | ||
| const int & | nspin | ||
| ) |
Public member functions this function sets the parallel environment for k-points parallelism including the glabal and pool 2D parallel distribution
| void Parallel_K2D< TK >::unset_para_env | ( | ) |
this function unsets the parallel environment for k-points parallelism including the glabal and pool 2D parallel distribution
| std::vector<TK> Parallel_K2D< TK >::hk_pool |
the local Hk, Sk matrices in POOL_WORLD_K2D
|
private |
Private member variables
|
private |
|
private |
mpi info
|
private |
|
private |
|
private |
the pointer to Parallel_Kpoints
| MPI_Comm Parallel_K2D< TK >::POOL_WORLD_K2D |
|
private |
| std::vector<TK> Parallel_K2D< TK >::sk_pool |