Public Member Functions | |
| NodalDOFMapHN (const Mesh &mesh, int nFuncs, const CellFilter &maxCellFilter, int setupVerb) | |
| virtual | ~NodalDOFMapHN () |
| RCP< const MapStructure > | getDOFsForCellBatch (int cellDim, const Array< int > &cellLID, const Set< int > &requestedFuncSet, Array< Array< int > > &dofs, Array< int > &nNodes, int verb) const |
| void | getTrafoMatrixForCell (int cellLID, int funcID, int &trafoMatrixSize, bool &doTransform, Array< double > &transfMatrix) const |
| void | getTrafoMatrixForFacet (int cellDim, int cellLID, int facetIndex, int funcID, int &trafoMatrixSize, bool &doTransform, Array< double > &transfMatrix) const |
| void | getDOFsForHNCell (int cellDim, int cellLID, int funcID, Array< int > &dofs, Array< double > &coefs) const |
| RCP< const MapStructure > | mapStruct () const |
| int | nFuncs () const |
Protected Member Functions | |
| void | init () |
| void | computeOffsets (int localCount) |
| void | shareRemoteDOFs (const Array< Array< int > > &remoteNodes) |
| void | getPointLIDsForHN (int pointLID, int facetIndex, int maxCellIndex, Array< int > &glbLIDs, Array< double > &coefsArray, Array< int > &nodeIndex) |
Protected Attributes | |
| CellFilter | maxCellFilter_ |
| int | dim_ |
| int | nFuncs_ |
| int | nElems_ |
| int | nNodes_ |
| int | nNodesPerElem_ |
| int | nFacets_ |
| Array< int > | elemDofs_ |
| Array< int > | nodeDofs_ |
| RCP< const MapStructure > | structure_ |
| Array< bool > | hasCellHanging_ |
| Array< bool > | nodeIsHanging_ |
| Sundance::Map< int, Array< int > > | cellsWithHangingDoF_globalDoFs_ |
| Sundance::Map< int, Array< int > > | cells_To_NodeLIDs_ |
| Sundance::Map< int, Array< int > > | hangingNodeLID_to_NodesLIDs_ |
| Sundance::Map< int, Array < double > > | hangindNodeLID_to_Coefs_ |
| Sundance::Map< int, int > | maxCellLIDwithHN_to_TrafoMatrix_ |
| MatrixStore | matrixStore_ |
| Array< int > | facetLID_ |
Definition at line 61 of file SundanceNodalDOFMapHN.hpp.
| NodalDOFMapHN::NodalDOFMapHN | ( | const Mesh & | mesh, |
| int | nFuncs, | ||
| const CellFilter & | maxCellFilter, | ||
| int | setupVerb | ||
| ) |
Definition at line 57 of file SundanceNodalDOFMapHN.cpp.
References init(), and matrixStore_.
| virtual Sundance::NodalDOFMapHN::~NodalDOFMapHN | ( | ) | [inline, virtual] |
Definition at line 71 of file SundanceNodalDOFMapHN.hpp.
| void NodalDOFMapHN::computeOffsets | ( | int | localCount | ) | [protected] |
Definition at line 632 of file SundanceNodalDOFMapHN.cpp.
References Sundance::Mesh::comm(), Sundance::DOFMapBase::comm(), Playa::MPIComm::getNProc(), Playa::MPIComm::getRank(), Sundance::DOFMapBase::mesh(), nFuncs_, nNodes_, nodeDofs_, Sundance::DOFMapBase::setLowestLocalDOF(), Sundance::DOFMapBase::setNumLocalDOFs(), Sundance::DOFMapBase::setTotalNumDOFs(), Sundance::DOFMapBase::setupVerb(), and SUNDANCE_MSG2.
Referenced by init().
| RCP< const MapStructure > NodalDOFMapHN::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 254 of file SundanceNodalDOFMapHN.cpp.
References Sundance::DOFMapBase::batchedDofLookupTimer(), dim_, elemDofs_, Sundance::Mesh::facetLID(), Sundance::Mesh::getFacetLIDs(), Sundance::Mesh::maxCofacetLID(), Sundance::DOFMapBase::mesh(), nFuncs_, nNodesPerElem_, nodeDofs_, Sundance::numFacets(), Sundance::Mesh::numFacets(), Sundance::Mesh::returnParentFacets(), structure_, and SUNDANCE_MSG2.
| void NodalDOFMapHN::getDOFsForHNCell | ( | int | cellDim, |
| int | cellLID, | ||
| int | funcID, | ||
| Array< int > & | dofs, | ||
| Array< double > & | coefs | ||
| ) | const [virtual] |
See subclass for docu
Function for nodal plotting
Implements Sundance::HNDoFMapBase.
Definition at line 423 of file SundanceNodalDOFMapHN.cpp.
References Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::Map< Key, Value, Compare >::get(), hangindNodeLID_to_Coefs_, hangingNodeLID_to_NodesLIDs_, nFuncs_, and nodeDofs_.
| void NodalDOFMapHN::getPointLIDsForHN | ( | int | pointLID, |
| int | facetIndex, | ||
| int | maxCellIndex, | ||
| Array< int > & | glbLIDs, | ||
| Array< double > & | coefsArray, | ||
| Array< int > & | nodeIndex | ||
| ) | [protected] |
This is a temporary function which later could be out source to the Basis
This function is only for TRISECTION implemented
Definition at line 448 of file SundanceNodalDOFMapHN.cpp.
References dim_, Sundance::Mesh::indexInParent(), Sundance::DOFMapBase::mesh(), Sundance::Mesh::returnParentFacets(), Sundance::DOFMapBase::setupVerb(), and SUNDANCE_MSG2.
Referenced by init().
| void NodalDOFMapHN::getTrafoMatrixForCell | ( | int | cellLID, |
| int | funcID, | ||
| int & | trafoMatrixSize, | ||
| bool & | doTransform, | ||
| Array< double > & | transfMatrix | ||
| ) | const [virtual] |
| cellLID | [in] the maxCell LID input |
| funcID | [in] the function ID |
| trafoMatrixSize | [in/out] |
| doTransform | [out] |
| transfMatrix | [out] (we assume that the array is already pre-sized ) |
Implements Sundance::HNDoFMapBase.
Definition at line 370 of file SundanceNodalDOFMapHN.cpp.
References cellsWithHangingDoF_globalDoFs_, Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::Map< Key, Value, Compare >::get(), matrixStore_, maxCellLIDwithHN_to_TrafoMatrix_, and nFacets_.
| void NodalDOFMapHN::getTrafoMatrixForFacet | ( | int | cellDim, |
| int | cellLID, | ||
| int | facetIndex, | ||
| int | funcID, | ||
| int & | trafoMatrixSize, | ||
| bool & | doTransform, | ||
| Array< double > & | transfMatrix | ||
| ) | const [virtual] |
Function to apply transformation for facets
| cellDim,the | facet dimension |
| cellLID,facet | LID |
| facetIndex,facet | index in the maxCofacet |
| funcID | [in] the function ID |
| trafoMatrixSize | [in/out] |
| doTransform | [out] |
| transfMatrix | [out] (we assume that the array is already pre-sized ) |
Implements Sundance::HNDoFMapBase.
Definition at line 392 of file SundanceNodalDOFMapHN.cpp.
References cellsWithHangingDoF_globalDoFs_, Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::Map< Key, Value, Compare >::get(), matrixStore_, maxCellLIDwithHN_to_TrafoMatrix_, Sundance::Mesh::maxCofacetLID(), Sundance::DOFMapBase::mesh(), Sundance::DOFMapBase::setupVerb(), and SUNDANCE_MSG2.
| void NodalDOFMapHN::init | ( | ) | [protected] |
Definition at line 85 of file SundanceNodalDOFMapHN.cpp.
References Sundance::CellSet::begin(), cellsWithHangingDoF_globalDoFs_, Sundance::DOFMapBase::comm(), computeOffsets(), dim_, elemDofs_, Sundance::CellSet::end(), facetLID_, Sundance::CellFilter::getCells(), Sundance::Mesh::getFacetLIDs(), getPointLIDsForHN(), hangindNodeLID_to_Coefs_, hangingNodeLID_to_NodesLIDs_, hasCellHanging_, Sundance::DOFMapBase::isRemote(), Sundance::Mesh::mapLIDToGID(), matrixStore_, maxCellFilter_, maxCellLIDwithHN_to_TrafoMatrix_, Sundance::DOFMapBase::mesh(), nElems_, nFacets_, nFuncs_, nNodes_, nodeDofs_, Sundance::Mesh::numFacets(), Sundance::Map< Key, Value, Compare >::put(), Sundance::DOFMapBase::setupVerb(), shareRemoteDOFs(), and SUNDANCE_MSG2.
Referenced by NodalDOFMapHN().
| RCP<const MapStructure> Sundance::NodalDOFMapHN::mapStruct | ( | ) | const [inline, virtual] |
Implements Sundance::SpatiallyHomogeneousDOFMapBase.
Definition at line 123 of file SundanceNodalDOFMapHN.hpp.
References structure_.
| int Sundance::NodalDOFMapHN::nFuncs | ( | ) | const [inline] |
Definition at line 127 of file SundanceNodalDOFMapHN.hpp.
References nFuncs_.
| void NodalDOFMapHN::shareRemoteDOFs | ( | const Array< Array< int > > & | remoteNodes | ) | [protected] |
Definition at line 663 of file SundanceNodalDOFMapHN.cpp.
References Sundance::DOFMapBase::addGhostIndex(), Sundance::Mesh::comm(), Sundance::DOFMapBase::comm(), Playa::MPIComm::getNProc(), Playa::MPIComm::getRank(), Sundance::Mesh::mapGIDToLID(), Sundance::DOFMapBase::mesh(), nFuncs_, nodeDofs_, Sundance::DOFMapBase::setupVerb(), SUNDANCE_MSG2, and SUNDANCE_MSG3.
Referenced by init().
Sundance::Map< int , Array<int> > Sundance::NodalDOFMapHN::cells_To_NodeLIDs_ [protected] |
maps one Cell index to the point LIDs, where are global DoFs which
Definition at line 175 of file SundanceNodalDOFMapHN.hpp.
Sundance::Map< int , Array<int> > Sundance::NodalDOFMapHN::cellsWithHangingDoF_globalDoFs_ [protected] |
maps one Cell index to the point LIDs, where are global DoFs which
Definition at line 172 of file SundanceNodalDOFMapHN.hpp.
Referenced by getTrafoMatrixForCell(), getTrafoMatrixForFacet(), and init().
int Sundance::NodalDOFMapHN::dim_ [protected] |
Definition at line 147 of file SundanceNodalDOFMapHN.hpp.
Referenced by getDOFsForCellBatch(), getPointLIDsForHN(), and init().
Array<int> Sundance::NodalDOFMapHN::elemDofs_ [protected] |
Definition at line 159 of file SundanceNodalDOFMapHN.hpp.
Referenced by getDOFsForCellBatch(), and init().
Array<int> Sundance::NodalDOFMapHN::facetLID_ [protected] |
Definition at line 190 of file SundanceNodalDOFMapHN.hpp.
Referenced by init().
Sundance::Map< int , Array<double> > Sundance::NodalDOFMapHN::hangindNodeLID_to_Coefs_ [protected] |
Maps the local (hanging) node (Point) DoF to the global DoFs
Definition at line 181 of file SundanceNodalDOFMapHN.hpp.
Referenced by getDOFsForHNCell(), and init().
Sundance::Map< int , Array<int> > Sundance::NodalDOFMapHN::hangingNodeLID_to_NodesLIDs_ [protected] |
Maps the local (hanging) node (Point) LID to the global DoFs index
Definition at line 178 of file SundanceNodalDOFMapHN.hpp.
Referenced by getDOFsForHNCell(), and init().
Array<bool> Sundance::NodalDOFMapHN::hasCellHanging_ [protected] |
Is true if the cell has hanging node
Definition at line 166 of file SundanceNodalDOFMapHN.hpp.
Referenced by init().
MatrixStore Sundance::NodalDOFMapHN::matrixStore_ [protected] |
The object to store all the transformation matrixes
Definition at line 187 of file SundanceNodalDOFMapHN.hpp.
Referenced by getTrafoMatrixForCell(), getTrafoMatrixForFacet(), init(), and NodalDOFMapHN().
CellFilter Sundance::NodalDOFMapHN::maxCellFilter_ [protected] |
Definition at line 145 of file SundanceNodalDOFMapHN.hpp.
Referenced by init().
Sundance::Map< int , int > Sundance::NodalDOFMapHN::maxCellLIDwithHN_to_TrafoMatrix_ [protected] |
Maps the local (hanging) node (Point) DoF to the matrix index
Definition at line 184 of file SundanceNodalDOFMapHN.hpp.
Referenced by getTrafoMatrixForCell(), getTrafoMatrixForFacet(), and init().
int Sundance::NodalDOFMapHN::nElems_ [protected] |
Definition at line 151 of file SundanceNodalDOFMapHN.hpp.
Referenced by init().
int Sundance::NodalDOFMapHN::nFacets_ [protected] |
Definition at line 157 of file SundanceNodalDOFMapHN.hpp.
Referenced by getTrafoMatrixForCell(), and init().
int Sundance::NodalDOFMapHN::nFuncs_ [protected] |
Definition at line 149 of file SundanceNodalDOFMapHN.hpp.
Referenced by computeOffsets(), getDOFsForCellBatch(), getDOFsForHNCell(), init(), nFuncs(), and shareRemoteDOFs().
int Sundance::NodalDOFMapHN::nNodes_ [protected] |
Definition at line 153 of file SundanceNodalDOFMapHN.hpp.
Referenced by computeOffsets(), and init().
int Sundance::NodalDOFMapHN::nNodesPerElem_ [protected] |
Definition at line 155 of file SundanceNodalDOFMapHN.hpp.
Referenced by getDOFsForCellBatch().
Array<int> Sundance::NodalDOFMapHN::nodeDofs_ [protected] |
Definition at line 161 of file SundanceNodalDOFMapHN.hpp.
Referenced by computeOffsets(), getDOFsForCellBatch(), getDOFsForHNCell(), init(), and shareRemoteDOFs().
Array<bool> Sundance::NodalDOFMapHN::nodeIsHanging_ [protected] |
Is true if the node is hanging
Definition at line 169 of file SundanceNodalDOFMapHN.hpp.
RCP<const MapStructure> Sundance::NodalDOFMapHN::structure_ [protected] |
Definition at line 163 of file SundanceNodalDOFMapHN.hpp.
Referenced by getDOFsForCellBatch(), and mapStruct().