Public Member Functions | |
| PartialElementDOFMap (const Mesh &mesh, const CellFilter &subdomain, int nFuncs, int setupVerb) | |
| virtual | ~PartialElementDOFMap () |
| RCP< const MapStructure > | getDOFsForCellBatch (int cellDim, const Array< int > &cellLID, const Set< int > &requestedFuncSet, Array< Array< int > > &dofs, Array< int > &nNodes, int verbosity) 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 | init () |
| void | computeOffsets (int localCount) |
| void | shareRemoteDOFs (const Array< Array< int > > &remoteElems) |
Protected Attributes | |
| int | dim_ |
| int | nFuncs_ |
| int | nElems_ |
| CellFilter | subdomain_ |
| Array< CellFilter > | funcDomains_ |
| Array< int > | elemDofs_ |
| RCP< MapStructure > | structure_ |
| RCP< const Set< int > > | allFuncs_ |
PartialElementDOFMap is a DOF map specialized to the case of element-based DOFs on a subset of cells in the domain. All elements must have the same set of functions.
Definition at line 62 of file SundancePartialElementDOFMap.hpp.
| PartialElementDOFMap::PartialElementDOFMap | ( | const Mesh & | mesh, |
| const CellFilter & | subdomain, | ||
| int | nFuncs, | ||
| int | setupVerb | ||
| ) |
Definition at line 56 of file SundancePartialElementDOFMap.cpp.
References allFuncs_, init(), nFuncs_, and Sundance::Set< Key, Compare >::put().
| virtual Sundance::PartialElementDOFMap::~PartialElementDOFMap | ( | ) | [inline, virtual] |
Definition at line 72 of file SundancePartialElementDOFMap.hpp.
| RCP< const Set< int > > PartialElementDOFMap::allowedFuncsOnCellBatch | ( | int | cellDim, |
| const Array< int > & | cellLID | ||
| ) | const [virtual] |
Implements Sundance::DOFMapBase.
Definition at line 188 of file SundancePartialElementDOFMap.cpp.
| void PartialElementDOFMap::computeOffsets | ( | int | localCount | ) | [protected] |
Definition at line 202 of file SundancePartialElementDOFMap.cpp.
References Sundance::Mesh::comm(), Sundance::DOFMapBase::comm(), elemDofs_, Playa::MPIComm::getNProc(), Playa::MPIComm::getRank(), Sundance::DOFMapBase::mesh(), nElems_, nFuncs_, Sundance::DOFMapBase::setLowestLocalDOF(), Sundance::DOFMapBase::setNumLocalDOFs(), and Sundance::DOFMapBase::setTotalNumDOFs().
Referenced by init().
| const Array<CellFilter>& Sundance::PartialElementDOFMap::funcDomains | ( | ) | const [inline, virtual] |
Implements Sundance::DOFMapBase.
Definition at line 89 of file SundancePartialElementDOFMap.hpp.
References funcDomains_.
| RCP< const MapStructure > PartialElementDOFMap::getDOFsForCellBatch | ( | int | cellDim, |
| const Array< int > & | cellLID, | ||
| const Set< int > & | requestedFuncSet, | ||
| Array< Array< int > > & | dofs, | ||
| Array< int > & | nNodes, | ||
| int | verbosity | ||
| ) | const [virtual] |
Implements Sundance::DOFMapBase.
Definition at line 78 of file SundancePartialElementDOFMap.cpp.
References Sundance::DOFMapBase::batchedDofLookupTimer(), dim_, elemDofs_, Sundance::Mesh::maxCofacetLID(), Sundance::DOFMapBase::mesh(), nFuncs_, structure_, and SUNDANCE_MSG3.
| void PartialElementDOFMap::init | ( | ) | [protected] |
Definition at line 141 of file SundancePartialElementDOFMap.cpp.
References Sundance::CellSet::begin(), Sundance::DOFMapBase::cellDim(), Sundance::DOFMapBase::comm(), computeOffsets(), elemDofs_, Sundance::CellSet::end(), Sundance::CellFilter::getCells(), Sundance::DOFMapBase::isRemote(), Sundance::Mesh::mapLIDToGID(), Sundance::DOFMapBase::mesh(), nFuncs_, Sundance::DOFMapBase::setupVerb(), shareRemoteDOFs(), Sundance::Mesh::spatialDim(), subdomain_, and SUNDANCE_MSG1.
Referenced by PartialElementDOFMap().
| void PartialElementDOFMap::print | ( | std::ostream & | os | ) | const [virtual] |
Implements Sundance::DOFMapBase.
Definition at line 325 of file SundancePartialElementDOFMap.cpp.
References elemDofs_.
| void PartialElementDOFMap::shareRemoteDOFs | ( | const Array< Array< int > > & | remoteElems | ) | [protected] |
Definition at line 231 of file SundancePartialElementDOFMap.cpp.
References Sundance::DOFMapBase::addGhostIndex(), Sundance::DOFMapBase::cellDim(), Sundance::Mesh::comm(), Sundance::DOFMapBase::comm(), elemDofs_, Playa::MPIComm::getNProc(), Playa::MPIComm::getRank(), Sundance::Mesh::mapGIDToLID(), Sundance::DOFMapBase::mesh(), nFuncs_, Sundance::DOFMapBase::setupVerb(), Sundance::Mesh::spatialDim(), SUNDANCE_MSG2, SUNDANCE_MSG3, and SUNDANCE_MSG4.
Referenced by init().
RCP<const Set<int> > Sundance::PartialElementDOFMap::allFuncs_ [protected] |
Definition at line 110 of file SundancePartialElementDOFMap.hpp.
Referenced by PartialElementDOFMap().
int Sundance::PartialElementDOFMap::dim_ [protected] |
Definition at line 103 of file SundancePartialElementDOFMap.hpp.
Referenced by getDOFsForCellBatch().
Array<int> Sundance::PartialElementDOFMap::elemDofs_ [protected] |
Definition at line 108 of file SundancePartialElementDOFMap.hpp.
Referenced by computeOffsets(), getDOFsForCellBatch(), init(), print(), and shareRemoteDOFs().
Array<CellFilter> Sundance::PartialElementDOFMap::funcDomains_ [protected] |
Definition at line 107 of file SundancePartialElementDOFMap.hpp.
Referenced by funcDomains().
int Sundance::PartialElementDOFMap::nElems_ [protected] |
Definition at line 105 of file SundancePartialElementDOFMap.hpp.
Referenced by computeOffsets().
int Sundance::PartialElementDOFMap::nFuncs_ [protected] |
Definition at line 104 of file SundancePartialElementDOFMap.hpp.
Referenced by computeOffsets(), getDOFsForCellBatch(), init(), PartialElementDOFMap(), and shareRemoteDOFs().
RCP<MapStructure> Sundance::PartialElementDOFMap::structure_ [protected] |
Definition at line 109 of file SundancePartialElementDOFMap.hpp.
Referenced by getDOFsForCellBatch().
CellFilter Sundance::PartialElementDOFMap::subdomain_ [protected] |
Definition at line 106 of file SundancePartialElementDOFMap.hpp.
Referenced by init().