PPL Logo

FEM_Partition Class Reference
[ParFUM Unstructured Mesh Framework]

Describes all the data needed for partitioning a mesh. More...

#include <fem_impl.h>

Inheritance diagram for FEM_Partition:

Inheritance graph
[legend]
Collaboration diagram for FEM_Partition:

Collaboration graph
[legend]

Public Member Functions

 FEM_Partition ()
 ~FEM_Partition ()
void setPartition (const int *elem2chunk, int nElem, int idxBase)
const intgetPartition (FEM_Mesh *src, int nChunks) const
FEM_Ghost_LayeraddLayer (void)
FEM_Ghost_LayercurLayer (void)
void addGhostStencil (FEM_Ghost_Stencil *s)
void markGhostStencilLayer (void)
int getRegions (void) const
const FEM_Ghost_RegiongetRegion (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 intgetCanon (void) const
const FEM_Symmetries_tgetSymmetries (void) const
const FEM_Sym_ListgetSymList (void) const
 FEM_Partition ()
 ~FEM_Partition ()
void setPartition (const int *elem2chunk, int nElem, int idxBase)
const intgetPartition (FEM_Mesh *src, int nChunks) const
FEM_Ghost_LayeraddLayer (void)
FEM_Ghost_LayercurLayer (void)
void addGhostStencil (FEM_Ghost_Stencil *s)
void markGhostStencilLayer (void)
int getRegions (void) const
const FEM_Ghost_RegiongetRegion (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 intgetCanon (void) const
const FEM_Symmetries_tgetSymmetries (void) const
const FEM_Sym_ListgetSymList (void) const

Private Attributes

intelem2chunk
 Maps element number to (0-based) chunk number, allocated with new[].
CkVec< FEM_Ghost_Regionregions
 Describes the different regions of ghost elements:.
FEM_Ghost_LayerlastLayer
FEM_Initial_Symmetriessym
 Describes the problem domain's spatial symmetries.
intelem2chunk
 Maps element number to (0-based) chunk number, allocated with new[].
CkVec< FEM_Ghost_Regionregions
 Describes the different regions of ghost elements:.
FEM_Ghost_LayerlastLayer
FEM_Initial_Symmetriessym
 Describes the problem domain's spatial symmetries.

Detailed Description

Describes all the data needed for partitioning a mesh.

Definition at line 372 of file fem_impl.h.


Constructor & Destructor Documentation

FEM_Partition::FEM_Partition (  ) 

Definition at line 175 of file fem.C.

References elem2chunk, lastLayer, and sym.

FEM_Partition::~FEM_Partition (  ) 

Definition at line 181 of file fem.C.

References elem2chunk, getRegions(), and regions.

Here is the call graph for this function:

FEM_Partition::FEM_Partition (  ) 

FEM_Partition::~FEM_Partition (  ) 


Member Function Documentation

void FEM_Partition::setPartition ( const int elem2chunk,
int  nElem,
int  idxBase 
)

Definition at line 189 of file fem.C.

References CkCopyArray(), and elem2chunk.

Here is the call graph for this function:

const int * FEM_Partition::getPartition ( FEM_Mesh src,
int  nChunks 
) const

Definition at line 193 of file fem.C.

References elem2chunk, FEM_Mesh_partition(), and FEM_Mesh::nElems().

Referenced by FEM_Mesh_split().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

FEM_Ghost_Layer* FEM_Partition::curLayer ( void   )  [inline]

Definition at line 396 of file fem_impl.h.

References lastLayer.

Referenced by add_ghost_elem().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

void FEM_Partition::setSymmetries ( int  nNodes_,
int new_can,
const int sym_src 
)

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

void FEM_Partition::setPartition ( const int elem2chunk,
int  nElem,
int  idxBase 
)

const int* FEM_Partition::getPartition ( FEM_Mesh src,
int  nChunks 
) const

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::setSymmetries ( int  nNodes_,
int new_can,
const int sym_src 
)

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


Field Documentation

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().

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().

Definition at line 378 of file fem_impl.h.

Referenced by addGhostStencil(), addLayer(), curLayer(), and FEM_Partition().

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().

Maps element number to (0-based) chunk number, allocated with new[].

Definition at line 1893 of file ParFUM_internals.h.

Describes the different regions of ghost elements:.

Definition at line 1896 of file ParFUM_internals.h.

Definition at line 1897 of file ParFUM_internals.h.

Describes the problem domain's spatial symmetries.

Definition at line 1900 of file ParFUM_internals.h.


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

Generated on Mon Sep 21 08:24:51 2020 for Charm++ by  doxygen 1.5.5