LifeV
|
Class that produces a list of dof GID from a list of element LIDs. More...
#include <DOFGatherer.hpp>
Public Types | |
typedef FESpace< MeshType, MapEpetra > | feSpace_Type |
Public typedefs. More... | |
typedef std::shared_ptr< feSpace_Type > | feSpacePtr_Type |
Private Attributes | |
const idTablePtr_Type | M_elementIds |
const std::shared_ptr< FESpace< MeshType, MapEpetra > > | M_feSpace |
idSetGroupPtr_Type | M_dofGIDTable |
DOFGatherer (const idTablePtr_Type &elementIds, const feSpacePtr_Type &feSpace) | |
Constructors and destructor. More... | |
virtual | ~DOFGatherer () |
Destructor. More... | |
const idSetGroupPtr_Type & | dofGIDTable () const |
Get methods. More... | |
void | showMe (std::ostream &s=std::cout) |
Public methods. More... | |
void | run () |
Private methods. More... | |
void | getDofGIDs (const idList_Type &elementLIDs, idSet_Type &dofGIDs) |
Helper method to obtain dof GIDs associated with element LIDs. More... | |
void | dofClassification () |
Private methods that computes unique and shared dofs in M_dofGIDTable. More... | |
void | removeValues (const idSet_Type &valuesToRemove, idSet_Type &targetSet) |
Helper method that removes a subset of IDs from an idSet_Type. More... | |
const bool | setsCouldIntersect (const idSet_Type &first, const idSet_Type &second) const |
Method that computes whether two (ordered) sets of IDs intersect. More... | |
const bool | singleIntersect (const idSet_Type &first, const idSet_Type &second, Int &returnValue) const |
Method that checks if two ordered sets of IDs have a single shared value. More... | |
Class that produces a list of dof GID from a list of element LIDs.
Objects of this class are constructed using an table of element LIDs (as an idTablePtr_Type object) and a finite element space (standard FESpace). The element LIDs are stored in a vector or vectors (see idTablePtr_Type in lifev/core/mesh/GraphUtil.hpp), where each vector contains the IDs of the elements in a second stage partition (for ShyLU_MT).
The DOFGatherer performs two operations, relevant to the second stage partitioning method used by multi-threaded solvers such as ShyLU_MT:
The classified dof sets can be accessed through the dofGIDTable method.
Definition at line 79 of file DOFGatherer.hpp.
typedef FESpace<MeshType, MapEpetra> feSpace_Type |
Public typedefs.
Definition at line 83 of file DOFGatherer.hpp.
typedef std::shared_ptr<feSpace_Type> feSpacePtr_Type |
Definition at line 84 of file DOFGatherer.hpp.
DOFGatherer | ( | const idTablePtr_Type & | elementIds, |
const feSpacePtr_Type & | feSpace | ||
) |
Constructors and destructor.
Constructor
elementIds | - table of element LIDs from the second stage mesh partition |
feSpace | - finite element space |
Definition at line 184 of file DOFGatherer.hpp.
|
virtual |
Destructor.
Definition at line 194 of file DOFGatherer.hpp.
|
inline |
Get methods.
Return a pointer to the classified dof table
Definition at line 103 of file DOFGatherer.hpp.
void showMe | ( | std::ostream & | s = std::cout | ) |
Public methods.
Display the contents of the dof table
Definition at line 248 of file DOFGatherer.hpp.
|
private |
Private methods.
This method performs all the computations
Definition at line 199 of file DOFGatherer.hpp.
|
private |
Helper method to obtain dof GIDs associated with element LIDs.
elementLIDs | - input list of element LIDs for which the dof lookup is desired |
dofGIDs | - output set of dof GIDs |
Definition at line 226 of file DOFGatherer.hpp.
|
private |
Private methods that computes unique and shared dofs in M_dofGIDTable.
Definition at line 264 of file DOFGatherer.hpp.
|
private |
Helper method that removes a subset of IDs from an idSet_Type.
Definition at line 303 of file DOFGatherer.hpp.
|
inlineprivate |
Method that computes whether two (ordered) sets of IDs intersect.
Definition at line 137 of file DOFGatherer.hpp.
|
inlineprivate |
Method that checks if two ordered sets of IDs have a single shared value.
Definition at line 148 of file DOFGatherer.hpp.
|
private |
Definition at line 176 of file DOFGatherer.hpp.
Definition at line 177 of file DOFGatherer.hpp.
|
private |
Definition at line 178 of file DOFGatherer.hpp.