ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Parallel_Kpoints Class Reference

#include <parallel_kpoints.h>

Collaboration diagram for Parallel_Kpoints:

Public Member Functions

 Parallel_Kpoints ()
 
 ~Parallel_Kpoints ()
 
void kinfo (int &nkstot_in, const int &kpar_in, const int &my_pool_in, const int &rank_in_pool_in, const int &nproc_in, const int &nspin_in)
 
void pool_collection (double &value, const double *wk, const int &ik)
 
void pool_collection (double *valuea, double *valueb, const ModuleBase::realArray &a, const ModuleBase::realArray &b, const int &ik)
 
void pool_collection (std::complex< double > *value, const ModuleBase::ComplexArray &w, const int &ik) const
 
template<class T , class V >
void pool_collection_aux (T *value, const V &w, const int &dim, const int &ik) const
 
void gatherkvec (const std::vector< ModuleBase::Vector3< double > > &vec_local, std::vector< ModuleBase::Vector3< double > > &vec_global) const
 gather kpoints from all processors
 
int get_startpro_pool (const int &pool) const
 
int get_max_nks_pool () const
 

Public Attributes

std::vector< int > nks_pool
 
std::vector< int > startk_pool
 
std::vector< int > whichpool
 
int nkstot_np = 0
 
int nks_np = 0
 
int kpar = 0
 
int my_pool = 0
 
int rank_in_pool = 0
 
int nproc = 1
 
int nspin = 1
 

Private Member Functions

void get_nks_pool (const int &nkstot)
 
void get_startk_pool (const int &nkstot)
 
void get_whichpool (const int &nkstot)
 
void set_startpro_pool ()
 

Private Attributes

std::vector< int > startpro_pool
 

Constructor & Destructor Documentation

◆ Parallel_Kpoints()

Parallel_Kpoints::Parallel_Kpoints ( )
inline

◆ ~Parallel_Kpoints()

Parallel_Kpoints::~Parallel_Kpoints ( )
inline

Member Function Documentation

◆ gatherkvec()

void Parallel_Kpoints::gatherkvec ( const std::vector< ModuleBase::Vector3< double > > &  vec_local,
std::vector< ModuleBase::Vector3< double > > &  vec_global 
) const

gather kpoints from all processors

Parameters
vec_localkpoint vector in local processor
vec_globalkpoint vector in all processors
Here is the caller graph for this function:

◆ get_max_nks_pool()

int Parallel_Kpoints::get_max_nks_pool ( ) const
inline

◆ get_nks_pool()

void Parallel_Kpoints::get_nks_pool ( const int &  nkstot)
private
Here is the caller graph for this function:

◆ get_startk_pool()

void Parallel_Kpoints::get_startk_pool ( const int &  nkstot)
private
Here is the caller graph for this function:

◆ get_startpro_pool()

int Parallel_Kpoints::get_startpro_pool ( const int &  pool) const
inline
Here is the caller graph for this function:

◆ get_whichpool()

void Parallel_Kpoints::get_whichpool ( const int &  nkstot)
private
Here is the caller graph for this function:

◆ kinfo()

void Parallel_Kpoints::kinfo ( int &  nkstot_in,
const int &  kpar_in,
const int &  my_pool_in,
const int &  rank_in_pool_in,
const int &  nproc_in,
const int &  nspin_in 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pool_collection() [1/3]

void Parallel_Kpoints::pool_collection ( double &  value,
const double *  wk,
const int &  ik 
)
Here is the caller graph for this function:

◆ pool_collection() [2/3]

void Parallel_Kpoints::pool_collection ( double *  valuea,
double *  valueb,
const ModuleBase::realArray a,
const ModuleBase::realArray b,
const int &  ik 
)
Here is the call graph for this function:

◆ pool_collection() [3/3]

void Parallel_Kpoints::pool_collection ( std::complex< double > *  value,
const ModuleBase::ComplexArray w,
const int &  ik 
) const
Here is the call graph for this function:

◆ pool_collection_aux()

template<class T , class V >
void Parallel_Kpoints::pool_collection_aux ( T value,
const V &  w,
const int &  dim,
const int &  ik 
) const
Here is the caller graph for this function:

◆ set_startpro_pool()

void Parallel_Kpoints::set_startpro_pool ( )
private
Here is the caller graph for this function:

Member Data Documentation

◆ kpar

int Parallel_Kpoints::kpar = 0

◆ my_pool

int Parallel_Kpoints::my_pool = 0

◆ nks_np

int Parallel_Kpoints::nks_np = 0

◆ nks_pool

std::vector<int> Parallel_Kpoints::nks_pool

◆ nkstot_np

int Parallel_Kpoints::nkstot_np = 0

◆ nproc

int Parallel_Kpoints::nproc = 1

◆ nspin

int Parallel_Kpoints::nspin = 1

◆ rank_in_pool

int Parallel_Kpoints::rank_in_pool = 0

◆ startk_pool

std::vector<int> Parallel_Kpoints::startk_pool

◆ startpro_pool

std::vector<int> Parallel_Kpoints::startpro_pool
private

◆ whichpool

std::vector<int> Parallel_Kpoints::whichpool

The documentation for this class was generated from the following files: