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

#include <parallel_grid.h>

Collaboration diagram for Parallel_Grid:

Public Member Functions

 Parallel_Grid ()
 
 Parallel_Grid (const int ncx_in, const int ncy_in, const int ncz_in, const int nczp_in, const int nrxx_in, const int nbz_in, const int bz_in)
 
 ~Parallel_Grid ()
 
void init (const int &ncx, const int &ncy, const int &ncz, const int &nczp, const int &nrxx, const int &nbz, const int &bz)
 
void init_final_scf (const int &ncx, const int &ncy, const int &ncz, const int &nczp, const int &nrxx, const int &nbz, const int &bz)
 
void zpiece_to_all (double *zpiece, const int &iz, double *rho) const
 
void zpiece_to_stogroup (double *zpiece, const int &iz, double *rho) const
 
void bcast (const double *const data_global, double *data_local, const int &rank) const
 Broadcast data from root to all processors. The index order is [x][y][z].
 
void reduce (double *rhotot, const double *constrhoin, const bool reduce_all_pool) const
 Reduce data from all processors to root. The index order is [x][y][z].
 

Public Attributes

const int & nx = this->ncx
 
const int & ny = this->ncy
 
const int & nz = this->ncz
 

Private Member Functions

void z_distribution (void)
 

Private Attributes

int * nproc_in_pool = nullptr
 
int ** numz = nullptr
 
int ** startz = nullptr
 
int ** whichpro = nullptr
 
int ** whichpro_loc = nullptr
 
int ncx =0
 
int ncy =0
 
int ncz =0
 
int ncxy =0
 
int ncxyz =0
 
int nczp =0
 
int nrxx =0
 
int nbz =0
 
int bz =0
 
bool allocate = false
 
bool allocate_final_scf = false
 

Friends

class Efield
 
class Symmetry_rho
 

Constructor & Destructor Documentation

◆ Parallel_Grid() [1/2]

Parallel_Grid::Parallel_Grid ( )

◆ Parallel_Grid() [2/2]

Parallel_Grid::Parallel_Grid ( const int  ncx_in,
const int  ncy_in,
const int  ncz_in,
const int  nczp_in,
const int  nrxx_in,
const int  nbz_in,
const int  bz_in 
)
inline

◆ ~Parallel_Grid()

Parallel_Grid::~Parallel_Grid ( )

Member Function Documentation

◆ bcast()

void Parallel_Grid::bcast ( const double *const  data_global,
double *  data_local,
const int &  rank 
) const

Broadcast data from root to all processors. The index order is [x][y][z].

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init()

void Parallel_Grid::init ( const int &  ncx,
const int &  ncy,
const int &  ncz,
const int &  nczp,
const int &  nrxx,
const int &  nbz,
const int &  bz 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_final_scf()

void Parallel_Grid::init_final_scf ( const int &  ncx,
const int &  ncy,
const int &  ncz,
const int &  nczp,
const int &  nrxx,
const int &  nbz,
const int &  bz 
)
Here is the call graph for this function:

◆ reduce()

void Parallel_Grid::reduce ( double *  rhotot,
const double *  constrhoin,
const bool  reduce_all_pool 
) const

Reduce data from all processors to root. The index order is [x][y][z].

Here is the call graph for this function:
Here is the caller graph for this function:

◆ z_distribution()

void Parallel_Grid::z_distribution ( void  )
private
Here is the caller graph for this function:

◆ zpiece_to_all()

void Parallel_Grid::zpiece_to_all ( double *  zpiece,
const int &  iz,
double *  rho 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zpiece_to_stogroup()

void Parallel_Grid::zpiece_to_stogroup ( double *  zpiece,
const int &  iz,
double *  rho 
) const
Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ Efield

friend class Efield
friend

◆ Symmetry_rho

friend class Symmetry_rho
friend

Member Data Documentation

◆ allocate

bool Parallel_Grid::allocate = false
private

◆ allocate_final_scf

bool Parallel_Grid::allocate_final_scf = false
private

◆ bz

int Parallel_Grid::bz =0
private

◆ nbz

int Parallel_Grid::nbz =0
private

◆ ncx

int Parallel_Grid::ncx =0
private

◆ ncxy

int Parallel_Grid::ncxy =0
private

◆ ncxyz

int Parallel_Grid::ncxyz =0
private

◆ ncy

int Parallel_Grid::ncy =0
private

◆ ncz

int Parallel_Grid::ncz =0
private

◆ nczp

int Parallel_Grid::nczp =0
private

◆ nproc_in_pool

int* Parallel_Grid::nproc_in_pool = nullptr
private

◆ nrxx

int Parallel_Grid::nrxx =0
private

◆ numz

int** Parallel_Grid::numz = nullptr
private

◆ nx

const int& Parallel_Grid::nx = this->ncx

◆ ny

const int& Parallel_Grid::ny = this->ncy

◆ nz

const int& Parallel_Grid::nz = this->ncz

◆ startz

int** Parallel_Grid::startz = nullptr
private

◆ whichpro

int** Parallel_Grid::whichpro = nullptr
private

◆ whichpro_loc

int** Parallel_Grid::whichpro_loc = nullptr
private

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