#include <fem_impl.h>
Public Member Functions | |
FEM_Partition () | |
~FEM_Partition () | |
void | setPartition (const int *elem2chunk, int nElem, int idxBase) |
const int * | getPartition (FEM_Mesh *src, int nChunks) const |
FEM_Ghost_Layer * | addLayer (void) |
FEM_Ghost_Layer * | curLayer (void) |
void | addGhostStencil (FEM_Ghost_Stencil *s) |
void | markGhostStencilLayer (void) |
int | getRegions (void) const |
const FEM_Ghost_Region & | getRegion (int regNo) const |
void | setSymmetries (int nNodes_, int *new_can, const int *sym_src) |
void | addLinearPeriodic (int nFaces_, int nPer, const int *facesA, const int *facesB, int idxBase, int nNodes_, const CkVector3d *nodeLocs) |
const int * | getCanon (void) const |
const FEM_Symmetries_t * | getSymmetries (void) const |
const FEM_Sym_List & | getSymList (void) const |
FEM_Partition () | |
~FEM_Partition () | |
void | setPartition (const int *elem2chunk, int nElem, int idxBase) |
const int * | getPartition (FEM_Mesh *src, int nChunks) const |
FEM_Ghost_Layer * | addLayer (void) |
FEM_Ghost_Layer * | curLayer (void) |
void | addGhostStencil (FEM_Ghost_Stencil *s) |
void | markGhostStencilLayer (void) |
int | getRegions (void) const |
const FEM_Ghost_Region & | getRegion (int regNo) const |
void | setSymmetries (int nNodes_, int *new_can, const int *sym_src) |
void | addLinearPeriodic (int nFaces_, int nPer, const int *facesA, const int *facesB, int idxBase, int nNodes_, const CkVector3d *nodeLocs) |
const int * | getCanon (void) const |
const FEM_Symmetries_t * | getSymmetries (void) const |
const FEM_Sym_List & | getSymList (void) const |
Private Attributes | |
int * | elem2chunk |
Maps element number to (0-based) chunk number, allocated with new[]. | |
CkVec< FEM_Ghost_Region > | regions |
Describes the different regions of ghost elements:. | |
FEM_Ghost_Layer * | lastLayer |
FEM_Initial_Symmetries * | sym |
Describes the problem domain's spatial symmetries. | |
int * | elem2chunk |
Maps element number to (0-based) chunk number, allocated with new[]. | |
CkVec< FEM_Ghost_Region > | regions |
Describes the different regions of ghost elements:. | |
FEM_Ghost_Layer * | lastLayer |
FEM_Initial_Symmetries * | sym |
Describes the problem domain's spatial symmetries. |
Definition at line 372 of file fem_impl.h.
FEM_Partition::FEM_Partition | ( | ) |
FEM_Partition::~FEM_Partition | ( | ) |
Definition at line 181 of file fem.C.
References elem2chunk, getRegions(), and regions.
FEM_Partition::FEM_Partition | ( | ) |
FEM_Partition::~FEM_Partition | ( | ) |
Definition at line 189 of file fem.C.
References CkCopyArray(), and elem2chunk.
Definition at line 193 of file fem.C.
References elem2chunk, FEM_Mesh_partition(), and FEM_Mesh::nElems().
Referenced by FEM_Mesh_split().
FEM_Ghost_Layer* FEM_Partition::addLayer | ( | void | ) | [inline] |
Definition at line 391 of file fem_impl.h.
References lastLayer, CkVec< T >::push_back(), and regions.
Referenced by FEM_Add_ghost_layer().
FEM_Ghost_Layer* FEM_Partition::curLayer | ( | void | ) | [inline] |
Definition at line 396 of file fem_impl.h.
References lastLayer.
Referenced by add_ghost_elem().
void FEM_Partition::addGhostStencil | ( | FEM_Ghost_Stencil * | s | ) | [inline] |
Definition at line 402 of file fem_impl.h.
References lastLayer, CkVec< T >::push_back(), and regions.
Referenced by FEM_Add_ghost_stencil_type(), and FTN_NAME().
void FEM_Partition::markGhostStencilLayer | ( | void | ) | [inline] |
Definition at line 406 of file fem_impl.h.
References CkVec< T >::push_back(), and regions.
Referenced by FEM_Add_ghost_stencil().
int FEM_Partition::getRegions | ( | void | ) | const [inline] |
Definition at line 411 of file fem_impl.h.
References regions, and CkVec< T >::size().
Referenced by splitter::addGhosts(), gatherGhosts(), and ~FEM_Partition().
const FEM_Ghost_Region& FEM_Partition::getRegion | ( | int | regNo | ) | const [inline] |
Definition at line 412 of file fem_impl.h.
References regions.
Referenced by splitter::addGhosts(), and gatherGhosts().
Definition at line 288 of file symmetries.C.
References FEM_Initial_Symmetries::alloc(), FEM_Initial_Symmetries::nodeCanon, FEM_Initial_Symmetries::nodeSymmetries, and sym.
Referenced by FEM_Set_sym_nodes(), and FTN_NAME().
void FEM_Partition::addLinearPeriodic | ( | int | nFaces_, | |
int | nPer, | |||
const int * | facesA, | |||
const int * | facesB, | |||
int | idxBase, | |||
int | nNodes_, | |||
const CkVector3d * | nodeLocs | |||
) |
Definition at line 297 of file symmetries.C.
References FEM_Sym_List::add(), FEM_Initial_Symmetries::alloc(), dest, FEM_Initial_Symmetries::find, linearOffsetMatcher::getA2B(), linearOffsetMatcher::match(), FEM_Initial_Symmetries::nodeSymmetries, sa, sym, and FEM_Initial_Symmetries::symList.
Referenced by FEM_Add_linear_periodicity(), and FTN_NAME().
const int * FEM_Partition::getCanon | ( | void | ) | const |
Definition at line 323 of file symmetries.C.
References unionFind::compress(), unionFind::detach(), FEM_Initial_Symmetries::find, FEM_Initial_Symmetries::nodeCanon, and sym.
Referenced by splitter::addGhosts(), and check().
const FEM_Symmetries_t * FEM_Partition::getSymmetries | ( | void | ) | const |
Definition at line 332 of file symmetries.C.
References FEM_Initial_Symmetries::nodeSymmetries, and sym.
Referenced by splitter::addGhosts().
const FEM_Sym_List & FEM_Partition::getSymList | ( | void | ) | const |
Definition at line 336 of file symmetries.C.
References sym, and FEM_Initial_Symmetries::symList.
Referenced by FEM_Mesh_split().
FEM_Ghost_Layer* FEM_Partition::addLayer | ( | void | ) | [inline] |
Definition at line 1910 of file ParFUM_internals.h.
FEM_Ghost_Layer* FEM_Partition::curLayer | ( | void | ) | [inline] |
Definition at line 1915 of file ParFUM_internals.h.
void FEM_Partition::addGhostStencil | ( | FEM_Ghost_Stencil * | s | ) | [inline] |
Definition at line 1921 of file ParFUM_internals.h.
void FEM_Partition::markGhostStencilLayer | ( | void | ) | [inline] |
Definition at line 1925 of file ParFUM_internals.h.
int FEM_Partition::getRegions | ( | void | ) | const [inline] |
Definition at line 1930 of file ParFUM_internals.h.
const FEM_Ghost_Region& FEM_Partition::getRegion | ( | int | regNo | ) | const [inline] |
Definition at line 1931 of file ParFUM_internals.h.
void FEM_Partition::addLinearPeriodic | ( | int | nFaces_, | |
int | nPer, | |||
const int * | facesA, | |||
const int * | facesB, | |||
int | idxBase, | |||
int | nNodes_, | |||
const CkVector3d * | nodeLocs | |||
) |
const int* FEM_Partition::getCanon | ( | void | ) | const |
const FEM_Symmetries_t* FEM_Partition::getSymmetries | ( | void | ) | const |
const FEM_Sym_List& FEM_Partition::getSymList | ( | void | ) | const |
int* FEM_Partition::elem2chunk [private] |
Maps element number to (0-based) chunk number, allocated with new[].
Definition at line 374 of file fem_impl.h.
Referenced by FEM_Mesh_broadcast(), FEM_Partition(), getPartition(), setPartition(), and ~FEM_Partition().
CkVec<FEM_Ghost_Region> FEM_Partition::regions [private] |
Describes the different regions of ghost elements:.
Definition at line 377 of file fem_impl.h.
Referenced by addGhostStencil(), addLayer(), getRegion(), getRegions(), markGhostStencilLayer(), and ~FEM_Partition().
FEM_Ghost_Layer* FEM_Partition::lastLayer [private] |
Definition at line 378 of file fem_impl.h.
Referenced by addGhostStencil(), addLayer(), curLayer(), and FEM_Partition().
FEM_Initial_Symmetries* FEM_Partition::sym [private] |
Describes the problem domain's spatial symmetries.
Definition at line 381 of file fem_impl.h.
Referenced by addLinearPeriodic(), FEM_Partition(), getCanon(), getSymList(), getSymmetries(), and setSymmetries().
int* FEM_Partition::elem2chunk [private] |
Maps element number to (0-based) chunk number, allocated with new[].
Definition at line 1893 of file ParFUM_internals.h.
CkVec<FEM_Ghost_Region> FEM_Partition::regions [private] |
Describes the different regions of ghost elements:.
Definition at line 1896 of file ParFUM_internals.h.
FEM_Ghost_Layer* FEM_Partition::lastLayer [private] |
Definition at line 1897 of file ParFUM_internals.h.
FEM_Initial_Symmetries* FEM_Partition::sym [private] |
Describes the problem domain's spatial symmetries.
Definition at line 1900 of file ParFUM_internals.h.