|
real_type | x0 () const |
| Return global x0. More...
|
|
real_type | x1 () const |
| Return global x1. More...
|
|
real_type | y0 () const |
| Return global y0. More...
|
|
real_type | y1 () const |
| Return global y1. More...
|
|
real_type | z0 () const |
| Return global z0. More...
|
|
real_type | z1 () const |
| Return global z1. More...
|
|
real_type | lx () const |
| Return global lx. More...
|
|
real_type | ly () const |
| Return global ly. More...
|
|
real_type | lz () const |
| Return global lz. More...
|
|
real_type | hx () const |
| Return global hx. More...
|
|
real_type | hy () const |
| Return global hy. More...
|
|
real_type | hz () const |
| Return global hz. More...
|
|
unsigned | n () const |
| Return n. More...
|
|
unsigned | nx () const |
| number of polynomial coefficients in x More...
|
|
unsigned | ny () const |
| number of polynomial coefficients in y More...
|
|
unsigned | nz () const |
| number of polynomial coefficients in z More...
|
|
unsigned | Nx () const |
| Return the global number of cells. More...
|
|
unsigned | Ny () const |
| Return the global number of cells. More...
|
|
unsigned | Nz () const |
| Return the global number of cells. More...
|
|
bc | bcx () const |
| global x boundary More...
|
|
bc | bcy () const |
| global y boundary More...
|
|
bc | bcz () const |
| global z boundary More...
|
|
MPI_Comm | communicator () const |
| Return mpi cartesian communicator that is used in this grid. More...
|
|
MPI_Comm | get_perp_comm () const |
| MPI Cartesian communicator in the first two dimensions (x and y) More...
|
|
const DLT< real_type > & | dlt () const |
| The Discrete Legendre Transformation. More...
|
|
const DLT< real_type > & | dltx () const |
|
const DLT< real_type > & | dlty () const |
|
const DLT< real_type > & | dltz () const |
|
unsigned | size () const |
| The total global number of points. More...
|
|
unsigned | local_size () const |
| The total local number of points. More...
|
|
void | display (std::ostream &os=std::cout) const |
| Display global and local grid paramters. More...
|
|
int | pidOf (real_type x, real_type y, real_type z) const |
| Returns the pid of the process that holds the local grid surrounding the given point. More...
|
|
void | multiplyCellNumbers (real_type fx, real_type fy) |
| Multiply the number of cells with a given factor. More...
|
|
void | set (unsigned new_n, unsigned new_Nx, unsigned new_Ny, unsigned new_Nz) |
| Set the number of polynomials and cells. More...
|
|
void | set (unsigned new_nx, unsigned new_Nx, unsigned new_ny, unsigned new_Ny, unsigned new_nz, unsigned new_Nz) |
| Set the number of polynomials and cells. More...
|
|
bool | local2globalIdx (int localIdx, int PID, int &globalIdx) const |
| Map a local index plus the PID to a global vector index. More...
|
|
bool | global2localIdx (int globalIdx, int &localIdx, int &PID) const |
| Map a global vector index to a local vector Index and the corresponding PID. More...
|
|
const RealGrid3d< real_type > & | local () const |
| Return a non-MPI grid local for the calling process. More...
|
|
const RealGrid3d< real_type > & | global () const |
| Return the global non-MPI grid. More...
|
|
template<class real_type>
struct dg::aRealMPITopology3d< real_type >
3D MPI Grid class
Represents the global grid coordinates and the process topology. It just divides the given (global) box into nonoverlapping (local) subboxes that are attributed to each process
- Note
- a single cell is never divided across processes.
-
although it is abstract, objects are not meant to be hold on the heap via a base class pointer ( we protected the destructor)
- Attention
- The access functions
nx()
Nx()
,... all return the global parameters. If you want to have the local ones call the local()
function.
template<class real_type >
Return the global non-MPI grid.
The global grid contains the global boundaries and cell numbers. This is the grid that we would have to use in a non-MPI implementation. The global grid returns the same values for x0(), x1(), ..., Nx(), Ny(), ... as the grid class itself
- Returns
- non-MPI Grid object
template<class real_type >
void dg::aRealMPITopology3d< real_type >::set |
( |
unsigned |
new_n, |
|
|
unsigned |
new_Nx, |
|
|
unsigned |
new_Ny, |
|
|
unsigned |
new_Nz |
|
) |
| |
|
inline |
Set the number of polynomials and cells.
Set nz
to 1 Same as set(new_n,new_Nx,new_n,new_Ny,1,new_Nz)
- Parameters
-
new_n | new number of Gaussian nodes in x and y |
new_Nx | new number of cells in x |
new_Ny | new number of cells in y |
new_Nz | new number of cells in z |