
Public Member Functions | |
| InhomogeneousNodalDOFMap (const Mesh &mesh, const Array< Map< Set< int >, CellFilter > > &funcSetToDomainMap, int setupVerb) | |
| virtual | ~InhomogeneousNodalDOFMap () |
| RCP< const MapStructure > | getDOFsForCellBatch (int cellDim, const Array< int > &cellLID, const Set< int > &requestedFuncSet, Array< Array< int > > &dofs, Array< int > &nNodes, int verb) const |
| RCP< const Set< int > > | allowedFuncsOnCellBatch (int cellDim, const Array< int > &cellLID) const |
| const Array< CellFilter > & | funcDomains () const |
| virtual void | print (std::ostream &os) const |
Protected Member Functions | |
| void | getFunctionDofs (int cellDim, const Array< int > &cellLID, const Array< int > &facetLID, const Array< int > &funcs, Array< Array< int > > &dofs) const |
| Array< int > | dofsOnCell (int cellDim, int cellLID, const Set< int > &reqFuncs) const |
| void | init () |
| void | computeOffsets (int localCount) |
| void | shareRemoteDOFs (const Array< Array< int > > &remoteNodes) |
| void | assignNode (int fLID, int funcComboIndex, int dofOffset, int nFuncs, Array< Array< int > > &remoteNodes, Array< int > &hasProcessedCell, int &nextDOF) |
Protected Attributes | |
| int | dim_ |
| RCP< BasisDOFTopologyBase > | basis_ |
| int | nTotalFuncs_ |
| Array< CellFilter > | funcDomains_ |
| Array< Array< int > > | nodeDofs_ |
| Array< Array< int > > | elemDofs_ |
| Array< int > | nodeToFuncSetIndexMap_ |
| Array< int > | elemToFuncSetIndexMap_ |
| Array< Set< int > > | elemFuncSets_ |
| Array< Set< int > > | nodalFuncSets_ |
| Array< int > | nodeToOffsetMap_ |
| Array< int > | elemToOffsetMap_ |
| Array< Array< int > > | funcIndexWithinNodeFuncSet_ |
| Array< RCP< const MapStructure > > | elemStructure_ |
| Array< RCP< const MapStructure > > | nodeStructure_ |
Definition at line 49 of file SundanceInhomogeneousNodalDOFMap.hpp.
| InhomogeneousNodalDOFMap::InhomogeneousNodalDOFMap | ( | const Mesh & | mesh, | |
| const Array< Map< Set< int >, CellFilter > > & | funcSetToDomainMap, | |||
| int | setupVerb | |||
| ) |
Definition at line 47 of file SundanceInhomogeneousNodalDOFMap.cpp.
References Sundance::CellSet::begin(), Sundance::Mesh::comm(), Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::CellSet::end(), Sundance::Map< Key, Value, Compare >::get(), Sundance::Mesh::getFacetLIDs(), Playa::MPIComm::getNProc(), Sundance::Set< Key, Compare >::merge(), Sundance::Mesh::numCells(), Sundance::Mesh::numFacets(), Sundance::Map< Key, Value, Compare >::put(), Sundance::Set< Key, Compare >::size(), SUNDANCE_MSG1, SUNDANCE_MSG2, and SUNDANCE_MSG4.
| virtual Sundance::InhomogeneousNodalDOFMap::~InhomogeneousNodalDOFMap | ( | ) | [inline, virtual] |
Definition at line 58 of file SundanceInhomogeneousNodalDOFMap.hpp.
| RCP< const Set< int > > InhomogeneousNodalDOFMap::allowedFuncsOnCellBatch | ( | int | cellDim, | |
| const Array< int > & | cellLID | |||
| ) | const [virtual] |
Implements Sundance::DOFMapBase.
Definition at line 410 of file SundanceInhomogeneousNodalDOFMap.cpp.
References dim_, elemFuncSets_, elemToFuncSetIndexMap_, Sundance::Mesh::getFacetLIDs(), Sundance::Set< Key, Compare >::intersection(), Sundance::DOFMapBase::mesh(), nodalFuncSets_, and nodeToFuncSetIndexMap_.
Referenced by print().
| void InhomogeneousNodalDOFMap::assignNode | ( | int | fLID, | |
| int | funcComboIndex, | |||
| int | dofOffset, | |||
| int | nFuncs, | |||
| Array< Array< int > > & | remoteNodes, | |||
| Array< int > & | hasProcessedCell, | |||
| int & | nextDOF | |||
| ) | [protected] |
Definition at line 359 of file SundanceInhomogeneousNodalDOFMap.cpp.
References Sundance::DOFMapBase::isRemote(), Sundance::Mesh::mapLIDToGID(), Sundance::DOFMapBase::mesh(), and nodeDofs_.
| void InhomogeneousNodalDOFMap::computeOffsets | ( | int | localCount | ) | [protected] |
Definition at line 389 of file SundanceInhomogeneousNodalDOFMap.cpp.
References Sundance::DOFMapBase::comm(), Sundance::DOFMapBase::mesh(), Sundance::DOFMapBase::setLowestLocalDOF(), Sundance::DOFMapBase::setNumLocalDOFs(), and Sundance::DOFMapBase::setTotalNumDOFs().
| Array<int> Sundance::InhomogeneousNodalDOFMap::dofsOnCell | ( | int | cellDim, | |
| int | cellLID, | |||
| const Set< int > & | reqFuncs | |||
| ) | const [protected] |
| const Array<CellFilter>& Sundance::InhomogeneousNodalDOFMap::funcDomains | ( | ) | const [inline, virtual] |
Implements Sundance::DOFMapBase.
Definition at line 84 of file SundanceInhomogeneousNodalDOFMap.hpp.
References funcDomains_.
| RCP< const MapStructure > InhomogeneousNodalDOFMap::getDOFsForCellBatch | ( | int | cellDim, | |
| const Array< int > & | cellLID, | |||
| const Set< int > & | requestedFuncSet, | |||
| Array< Array< int > > & | dofs, | |||
| Array< int > & | nNodes, | |||
| int | verb | |||
| ) | const [virtual] |
Implements Sundance::DOFMapBase.
Definition at line 450 of file SundanceInhomogeneousNodalDOFMap.cpp.
References basis_, Sundance::DOFMapBase::batchedDofLookupTimer(), dim_, Sundance::Set< Key, Compare >::elements(), elemFuncSets_, elemStructure_, elemToFuncSetIndexMap_, Sundance::Mesh::getFacetLIDs(), getFunctionDofs(), Sundance::DOFMapBase::isHomogeneous(), Sundance::DOFMapBase::mesh(), nodalFuncSets_, nodeStructure_, nodeToFuncSetIndexMap_, nTotalFuncs_, Sundance::Mesh::numFacets(), Playa::Out::os(), Sundance::Set< Key, Compare >::setDifference(), and SUNDANCE_MSG2.
| void InhomogeneousNodalDOFMap::getFunctionDofs | ( | int | cellDim, | |
| const Array< int > & | cellLID, | |||
| const Array< int > & | facetLID, | |||
| const Array< int > & | funcs, | |||
| Array< Array< int > > & | dofs | |||
| ) | const [protected] |
Definition at line 303 of file SundanceInhomogeneousNodalDOFMap.cpp.
References funcIndexWithinNodeFuncSet_, Sundance::DOFMapBase::mesh(), nodeDofs_, nodeToFuncSetIndexMap_, nodeToOffsetMap_, and Sundance::Mesh::numFacets().
Referenced by getDOFsForCellBatch().
| void Sundance::InhomogeneousNodalDOFMap::init | ( | ) | [protected] |
| void InhomogeneousNodalDOFMap::print | ( | std::ostream & | os | ) | const [virtual] |
Implements Sundance::DOFMapBase.
Definition at line 571 of file SundanceInhomogeneousNodalDOFMap.cpp.
References allowedFuncsOnCellBatch(), dim_, Sundance::DOFMapBase::getDOFsForCell(), Sundance::DOFMapBase::mesh(), and Sundance::Mesh::numCells().
| void InhomogeneousNodalDOFMap::shareRemoteDOFs | ( | const Array< Array< int > > & | remoteNodes | ) | [protected] |
Definition at line 402 of file SundanceInhomogeneousNodalDOFMap.cpp.
References Sundance::DOFMapBase::comm(), and Sundance::DOFMapBase::mesh().
RCP<BasisDOFTopologyBase> Sundance::InhomogeneousNodalDOFMap::basis_ [protected] |
Definition at line 111 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by getDOFsForCellBatch().
int Sundance::InhomogeneousNodalDOFMap::dim_ [protected] |
Definition at line 110 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by allowedFuncsOnCellBatch(), getDOFsForCellBatch(), and print().
Array<Array<int> > Sundance::InhomogeneousNodalDOFMap::elemDofs_ [protected] |
Definition at line 116 of file SundanceInhomogeneousNodalDOFMap.hpp.
Array<Set<int> > Sundance::InhomogeneousNodalDOFMap::elemFuncSets_ [protected] |
Definition at line 119 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by allowedFuncsOnCellBatch(), and getDOFsForCellBatch().
Array<RCP<const MapStructure> > Sundance::InhomogeneousNodalDOFMap::elemStructure_ [protected] |
Definition at line 126 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by getDOFsForCellBatch().
Array<int> Sundance::InhomogeneousNodalDOFMap::elemToFuncSetIndexMap_ [protected] |
Definition at line 118 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by allowedFuncsOnCellBatch(), and getDOFsForCellBatch().
Array<int> Sundance::InhomogeneousNodalDOFMap::elemToOffsetMap_ [protected] |
Definition at line 122 of file SundanceInhomogeneousNodalDOFMap.hpp.
Array<CellFilter> Sundance::InhomogeneousNodalDOFMap::funcDomains_ [protected] |
Array<Array<int> > Sundance::InhomogeneousNodalDOFMap::funcIndexWithinNodeFuncSet_ [protected] |
Definition at line 124 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by getFunctionDofs().
Array<Set<int> > Sundance::InhomogeneousNodalDOFMap::nodalFuncSets_ [protected] |
Definition at line 120 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by allowedFuncsOnCellBatch(), and getDOFsForCellBatch().
Array<Array<int> > Sundance::InhomogeneousNodalDOFMap::nodeDofs_ [protected] |
Definition at line 115 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by assignNode(), and getFunctionDofs().
Array<RCP<const MapStructure> > Sundance::InhomogeneousNodalDOFMap::nodeStructure_ [protected] |
Definition at line 127 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by getDOFsForCellBatch().
Array<int> Sundance::InhomogeneousNodalDOFMap::nodeToFuncSetIndexMap_ [protected] |
Definition at line 117 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by allowedFuncsOnCellBatch(), getDOFsForCellBatch(), and getFunctionDofs().
Array<int> Sundance::InhomogeneousNodalDOFMap::nodeToOffsetMap_ [protected] |
Definition at line 121 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by getFunctionDofs().
int Sundance::InhomogeneousNodalDOFMap::nTotalFuncs_ [protected] |
Definition at line 112 of file SundanceInhomogeneousNodalDOFMap.hpp.
Referenced by getDOFsForCellBatch().