Public Member Functions | |
SubmaximalNodalDOFMap (const Mesh &mesh, const CellFilter &cf, int nFuncs, int setupVerb) | |
virtual | ~SubmaximalNodalDOFMap () |
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 |
virtual int | cellDim () const |
The largest dimension cell supported by this DOF map. In this case, only nodes are supported. | |
Protected Member Functions | |
Array< int > | dofsOnCell (int cellDim, int cellLID, const Set< int > &reqFuncs) const |
void | computeOffsets (int localCount) |
void | shareRemoteDOFs (const Array< Array< int > > &remoteNodes) |
Protected Attributes | |
int | dim_ |
BasisFamily | basis_ |
int | nTotalFuncs_ |
CellFilter | domain_ |
Array< CellFilter > | domains_ |
Array< int > | nodeLIDs_ |
Array< int > | nodeDOFs_ |
Map< int, int > | lidToPtrMap_ |
RCP< const MapStructure > | mapStructure_ |
Definition at line 49 of file SundanceSubmaximalNodalDOFMap.hpp.
SubmaximalNodalDOFMap::SubmaximalNodalDOFMap | ( | const Mesh & | mesh, | |
const CellFilter & | cf, | |||
int | nFuncs, | |||
int | setupVerb | |||
) |
Definition at line 47 of file SundanceSubmaximalNodalDOFMap.cpp.
References Sundance::CellSet::begin(), Sundance::Mesh::comm(), Sundance::CellFilter::dimension(), Sundance::CellSet::end(), Sundance::CellFilter::getCells(), Playa::MPIComm::getNProc(), Playa::MPIComm::getRank(), Sundance::Mesh::mapLIDToGID(), Sundance::CellSet::numCells(), Playa::Handle< PointerType >::ptr(), SUNDANCE_MSG1, and SUNDANCE_MSG2.
virtual Sundance::SubmaximalNodalDOFMap::~SubmaximalNodalDOFMap | ( | ) | [inline, virtual] |
Definition at line 59 of file SundanceSubmaximalNodalDOFMap.hpp.
RCP< const Set< int > > SubmaximalNodalDOFMap::allowedFuncsOnCellBatch | ( | int | cellDim, | |
const Array< int > & | cellLID | |||
) | const [virtual] |
Implements Sundance::DOFMapBase.
Definition at line 238 of file SundanceSubmaximalNodalDOFMap.cpp.
References nTotalFuncs_, and Sundance::Set< Key, Compare >::put().
virtual int Sundance::SubmaximalNodalDOFMap::cellDim | ( | ) | const [inline, virtual] |
The largest dimension cell supported by this DOF map. In this case, only nodes are supported.
Reimplemented from Sundance::DOFMapBase.
Definition at line 85 of file SundanceSubmaximalNodalDOFMap.hpp.
void SubmaximalNodalDOFMap::computeOffsets | ( | int | localCount | ) | [protected] |
Definition at line 112 of file SundanceSubmaximalNodalDOFMap.cpp.
References Sundance::DOFMapBase::comm(), Sundance::Mesh::comm(), Playa::MPIComm::getNProc(), Playa::MPIComm::getRank(), Sundance::DOFMapBase::mesh(), nodeDOFs_, Sundance::DOFMapBase::setLowestLocalDOF(), Sundance::DOFMapBase::setNumLocalDOFs(), and Sundance::DOFMapBase::setTotalNumDOFs().
Array<int> Sundance::SubmaximalNodalDOFMap::dofsOnCell | ( | int | cellDim, | |
int | cellLID, | |||
const Set< int > & | reqFuncs | |||
) | const [protected] |
const Array<CellFilter>& Sundance::SubmaximalNodalDOFMap::funcDomains | ( | ) | const [inline, virtual] |
Implements Sundance::DOFMapBase.
Definition at line 76 of file SundanceSubmaximalNodalDOFMap.hpp.
References domains_.
RCP< const MapStructure > SubmaximalNodalDOFMap::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 248 of file SundanceSubmaximalNodalDOFMap.cpp.
References Sundance::DOFMapBase::batchedDofLookupTimer(), Sundance::Map< Key, Value, Compare >::get(), lidToPtrMap_, mapStructure_, nodeDOFs_, nTotalFuncs_, and SUNDANCE_MSG2.
void SubmaximalNodalDOFMap::print | ( | std::ostream & | os | ) | const [virtual] |
Implements Sundance::DOFMapBase.
Definition at line 284 of file SundanceSubmaximalNodalDOFMap.cpp.
References Sundance::Mesh::mapLIDToGID(), Sundance::DOFMapBase::mesh(), nodeDOFs_, nodeLIDs_, nTotalFuncs_, and Playa::Out::os().
void SubmaximalNodalDOFMap::shareRemoteDOFs | ( | const Array< Array< int > > & | remoteNodes | ) | [protected] |
Definition at line 141 of file SundanceSubmaximalNodalDOFMap.cpp.
References Sundance::DOFMapBase::addGhostIndex(), Sundance::DOFMapBase::comm(), Sundance::Mesh::comm(), Playa::MPIComm::getNProc(), Playa::MPIComm::getRank(), Sundance::Mesh::mapGIDToLID(), Sundance::DOFMapBase::mesh(), nodeDOFs_, nTotalFuncs_, Sundance::DOFMapBase::setupVerb(), SUNDANCE_MSG2, SUNDANCE_MSG3, and SUNDANCE_MSG4.
BasisFamily Sundance::SubmaximalNodalDOFMap::basis_ [protected] |
Definition at line 100 of file SundanceSubmaximalNodalDOFMap.hpp.
int Sundance::SubmaximalNodalDOFMap::dim_ [protected] |
Definition at line 99 of file SundanceSubmaximalNodalDOFMap.hpp.
CellFilter Sundance::SubmaximalNodalDOFMap::domain_ [protected] |
Definition at line 102 of file SundanceSubmaximalNodalDOFMap.hpp.
Array<CellFilter> Sundance::SubmaximalNodalDOFMap::domains_ [protected] |
Map<int, int> Sundance::SubmaximalNodalDOFMap::lidToPtrMap_ [protected] |
Definition at line 107 of file SundanceSubmaximalNodalDOFMap.hpp.
Referenced by getDOFsForCellBatch().
RCP<const MapStructure> Sundance::SubmaximalNodalDOFMap::mapStructure_ [protected] |
Definition at line 109 of file SundanceSubmaximalNodalDOFMap.hpp.
Referenced by getDOFsForCellBatch().
Array<int> Sundance::SubmaximalNodalDOFMap::nodeDOFs_ [protected] |
Definition at line 106 of file SundanceSubmaximalNodalDOFMap.hpp.
Referenced by computeOffsets(), getDOFsForCellBatch(), print(), and shareRemoteDOFs().
Array<int> Sundance::SubmaximalNodalDOFMap::nodeLIDs_ [protected] |
int Sundance::SubmaximalNodalDOFMap::nTotalFuncs_ [protected] |
Definition at line 101 of file SundanceSubmaximalNodalDOFMap.hpp.
Referenced by allowedFuncsOnCellBatch(), getDOFsForCellBatch(), print(), and shareRemoteDOFs().