Public Member Functions | |
InhomogeneousEdgeLocalizedDOFMap (const Mesh &mesh, const Array< Map< Set< int >, CellFilter > > &funcSetToDomainMap, int setupVerb) | |
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 |
Private Member Functions | |
int | meshDimension () const |
Array< int > | getEdgeLIDs (const CellFilter &filter) const |
void | getDOFsForEdgeBatch (const Array< int > &cellLID, const Set< int > &requestedFuncSet, Array< Array< int > > &dofs, int verb) const |
RCP< Set< int > > | allowedFuncsOnEdgeBatch (const Array< int > &edgeLIDs) const |
RCP< Set< int > > | allFuncIDs () const |
Private Attributes | |
Array< CellFilter > | funcDomains_ |
Array< Array< int > > | edgeDofs_ |
Definition at line 54 of file SundanceInhomogeneousEdgeLocalizedDOFMap.hpp.
Sundance::InhomogeneousEdgeLocalizedDOFMap::InhomogeneousEdgeLocalizedDOFMap | ( | const Mesh & | mesh, | |
const Array< Map< Set< int >, CellFilter > > & | funcSetToDomainMap, | |||
int | setupVerb | |||
) |
Definition at line 43 of file SundanceInhomogeneousEdgeLocalizedDOFMap.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Mesh::comm(), edgeDofs_, Sundance::Set< Key, Compare >::end(), funcDomains_, getEdgeLIDs(), Playa::MPIComm::getNProc(), Sundance::Set< Key, Compare >::insert(), meshDimension(), Sundance::Mesh::numCells(), Sundance::DOFMapBase::setLowestLocalDOF(), Sundance::DOFMapBase::setNumLocalDOFs(), Sundance::DOFMapBase::setTotalNumDOFs(), sort(), SUNDANCE_MSG1, and SUNDANCE_MSG4.
RCP< Set< int > > Sundance::InhomogeneousEdgeLocalizedDOFMap::allFuncIDs | ( | ) | const [private] |
Definition at line 299 of file SundanceInhomogeneousEdgeLocalizedDOFMap.cpp.
References funcDomains_.
Referenced by allowedFuncsOnCellBatch(), and allowedFuncsOnEdgeBatch().
RCP< const Set< int > > Sundance::InhomogeneousEdgeLocalizedDOFMap::allowedFuncsOnCellBatch | ( | int | cellDim, | |
const Array< int > & | cellLID | |||
) | const [virtual] |
Implements Sundance::DOFMapBase.
Definition at line 235 of file SundanceInhomogeneousEdgeLocalizedDOFMap.cpp.
References allFuncIDs(), allowedFuncsOnEdgeBatch(), Sundance::Mesh::getFacetLIDs(), Sundance::DOFMapBase::mesh(), and meshDimension().
Referenced by print().
RCP< Set< int > > Sundance::InhomogeneousEdgeLocalizedDOFMap::allowedFuncsOnEdgeBatch | ( | const Array< int > & | edgeLIDs | ) | const [private] |
Definition at line 266 of file SundanceInhomogeneousEdgeLocalizedDOFMap.cpp.
References allFuncIDs(), and edgeDofs_.
Referenced by allowedFuncsOnCellBatch().
const Array<CellFilter>& Sundance::InhomogeneousEdgeLocalizedDOFMap::funcDomains | ( | ) | const [inline, virtual] |
Implements Sundance::DOFMapBase.
Definition at line 77 of file SundanceInhomogeneousEdgeLocalizedDOFMap.hpp.
References funcDomains_.
RCP< const MapStructure > Sundance::InhomogeneousEdgeLocalizedDOFMap::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 163 of file SundanceInhomogeneousEdgeLocalizedDOFMap.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), getDOFsForEdgeBatch(), Sundance::Mesh::getFacetLIDs(), Sundance::DOFMapBase::mesh(), Sundance::Mesh::numFacets(), Sundance::Set< Key, Compare >::setDifference(), and Sundance::Set< Key, Compare >::size().
void Sundance::InhomogeneousEdgeLocalizedDOFMap::getDOFsForEdgeBatch | ( | const Array< int > & | cellLID, | |
const Set< int > & | requestedFuncSet, | |||
Array< Array< int > > & | dofs, | |||
int | verb | |||
) | const [private] |
Definition at line 209 of file SundanceInhomogeneousEdgeLocalizedDOFMap.cpp.
References Sundance::Set< Key, Compare >::begin(), edgeDofs_, Sundance::Set< Key, Compare >::end(), and Sundance::Set< Key, Compare >::size().
Referenced by getDOFsForCellBatch().
Array< int > Sundance::InhomogeneousEdgeLocalizedDOFMap::getEdgeLIDs | ( | const CellFilter & | filter | ) | const [private] |
Definition at line 357 of file SundanceInhomogeneousEdgeLocalizedDOFMap.cpp.
References Sundance::CellSet::begin(), Sundance::DOFMapBase::cellDim(), Sundance::CellFilter::dimension(), Sundance::CellSet::end(), Sundance::CellFilter::getCells(), Sundance::Mesh::getFacetLIDs(), and Sundance::DOFMapBase::mesh().
Referenced by InhomogeneousEdgeLocalizedDOFMap().
int Sundance::InhomogeneousEdgeLocalizedDOFMap::meshDimension | ( | ) | const [private] |
Definition at line 351 of file SundanceInhomogeneousEdgeLocalizedDOFMap.cpp.
References Sundance::DOFMapBase::mesh(), and Sundance::Mesh::spatialDim().
Referenced by allowedFuncsOnCellBatch(), InhomogeneousEdgeLocalizedDOFMap(), and print().
void Sundance::InhomogeneousEdgeLocalizedDOFMap::print | ( | std::ostream & | os | ) | const [virtual] |
Implements Sundance::DOFMapBase.
Definition at line 310 of file SundanceInhomogeneousEdgeLocalizedDOFMap.cpp.
References allowedFuncsOnCellBatch(), edgeDofs_, funcDomains_, Sundance::DOFMapBase::getDOFsForCell(), Sundance::DOFMapBase::mesh(), meshDimension(), and Sundance::Mesh::numCells().
Array<Array<int> > Sundance::InhomogeneousEdgeLocalizedDOFMap::edgeDofs_ [private] |
Definition at line 84 of file SundanceInhomogeneousEdgeLocalizedDOFMap.hpp.
Referenced by allowedFuncsOnEdgeBatch(), getDOFsForEdgeBatch(), InhomogeneousEdgeLocalizedDOFMap(), and print().
Array<CellFilter> Sundance::InhomogeneousEdgeLocalizedDOFMap::funcDomains_ [private] |
Definition at line 83 of file SundanceInhomogeneousEdgeLocalizedDOFMap.hpp.
Referenced by allFuncIDs(), funcDomains(), InhomogeneousEdgeLocalizedDOFMap(), and print().