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 50 of file SundanceNodalDOFMapHN.hpp.
NodalDOFMapHN::NodalDOFMapHN | ( | const Mesh & | mesh, | |
int | nFuncs, | |||
const CellFilter & | maxCellFilter, | |||
int | setupVerb | |||
) |
virtual Sundance::NodalDOFMapHN::~NodalDOFMapHN | ( | ) | [inline, virtual] |
Definition at line 60 of file SundanceNodalDOFMapHN.hpp.
void NodalDOFMapHN::computeOffsets | ( | int | localCount | ) | [protected] |
Definition at line 566 of file SundanceNodalDOFMapHN.cpp.
References Sundance::DOFMapBase::comm(), Sundance::Mesh::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 243 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 412 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 437 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 359 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 381 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 74 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 112 of file SundanceNodalDOFMapHN.hpp.
References structure_.
int Sundance::NodalDOFMapHN::nFuncs | ( | ) | const [inline] |
void NodalDOFMapHN::shareRemoteDOFs | ( | const Array< Array< int > > & | remoteNodes | ) | [protected] |
Definition at line 597 of file SundanceNodalDOFMapHN.cpp.
References Sundance::DOFMapBase::addGhostIndex(), Sundance::DOFMapBase::comm(), Sundance::Mesh::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 164 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 161 of file SundanceNodalDOFMapHN.hpp.
Referenced by getTrafoMatrixForCell(), getTrafoMatrixForFacet(), and init().
int Sundance::NodalDOFMapHN::dim_ [protected] |
Definition at line 136 of file SundanceNodalDOFMapHN.hpp.
Referenced by getDOFsForCellBatch(), getPointLIDsForHN(), and init().
Array<int> Sundance::NodalDOFMapHN::elemDofs_ [protected] |
Definition at line 148 of file SundanceNodalDOFMapHN.hpp.
Referenced by getDOFsForCellBatch(), and init().
Array<int> Sundance::NodalDOFMapHN::facetLID_ [protected] |
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 170 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 167 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 155 of file SundanceNodalDOFMapHN.hpp.
Referenced by init().
MatrixStore Sundance::NodalDOFMapHN::matrixStore_ [protected] |
The object to store all the transformation matrixes
Definition at line 176 of file SundanceNodalDOFMapHN.hpp.
Referenced by getTrafoMatrixForCell(), getTrafoMatrixForFacet(), init(), and NodalDOFMapHN().
CellFilter Sundance::NodalDOFMapHN::maxCellFilter_ [protected] |
Sundance::Map< int , int > Sundance::NodalDOFMapHN::maxCellLIDwithHN_to_TrafoMatrix_ [protected] |
Maps the local (hanging) node (Point) DoF to the matrix index
Definition at line 173 of file SundanceNodalDOFMapHN.hpp.
Referenced by getTrafoMatrixForCell(), getTrafoMatrixForFacet(), and init().
int Sundance::NodalDOFMapHN::nElems_ [protected] |
int Sundance::NodalDOFMapHN::nFacets_ [protected] |
Definition at line 146 of file SundanceNodalDOFMapHN.hpp.
Referenced by getTrafoMatrixForCell(), and init().
int Sundance::NodalDOFMapHN::nFuncs_ [protected] |
Definition at line 138 of file SundanceNodalDOFMapHN.hpp.
Referenced by computeOffsets(), getDOFsForCellBatch(), getDOFsForHNCell(), init(), nFuncs(), and shareRemoteDOFs().
int Sundance::NodalDOFMapHN::nNodes_ [protected] |
Definition at line 142 of file SundanceNodalDOFMapHN.hpp.
Referenced by computeOffsets(), and init().
int Sundance::NodalDOFMapHN::nNodesPerElem_ [protected] |
Array<int> Sundance::NodalDOFMapHN::nodeDofs_ [protected] |
Definition at line 150 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 158 of file SundanceNodalDOFMapHN.hpp.
RCP<const MapStructure> Sundance::NodalDOFMapHN::structure_ [protected] |
Definition at line 152 of file SundanceNodalDOFMapHN.hpp.
Referenced by getDOFsForCellBatch(), and mapStruct().