
Public Member Functions | |
| HomogeneousDOFMap (const Mesh &mesh, const BasisFamily &basis, int numFuncs) | |
| HomogeneousDOFMap (const Mesh &mesh, const BasisFamily &basis, const Array< CellFilter > &subregions, int numFuncs) | |
| virtual | ~HomogeneousDOFMap () | 
| virtual void | getDOFsForCellBatch (int cellDim, const Array< int > &cellLID, Array< int > &dofs, Array< Array< int > > &funcIDs, Array< int > &nNodes) const | 
| virtual void | print (std::ostream &os) const | 
Private Member Functions | |
| void | allocate (const Mesh &mesh, const BasisFamily &basis, int numFuncs) | 
| void | buildMaximalDofTable () const | 
| bool | hasBeenAssigned (int cellDim, int cellLID) const | 
| void | initMap () | 
| void | setDOFs (int cellDim, int cellLID, int &nextDOF, bool isRemote=false) | 
| void | shareDOFs (int cellDim, const Array< Array< int > > &outgoingCellRequests) | 
| void | computeOffsets (int dim, int localCount) | 
| const Array< int > & | funcIDList () const | 
Static Private Member Functions | |
| static int | uninitializedVal () | 
Private Attributes | |
| int | dim_ | 
| Array< Array< Array< int > > > | dofs_ | 
| Array< int > | maximalDofs_ | 
| bool | haveMaximalDofs_ | 
| Array< Array< Array< Array < int > > > >  | localNodePtrs_ | 
| Array< int > | nNodesPerCell_ | 
| Array< int > | totalNNodesPerCell_ | 
| Array< Array< int > > | numFacets_ | 
| Array< Array< int > > | originalFacetOrientation_ | 
| bool | basisIsContinuous_ | 
Definition at line 52 of file SundanceHomogeneousDOFMap.hpp.
| Sundance::HomogeneousDOFMap::HomogeneousDOFMap | ( | const Mesh & | mesh, | |
| const BasisFamily & | basis, | |||
| int | numFuncs | |||
| ) | 
| HomogeneousDOFMap::HomogeneousDOFMap | ( | const Mesh & | mesh, | |
| const BasisFamily & | basis, | |||
| const Array< CellFilter > & | subregions, | |||
| int | numFuncs | |||
| ) | 
Definition at line 87 of file SundanceHomogeneousDOFMap.cpp.
References allocate(), Sundance::dimension(), and initMap().
| virtual Sundance::HomogeneousDOFMap::~HomogeneousDOFMap | ( | ) |  [inline, virtual] | 
        
Definition at line 67 of file SundanceHomogeneousDOFMap.hpp.
| void HomogeneousDOFMap::allocate | ( | const Mesh & | mesh, | |
| const BasisFamily & | basis, | |||
| int | numFuncs | |||
| ) |  [private] | 
        
Definition at line 116 of file SundanceHomogeneousDOFMap.cpp.
References basisIsContinuous_, Sundance::Mesh::cellType(), dim_, dofs_, funcIDList(), localNodePtrs_, nNodesPerCell_, Sundance::Mesh::numCells(), Sundance::Mesh::numFacets(), numFacets_, originalFacetOrientation_, Playa::Handle< PointerType >::ptr(), Sundance::DOFMapBase::setupVerb(), SUNDANCE_MSG1, SUNDANCE_MSG2, SUNDANCE_MSG3, totalNNodesPerCell_, and uninitializedVal().
Referenced by HomogeneousDOFMap().
| void HomogeneousDOFMap::buildMaximalDofTable | ( | ) |  const [private] | 
        
Definition at line 651 of file SundanceHomogeneousDOFMap.cpp.
References dim_, dofs_, funcIDList(), Sundance::Mesh::getFacetLIDs(), haveMaximalDofs_, localNodePtrs_, maximalDofs_, Sundance::DOFMapBase::mesh(), Sundance::Mesh::numCells(), Sundance::Mesh::numFacets(), Sundance::numFacets(), Sundance::DOFMapBase::setupVerb(), SUNDANCE_MSG2, SUNDANCE_MSG3, SUNDANCE_MSG4, and totalNNodesPerCell_.
| void HomogeneousDOFMap::computeOffsets | ( | int | dim, | |
| int | localCount | |||
| ) |  [private] | 
        
Definition at line 765 of file SundanceHomogeneousDOFMap.cpp.
References Sundance::Mesh::comm(), Sundance::DOFMapBase::comm(), dofs_, Playa::MPIComm::getRank(), hasBeenAssigned(), Sundance::DOFMapBase::mesh(), Sundance::DOFMapBase::setLowestLocalDOF(), Sundance::DOFMapBase::setNumLocalDOFs(), Sundance::DOFMapBase::setTotalNumDOFs(), Sundance::DOFMapBase::setupVerb(), SUNDANCE_MSG2, and Playa::MPIComm::synchronize().
Referenced by initMap().
| const Array<int>& Sundance::HomogeneousDOFMap::funcIDList | ( | ) |  const [inline, private] | 
        
Definition at line 113 of file SundanceHomogeneousDOFMap.hpp.
Referenced by allocate(), buildMaximalDofTable(), print(), and setDOFs().
| virtual void Sundance::HomogeneousDOFMap::getDOFsForCellBatch | ( | int | cellDim, | |
| const Array< int > & | cellLID, | |||
| Array< int > & | dofs, | |||
| Array< Array< int > > & | funcIDs, | |||
| Array< int > & | nNodes | |||
| ) |  const [virtual] | 
        
| bool Sundance::HomogeneousDOFMap::hasBeenAssigned | ( | int | cellDim, | |
| int | cellLID | |||
| ) |  const [inline, private] | 
        
Definition at line 95 of file SundanceHomogeneousDOFMap.hpp.
References dofs_, and uninitializedVal().
Referenced by computeOffsets(), and initMap().
| void HomogeneousDOFMap::initMap | ( | ) |  [private] | 
        
Definition at line 200 of file SundanceHomogeneousDOFMap.cpp.
References basisIsContinuous_, Sundance::CellSet::begin(), Sundance::DOFMapBase::comm(), computeOffsets(), dim_, Sundance::CellSet::end(), Sundance::Mesh::getFacetArray(), hasBeenAssigned(), Sundance::DOFMapBase::isRemote(), Sundance::Mesh::mapLIDToGID(), Sundance::DOFMapBase::mesh(), nNodesPerCell_, numFacets_, originalFacetOrientation_, setDOFs(), Sundance::DOFMapBase::setLowestLocalDOF(), Sundance::DOFMapBase::setNumLocalDOFs(), Sundance::DOFMapBase::setTotalNumDOFs(), Sundance::DOFMapBase::setupVerb(), shareDOFs(), and SUNDANCE_MSG1.
Referenced by HomogeneousDOFMap().
| void HomogeneousDOFMap::print | ( | std::ostream & | os | ) |  const [virtual] | 
        
Implements Sundance::DOFMapBase.
Definition at line 830 of file SundanceHomogeneousDOFMap.cpp.
References Sundance::Mesh::comm(), dim_, dofs_, funcIDList(), Sundance::DOFMapBase::getDOFsForCell(), Playa::MPIComm::getNProc(), Playa::MPIComm::getRank(), Sundance::DOFMapBase::isLocalDOF(), Sundance::Mesh::mapLIDToGID(), Sundance::DOFMapBase::mesh(), Sundance::Mesh::numCells(), and Playa::MPIComm::synchronize().
| void HomogeneousDOFMap::setDOFs | ( | int | cellDim, | |
| int | cellLID, | |||
| int & | nextDOF, | |||
| bool |  isRemote = false | |||
| ) |  [private] | 
        
Definition at line 445 of file SundanceHomogeneousDOFMap.cpp.
References Sundance::DOFMapBase::addGhostIndex(), dofs_, funcIDList(), nNodesPerCell_, Sundance::DOFMapBase::setupVerb(), and SUNDANCE_MSG3.
Referenced by initMap(), and shareDOFs().
| void HomogeneousDOFMap::shareDOFs | ( | int | cellDim, | |
| const Array< Array< int > > & | outgoingCellRequests | |||
| ) |  [private] | 
        
Definition at line 322 of file SundanceHomogeneousDOFMap.cpp.
References Sundance::DOFMapBase::comm(), Sundance::Mesh::comm(), dim_, dofs_, Playa::MPIComm::getNProc(), Playa::MPIComm::getRank(), Sundance::Mesh::mapGIDToLID(), Sundance::DOFMapBase::mesh(), originalFacetOrientation_, setDOFs(), Sundance::DOFMapBase::setupVerb(), SUNDANCE_MSG2, and SUNDANCE_MSG3.
Referenced by initMap().
| static int Sundance::HomogeneousDOFMap::uninitializedVal | ( | ) |  [inline, static, private] | 
        
Definition at line 115 of file SundanceHomogeneousDOFMap.hpp.
Referenced by allocate(), and hasBeenAssigned().
bool Sundance::HomogeneousDOFMap::basisIsContinuous_ [private]           | 
        
Definition at line 135 of file SundanceHomogeneousDOFMap.hpp.
Referenced by allocate(), and initMap().
int Sundance::HomogeneousDOFMap::dim_ [private]           | 
        
Definition at line 117 of file SundanceHomogeneousDOFMap.hpp.
Referenced by allocate(), buildMaximalDofTable(), initMap(), print(), and shareDOFs().
Array<Array<Array<int> > > Sundance::HomogeneousDOFMap::dofs_ [private]           | 
        
Definition at line 119 of file SundanceHomogeneousDOFMap.hpp.
Referenced by allocate(), buildMaximalDofTable(), computeOffsets(), hasBeenAssigned(), print(), setDOFs(), and shareDOFs().
bool Sundance::HomogeneousDOFMap::haveMaximalDofs_ [mutable, private]           | 
        
Array<Array<Array<Array<int> > > > Sundance::HomogeneousDOFMap::localNodePtrs_ [private]           | 
        
Definition at line 125 of file SundanceHomogeneousDOFMap.hpp.
Referenced by allocate(), and buildMaximalDofTable().
Array<int> Sundance::HomogeneousDOFMap::maximalDofs_ [mutable, private]           | 
        
Array<int> Sundance::HomogeneousDOFMap::nNodesPerCell_ [private]           | 
        
Definition at line 127 of file SundanceHomogeneousDOFMap.hpp.
Referenced by allocate(), initMap(), and setDOFs().
Array<Array<int> > Sundance::HomogeneousDOFMap::numFacets_ [private]           | 
        
Definition at line 131 of file SundanceHomogeneousDOFMap.hpp.
Referenced by allocate(), and initMap().
Array<Array<int> > Sundance::HomogeneousDOFMap::originalFacetOrientation_ [private]           | 
        
Definition at line 133 of file SundanceHomogeneousDOFMap.hpp.
Referenced by allocate(), initMap(), and shareDOFs().
Array<int> Sundance::HomogeneousDOFMap::totalNNodesPerCell_ [private]           | 
        
Definition at line 129 of file SundanceHomogeneousDOFMap.hpp.
Referenced by allocate(), and buildMaximalDofTable().