Class for 3D hierarchical structured quad Mesh
The main internal idea of the mesh ist that there are different numberings of the elements ID -> each element has an ID (also those which are completely outside the mesh domain, and those which are not leaf)
In the code sometimes internaly LID is used instead of ID due to legacy !! :-P
GID -> all leaf elements which are visible to Sundance (only the leaf elements should be visible)
LID -> all the elements which have GID and belong and either belong to the local processor or are in the ghost cells
More...
Public Member Functions | |
| HNMesh3D (int dim, const MPIComm &comm, const MeshEntityOrder &order) | |
| The Ctor for the dummy grid with hanging nodes. | |
| void | createMesh (double position_x, double position_y, double position_z, double offset_x, double offset_y, double offset_z, int resolution_x, int resolution_y, int resolution_z, const RefinementClass &refineClass, const MeshDomainDef &meshDomain) |
| The Ctor for the HNMesh3D grid in 3D. | |
| virtual | ~HNMesh3D () |
| Dtor. | |
| virtual int | numCells (int dim) const |
| Get the number of cells having dimension dim. | |
| virtual Point | nodePosition (int i) const |
| Return the position of the i-th node. | |
| const double * | nodePositionView (int i) const |
| Return a view of the i-th node's position. | |
| virtual void | getJacobians (int cellDim, const Array< int > &cellLID, CellJacobianBatch &jBatch) const |
| Compute the jacobians of a batch of cells, returning the result via reference argument. | |
| virtual void | getCellDiameters (int cellDim, const Array< int > &cellLID, Array< double > &cellDiameters) const |
| Compute the diameters of a batch of cells, result via reference argument. | |
| virtual void | pushForward (int cellDim, const Array< int > &cellLID, const Array< Point > &refQuadPts, Array< Point > &physQuadPts) const |
| Map reference quadrature points to physical points on the given cells. | |
| virtual int | ownerProcID (int cellDim, int cellLID) const |
| Return the rank of the processor that owns the given cell. | |
| virtual int | numFacets (int cellDim, int cellLID, int facetDim) const |
| Return the number of facets of the given cell. | |
| virtual int | facetLID (int cellDim, int cellLID, int facetDim, int facetIndex, int &facetOrientation) const |
| Return the local ID of a facet cell. | |
| virtual void | getFacetLIDs (int cellDim, const Array< int > &cellLID, int facetDim, Array< int > &facetLID, Array< int > &facetSign) const |
| Return by reference argument an array containing&(elemVerts_.value(cellLID, 0)) the LIDs of the facetDim-dimensional facets of the given batch of cells. | |
| const int * | elemZeroFacetView (int cellLID) const |
| Return a view of an element's zero-dimensional facets,. | |
| virtual int | numMaxCofacets (int cellDim, int cellLID) const |
| Return the number of maximal cofacets of the given cell. | |
| virtual int | maxCofacetLID (int cellDim, int cellLID, int cofacetIndex, int &facetIndex) const |
| Return the local ID of a maximal cofacet cell. | |
| virtual void | getMaxCofacetLIDs (const Array< int > &cellLIDs, MaximalCofacetBatch &cofacets) const |
| Get the LIDs of the maximal cofacets for a batch of codimension-one cells. | |
| void | getCofacets (int cellDim, int cellLID, int cofacetDim, Array< int > &cofacetLIDs) const |
| Find the cofacets of the given cell. | |
| virtual int | mapGIDToLID (int cellDim, int globalIndex) const |
| Find the local ID of a cell given its global index. | |
| virtual bool | hasGID (int cellDim, int globalIndex) const |
| Determine whether a given cell GID exists on this processor. | |
| virtual int | mapLIDToGID (int cellDim, int localIndex) const |
| Find the global ID of a cell given its local index. | |
| virtual CellType | cellType (int cellDim) const |
| Get the type of the given cell. | |
| virtual int | label (int cellDim, int cellLID) const |
| Get the label of the given cell. | |
| virtual void | getLabels (int cellDim, const Array< int > &cellLID, Array< int > &labels) const |
| Get the labels for a batch of cells. | |
| virtual Set< int > | getAllLabelsForDimension (int cellDim) const |
| Get the list of all labels defined for cells of the given dimension. | |
| virtual void | getLIDsForLabel (int cellDim, int label, Array< int > &cellLIDs) const |
| Get the cells associated with a specified label. | |
| virtual void | setLabel (int cellDim, int cellLID, int label) |
| Set the label of the given cell. | |
| virtual void | assignIntermediateCellGIDs (int cellDim) |
| Coordinate intermediate cell definitions across processors. | |
| virtual bool | hasIntermediateGIDs (int dim) const |
| Return if cells of dimension cellDim have been assigned global IDs or not. | |
| virtual bool | allowsHangingHodes () const |
| Function returns true if the mesh allows hanging nodes (by refinement), false otherwise. | |
| virtual bool | isElementHangingNode (int cellDim, int cellLID) const |
| Function returns true if the specified element is a "hanging" element false otherwise | |
| virtual int | indexInParent (int maxCellLID) const |
| Returns the index in the parent maxdim Cell of the refinement tree. | |
| virtual int | maxChildren () const |
| How many children has a refined element. | |
| virtual void | returnParentFacets (int childCellLID, int dimFacets, Array< int > &facetsLIDs, int &parentCellLIDs) const |
| Function returns the facets of the maxdim parent cell (needed for HN treatment) | |
Private Member Functions | |
| int | facetLID_tree (int cellDim, int cellLID, int facetDim, int facetIndex) const |
| For HN , returns parent facets, if the facet is not leaf, then return -1 at that place. | |
| void | addVertex (int vertexLID, int ownerProc, bool isHanging, double coordx, double coordy, double coordz, const Array< int > &maxCoF) |
| adds one vertex to the mesh | |
| void | addEdge (int edgeLID, int ownerProc, bool isHanging, int edgeOrientation, const Array< int > &vertexLIDs, const Array< int > &maxCoF) |
| adds one edge to the mesh | |
| void | addFace (int faceLID, int ownerProc, bool isHanging, int faceOrientation, const Array< int > &vertexLIDs, const Array< int > &edgeLIDs, const Array< int > &maxCoF) |
| adds one edge to the mesh | |
| void | addCell (int cellLID, int ownerProc, int indexInParent, int parentCellLID, int level, const Array< int > &faceLIDs, const Array< int > &edgeLIDs, const Array< int > &vertexLIDs) |
| adds one cell(3D) to the mesh cell must be always leaf | |
| void | createCoarseMesh () |
| creates the mesh on the coarsest level as it is specified | |
| bool | oneRefinementIteration () |
| Does one single refinement iteration. | |
| void | refineCell (int cellLID) |
| refine the given cell by cellID, (method assumes that this cell can be refined) | |
| void | createLeafNumbering () |
| Create Leaf numbering. | |
| void | updateLocalCoarseNumbering (int ix, int iy, int iz, int Nx, int Ny) |
| this updates the array with the local index of vertex, edge and face in the static array this method is only used in the coarse mesh creation | |
| int | getHangingElement (int cellDim, bool useEdge, int parentID, int parentOffset) |
| Used for refinemement. | |
| void | addHangingElement (int cellDim, int cellID, bool useEdge, int parentID, int parentOffset) |
| Used for refinemement. | |
| int | numMaxCofacets_ID (int cellDim, int cellID) |
Private Attributes | |
| int | nrProc_ |
| Number of processors. | |
| int | myRank_ |
| const MPIComm & | _comm |
| The communicator. | |
| double | _pos_x |
| double | _pos_y |
| double | _pos_z |
| double | _ofs_x |
| double | _ofs_y |
| double | _ofs_z |
| int | _res_x |
| int | _res_y |
| int | _res_z |
| RefinementClass | refineClass_ |
| MeshDomainDef | meshDomain_ |
| Array< Point > | points_ |
| all the global points index is [ID] | |
| Array< int > | nrElem_ |
| [4] the nr of ID per dim | |
| Array< int > | nrElemOwned_ |
| [4] the nr of owned elements per dim | |
| Array< Array< int > > | cellsPoints_ |
| [cellID][8] | |
| Array< Array< int > > | cellsEdges_ |
| [cellID][12] | |
| Array< Array< int > > | cellsFaces_ |
| [cellID][6] | |
| Array< Array< int > > | faceEdges_ |
| [faceID][4] | |
| Array< Array< int > > | facePoints_ |
| [faceID][4] | |
| Array< Array< int > > | edgePoints_ |
| [edgeID][2] | |
| Array< short int > | edgeOrientation_ |
| stores the edge orientation {0,1,2} [edgeID] | |
| Array< short int > | faceOrientation_ |
| stores the face orientation {0,1,2} [faceID] | |
| Array< Array< int > > | faceMaxCoF_ |
| [faceID][2] | |
| Array< Array< int > > | edgeMaxCoF_ |
| [edgeID][4] | |
| Array< Array< int > > | pointMaxCoF_ |
| [pointID][8] | |
| Array< Array< short int > > | elementOwner_ |
| contains the ownership of the local elements [dim][ID] | |
| Array< short int > | indexInParent_ |
| [cellID] , the child index in the parent | |
| Array< int > | parentCellLID_ |
| [cellID] , the LID of the parent cell | |
| Array< short int > | cellLevel_ |
| [cellID] , actual level of the cell | |
| Array< bool > | isCellLeaf_ |
| [cellID] , if the element is leaf | |
| Array< bool > | isCellOut_ |
| [cellID] , if the cell is complete outside the user defined mesh domain | |
| Array< Array< int > > | cellsChildren_ |
| [cellID] , children of the cell | |
| Array< bool > | isPointHanging_ |
| [pointID] , true if the node is hanging , false otherwise | |
| Array< bool > | isEdgeHanging_ |
| [edgeID] , true if the edge is hanging , false otherwise | |
| Array< bool > | isFaceHanging_ |
| [faceID] , true if the face is hanging , false otherwise | |
| Hashtable< int, Array< int > > | edgeHangingElmStore_ |
| [edgeID] - > { h P0 LID , h P1 LID , h E0 LID , h E1 LID , h E2 LID } These elements will only be put on not hanging when we access it 3 times together 5 elements | |
| Array< short int > | hangingAccessCount_ |
| the counter for each edge which stores hanging node information, when the counter reaches 2 (3 read access) then the hanging elements can be marked as not hanging At the beginning this should be equal with the numMaxCofacets | |
| Hashtable< int, Array< int > > | faceHangingElmStore_ |
| [faceID] - > { h P0 LID , h P1 LID , h P2 LID , h P3 LID , h E0 LID , h E1 LID , h E2 LID , h E3 LID , h E4 LID , h E5 LID , (4+) h E6 LID , h E7 LID , h E8 LID , h E9 LID , h E10 LID, h E11 LID , (16+) h F0 LID , h F1 LID , h F2 LID , h F3 LID , h F4 LID , h F5 LID , h F6 LID , h F7 LID , h F8 LID } together 16+9 = 25 elements | |
| Array< short int > | refineCell_ |
| Neighbor Cell can mark the cell to provoke refinement. | |
| Array< int > | vertexLeafToLIDMapping_ |
| [leaf_vertexLID] , the value must be a positive number | |
| Array< int > | edgeLeafToLIDMapping_ |
| [leaf_edgeLID] , the value must be a positive number | |
| Array< int > | faceLeafToLIDMapping_ |
| [leaf_faceLID] , the value must be a positive number | |
| Array< int > | cellLeafToLIDMapping_ |
| [leaf_cellLID] , the value must be a positive number | |
| Array< int > | vertexLIDToLeafMapping_ |
| [vertexLID] if vertex is inside the domain then > 0 , -1 otherwise | |
| Array< int > | edgeLIDToLeafMapping_ |
| [edgeLID] if edge is leaf(or inside the domain) then > 0 , -1 otherwise | |
| Array< int > | faceLIDToLeafMapping_ |
| [faceLID] if face is leaf(or inside the domain) then > 0 , -1 otherwise | |
| Array< int > | cellLIDToLeafMapping_ |
| [cellLID] if cell is leaf(or inside the domain) then > 0 , -1 otherwise | |
| int | nrVertexLeafLID_ |
| leaf LID numbering | |
| int | nrEdgeLeafLID_ |
| int | nrFaceLeafLID_ |
| int | nrCellLeafLID_ |
| Array< int > | vertexLeafToGIDMapping_ |
| [leaf_vertexGID] , the value must be a positive number | |
| Array< int > | edgeLeafToGIDMapping_ |
| [leaf_edgeGID] , the value must be a positive number | |
| Array< int > | faceLeafToGIDMapping_ |
| [leaf_faceGID] , the value must be a positive number | |
| Array< int > | cellLeafToGIDMapping_ |
| [leaf_cellGID] , the value must be a positive number | |
| Array< int > | vertexGIDToLeafMapping_ |
| [vertexGID] if vertex is inside the domain then > 0 , -1 otherwise | |
| Array< int > | edgeGIDToLeafMapping_ |
| [edgeGID] if edge is leaf(or inside the domain) then > 0 , -1 otherwise | |
| Array< int > | faceGIDToLeafMapping_ |
| [faceGID] if edge is leaf(or inside the domain) then > 0 , -1 otherwise | |
| Array< int > | cellGIDToLeafMapping_ |
| [cellGID] if cell is leaf(or inside the domain) then > 0 , -1 otherwise | |
| int | nrVertexLeafGID_ |
| leaf GID numbering | |
| int | nrEdgeLeafGID_ |
| int | nrFaceLeafGID_ |
| int | nrCellLeafGID_ |
Static Private Attributes | |
| static int | offs_Points_x_ [8] = {0, 1, 0, 1 , 0 , 1 , 0 , 1} |
| the offset in the X coordinate on the reference cell | |
| static int | offs_Points_y_ [8] = {0, 0, 1, 1 , 0 , 0 , 1 , 1} |
| the offset in the Y coordinate on the reference cell | |
| static int | offs_Points_z_ [8] = {0, 0, 0, 0 , 1 , 1 , 1 , 1 } |
| the offset in the Z coordinate on the reference cell | |
| static int | edge_Points_localIndex [12][2] |
| stores the facet information on the reference Cell | |
| static int | edge_Orientation [12] = { 0, 1, 2, 1, 2, 0, 2, 2, 0, 1, 1, 0 } |
| the edge orientation (local orientation) | |
| static int | edge_MaxCofacetIndex [3][4] = { {0,5,8,11},{1,3,9,10},{2,4,6,7} } |
| static int | edge_MaxCof [12] = { 0,0,0, 1, 1, 1, 2, 3, 2, 2, 3, 3 } |
| static int | face_Edges_localIndex [6][4] = { {0,1,3,5} , {0,2,4,8} , {1,2,6,9} , {3,4,7,10}, {5,6,7,11}, {8,9,10,11}} |
| face edge-facet information | |
| static int | face_Points_localIndex [6][4] = { {0,1,2,3} , {0,1,4,5} , {0,2,4,6} , {1,3,5,7} , {2,3,6,7} , {4,5,6,7} } |
| face point-facet information | |
| static int | face_Orientation [6] = { 0,1,2,2,1,0 } |
| face orientation (local orientation) | |
| static int | face_MaxCofacetIndex [3][2] = { {0,5},{1,4},{2,3}} |
| static int | face_MaxCof [6] = { 0,0,0,1,1,1 } |
| static int | vInd [8] |
| used for coarse mesh creation for the vertex indexing | |
| static int | eInd [12] |
| used for coarse mesh creation for the edge indexing | |
| static int | fInd [6] |
| used for coarse mesh creation for the face indexing | |
| static double | vertex_X [64] |
| static double | vertex_Y [64] |
| static double | vertex_Z [64] |
| static int | vertexToParentEdge [64] |
| static int | vertexInParentIndex [64] |
| static int | edgeToParentEdge [144] |
| static int | edgeInParentIndex [144] |
| static int | faceToParentFace [108] |
| static int | faceInParentIndex [108] |
Class for 3D hierarchical structured quad Mesh
The main internal idea of the mesh ist that there are different numberings of the elements ID -> each element has an ID (also those which are completely outside the mesh domain, and those which are not leaf)
In the code sometimes internaly LID is used instead of ID due to legacy !! :-P
GID -> all leaf elements which are visible to Sundance (only the leaf elements should be visible)
LID -> all the elements which have GID and belong and either belong to the local processor or are in the ghost cells
Definition at line 69 of file SundanceHNMesh3D.hpp.
| HNMesh3D::HNMesh3D | ( | int | dim, |
| const MPIComm & | comm, | ||
| const MeshEntityOrder & | order | ||
| ) |
The Ctor for the dummy grid with hanging nodes.
Definition at line 160 of file SundanceHNMesh3D.cpp.
References cellLevel_, cellsEdges_, cellsFaces_, cellsPoints_, edgeHangingElmStore_, edgeMaxCoF_, edgeOrientation_, edgePoints_, elementOwner_, faceEdges_, faceHangingElmStore_, faceMaxCoF_, faceOrientation_, facePoints_, hangingAccessCount_, indexInParent_, isCellLeaf_, isCellOut_, isEdgeHanging_, isPointHanging_, myRank_, nrCellLeafGID_, nrCellLeafLID_, nrEdgeLeafGID_, nrEdgeLeafLID_, nrElem_, nrElemOwned_, nrFaceLeafGID_, nrFaceLeafLID_, nrProc_, nrVertexLeafGID_, nrVertexLeafLID_, parentCellLID_, pointMaxCoF_, points_, refineCell_, and Sundance::DefaultObjectWithVerbosity::setVerbosity().
| virtual Sundance::HNMesh3D::~HNMesh3D | ( | ) | [inline, virtual] |
Dtor.
Definition at line 94 of file SundanceHNMesh3D.hpp.
| void HNMesh3D::addCell | ( | int | cellLID, |
| int | ownerProc, | ||
| int | indexInParent, | ||
| int | parentCellLID, | ||
| int | level, | ||
| const Array< int > & | faceLIDs, | ||
| const Array< int > & | edgeLIDs, | ||
| const Array< int > & | vertexLIDs | ||
| ) | [private] |
adds one cell(3D) to the mesh
cell must be always leaf
adds one cell(3D) to the mesh
Definition at line 908 of file SundanceHNMesh3D.cpp.
References cellLevel_, cellsChildren_, cellsEdges_, cellsFaces_, cellsPoints_, elementOwner_, indexInParent_, isCellLeaf_, isCellOut_, Sundance::MeshDomainDef::isInsideComputationalDomain(), meshDomain_, nrElem_, parentCellLID_, points_, refineCell_, SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by createCoarseMesh(), and refineCell().
| void HNMesh3D::addEdge | ( | int | edgeLID, |
| int | ownerProc, | ||
| bool | isHanging, | ||
| int | edgeOrientation, | ||
| const Array< int > & | vertexLIDs, | ||
| const Array< int > & | maxCoF | ||
| ) | [private] |
adds one edge to the mesh
Definition at line 869 of file SundanceHNMesh3D.cpp.
References edgeMaxCoF_, edgeOrientation_, edgePoints_, elementOwner_, hangingAccessCount_, isEdgeHanging_, nrElem_, SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by createCoarseMesh(), and refineCell().
| void HNMesh3D::addFace | ( | int | faceLID, |
| int | ownerProc, | ||
| bool | isHanging, | ||
| int | faceOrientation, | ||
| const Array< int > & | vertexLIDs, | ||
| const Array< int > & | edgeLIDs, | ||
| const Array< int > & | maxCoF | ||
| ) | [private] |
adds one edge to the mesh
Definition at line 887 of file SundanceHNMesh3D.cpp.
References elementOwner_, faceEdges_, faceMaxCoF_, faceOrientation_, facePoints_, isFaceHanging_, nrElem_, SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by createCoarseMesh(), and refineCell().
| void HNMesh3D::addHangingElement | ( | int | cellDim, |
| int | cellID, | ||
| bool | useEdge, | ||
| int | parentID, | ||
| int | parentOffset | ||
| ) | [private] |
Used for refinemement.
| cellDim | the requested elements dimension (if exists) |
| cellID,ID | of the new hanging cell |
| usedge,whould | we look for that element in edge or in face |
| parentID,ID | of the parent edge or face |
| parentOffset,the | offset in the parent |
Definition at line 1502 of file SundanceHNMesh3D.cpp.
References edgeHangingElmStore_, faceHangingElmStore_, hangingAccessCount_, numMaxCofacets_ID(), SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by refineCell().
| void HNMesh3D::addVertex | ( | int | vertexLID, |
| int | ownerProc, | ||
| bool | isHanging, | ||
| double | coordx, | ||
| double | coordy, | ||
| double | coordz, | ||
| const Array< int > & | maxCoF | ||
| ) | [private] |
adds one vertex to the mesh
Definition at line 851 of file SundanceHNMesh3D.cpp.
References elementOwner_, isPointHanging_, nrElem_, pointMaxCoF_, points_, SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by createCoarseMesh(), and refineCell().
| virtual bool Sundance::HNMesh3D::allowsHangingHodes | ( | ) | const [inline, virtual] |
Function returns true if the mesh allows hanging nodes (by refinement), false otherwise.
Reimplemented from Sundance::MeshBase.
Definition at line 284 of file SundanceHNMesh3D.hpp.
| void HNMesh3D::assignIntermediateCellGIDs | ( | int | cellDim | ) | [virtual] |
Coordinate intermediate cell definitions across processors.
Implements Sundance::MeshBase.
Definition at line 757 of file SundanceHNMesh3D.cpp.
| CellType HNMesh3D::cellType | ( | int | cellDim | ) | const [virtual] |
Get the type of the given cell.
Implements Sundance::MeshBase.
Definition at line 713 of file SundanceHNMesh3D.cpp.
References Sundance::BrickCell, Sundance::LineCell, Sundance::NullCell, Sundance::PointCell, and Sundance::QuadCell.
| void HNMesh3D::createCoarseMesh | ( | ) | [private] |
creates the mesh on the coarsest level as it is specified
Definition at line 1025 of file SundanceHNMesh3D.cpp.
References _ofs_x, _ofs_y, _ofs_z, _pos_x, _pos_y, _pos_z, _res_x, _res_y, _res_z, addCell(), addEdge(), addFace(), addVertex(), edge_MaxCof, edge_Orientation, edge_Points_localIndex, edgeMaxCoF_, eInd, face_Edges_localIndex, face_MaxCof, face_Orientation, face_Points_localIndex, faceMaxCoF_, fInd, myRank_, nrElem_, nrProc_, offs_Points_x_, offs_Points_y_, offs_Points_z_, pointMaxCoF_, refineClass_, SUNDANCE_MSG3, updateLocalCoarseNumbering(), Sundance::DefaultObjectWithVerbosity::verb(), and vInd.
Referenced by createMesh().
| void HNMesh3D::createLeafNumbering | ( | ) | [private] |
Create Leaf numbering.
Definition at line 1640 of file SundanceHNMesh3D.cpp.
References cellGIDToLeafMapping_, cellLeafToGIDMapping_, cellLeafToLIDMapping_, cellLIDToLeafMapping_, cellsEdges_, cellsFaces_, cellsPoints_, edgeGIDToLeafMapping_, edgeLeafToGIDMapping_, edgeLeafToLIDMapping_, edgeLIDToLeafMapping_, edgeMaxCoF_, elementOwner_, faceGIDToLeafMapping_, faceLeafToGIDMapping_, faceLeafToLIDMapping_, faceLIDToLeafMapping_, faceMaxCoF_, isCellLeaf_, isCellOut_, isEdgeHanging_, isFaceHanging_, isPointHanging_, myRank_, nrCellLeafGID_, nrCellLeafLID_, nrEdgeLeafGID_, nrEdgeLeafLID_, nrElem_, nrFaceLeafGID_, nrFaceLeafLID_, nrVertexLeafGID_, nrVertexLeafLID_, parentCellLID_, pointMaxCoF_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), vertexGIDToLeafMapping_, vertexLeafToGIDMapping_, vertexLeafToLIDMapping_, and vertexLIDToLeafMapping_.
Referenced by createMesh().
| void HNMesh3D::createMesh | ( | double | position_x, |
| double | position_y, | ||
| double | position_z, | ||
| double | offset_x, | ||
| double | offset_y, | ||
| double | offset_z, | ||
| int | resolution_x, | ||
| int | resolution_y, | ||
| int | resolution_z, | ||
| const RefinementClass & | refineClass, | ||
| const MeshDomainDef & | meshDomain | ||
| ) |
The Ctor for the HNMesh3D grid in 3D.
creates one regular mesh without refinement.
With a different function the refinement can start later , independently from this function.
The structure of this mesh also supports unstructured storage of the cells, so we might create unstructured mesh and later refine in the same way
Definition at line 954 of file SundanceHNMesh3D.cpp.
References _ofs_x, _ofs_y, _ofs_z, _pos_x, _pos_y, _pos_z, _res_x, _res_y, _res_z, createCoarseMesh(), createLeafNumbering(), meshDomain_, oneRefinementIteration(), refineClass_, and Sundance::DefaultObjectWithVerbosity::setVerbosity().
Referenced by Sundance::HNMesher3D::fillMesh().
| const int * HNMesh3D::elemZeroFacetView | ( | int | cellLID | ) | const [virtual] |
Return a view of an element's zero-dimensional facets,.
Implements Sundance::MeshBase.
Definition at line 509 of file SundanceHNMesh3D.cpp.
References cellLeafToLIDMapping_, cellsPoints_, SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
| int HNMesh3D::facetLID | ( | int | cellDim, |
| int | cellLID, | ||
| int | facetDim, | ||
| int | facetIndex, | ||
| int & | facetOrientation | ||
| ) | const [virtual] |
Return the local ID of a facet cell.
| cellDim | dimension of the cell whose facets are being obtained |
| cellLID | local index of the cell whose facets are being obtained |
| facetDim | dimension of the desired facet |
| facetIndex | index into the list of the cell's facets |
| facetOrientation | orientation of the facet as seen from the given cell (returned via reference) |
Implements Sundance::MeshBase.
Definition at line 436 of file SundanceHNMesh3D.cpp.
References cellLeafToLIDMapping_, cellsEdges_, cellsFaces_, cellsPoints_, edgeLeafToLIDMapping_, edgeLIDToLeafMapping_, edgePoints_, faceEdges_, faceLeafToLIDMapping_, faceLIDToLeafMapping_, facePoints_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), and vertexLIDToLeafMapping_.
Referenced by getFacetLIDs().
| int HNMesh3D::facetLID_tree | ( | int | cellDim, |
| int | cellLID, | ||
| int | facetDim, | ||
| int | facetIndex | ||
| ) | const [private] |
For HN , returns parent facets, if the facet is not leaf, then return -1 at that place.
Definition at line 827 of file SundanceHNMesh3D.cpp.
References cellsEdges_, cellsFaces_, cellsPoints_, edgeLIDToLeafMapping_, faceLIDToLeafMapping_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), and vertexLIDToLeafMapping_.
Referenced by returnParentFacets().
| Set< int > HNMesh3D::getAllLabelsForDimension | ( | int | cellDim | ) | const [virtual] |
Get the list of all labels defined for cells of the given dimension.
Implements Sundance::MeshBase.
Definition at line 739 of file SundanceHNMesh3D.cpp.
| void HNMesh3D::getCellDiameters | ( | int | cellDim, |
| const Array< int > & | cellLID, | ||
| Array< double > & | cellDiameters | ||
| ) | const [virtual] |
Compute the diameters of a batch of cells, result via reference argument.
| cellDim | dimension of the cells whose diameters are to be computed |
| cellLID | local indices of the cells for which diameters are to be computed |
| diameters | reference to the array of cell diameters |
Reimplemented from Sundance::MeshBase.
Definition at line 300 of file SundanceHNMesh3D.cpp.
References cellLeafToLIDMapping_, cellsPoints_, edgeLeafToLIDMapping_, edgePoints_, faceLeafToLIDMapping_, facePoints_, points_, Sundance::MeshBase::spatialDim(), SUNDANCE_MSG3, SUNDANCE_VERB_HIGH, and Sundance::DefaultObjectWithVerbosity::verb().
| void HNMesh3D::getCofacets | ( | int | cellDim, |
| int | cellLID, | ||
| int | cofacetDim, | ||
| Array< int > & | cofacetLIDs | ||
| ) | const [virtual] |
Find the cofacets of the given cell.
| cellDim | dimension of the cell whose cofacets are being obtained |
| cellLID | local index of the cell whose cofacets are being obtained |
| cofacetDim | dimension of the cofacets to get |
| cofacetLIDs | LIDs of the cofacet |
Implements Sundance::MeshBase.
Definition at line 636 of file SundanceHNMesh3D.cpp.
| void HNMesh3D::getFacetLIDs | ( | int | cellDim, |
| const Array< int > & | cellLID, | ||
| int | facetDim, | ||
| Array< int > & | facetLID, | ||
| Array< int > & | facetSign | ||
| ) | const [virtual] |
Return by reference argument an array containing&(elemVerts_.value(cellLID, 0)) the LIDs of the facetDim-dimensional facets of the given batch of cells.
Implements Sundance::MeshBase.
Definition at line 482 of file SundanceHNMesh3D.cpp.
References facetLID(), numFacets(), SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
| int HNMesh3D::getHangingElement | ( | int | cellDim, |
| bool | useEdge, | ||
| int | parentID, | ||
| int | parentOffset | ||
| ) | [private] |
Used for refinemement.
| cellDim | the requested elements dimension (if exists) |
| usedge,whould | we look for that element in edge or in face |
| parentID,ID | of the parent edge or face |
| parentOffset,the | offset in the parent |
Definition at line 1554 of file SundanceHNMesh3D.cpp.
References edgeHangingElmStore_, faceHangingElmStore_, hangingAccessCount_, isEdgeHanging_, isFaceHanging_, isPointHanging_, SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by refineCell().
| void HNMesh3D::getJacobians | ( | int | cellDim, |
| const Array< int > & | cellLID, | ||
| CellJacobianBatch & | jBatch | ||
| ) | const [virtual] |
Compute the jacobians of a batch of cells, returning the result via reference argument.
| cellDim | dimension of the cells whose Jacobians are to be computed |
| cellLID | local indices of the cells for which Jacobians are to be computed |
| jBatch | reference to the resulting Jacobian batch |
Reimplemented from Sundance::MeshBase.
Definition at line 230 of file SundanceHNMesh3D.cpp.
References _ofs_x, _ofs_y, _ofs_z, cellLeafToLIDMapping_, cellsPoints_, Sundance::cross(), Sundance::CellJacobianBatch::detJ(), edgeLeafToLIDMapping_, edgePoints_, faceLeafToLIDMapping_, facePoints_, Sundance::CellJacobianBatch::jVals(), points_, Sundance::CellJacobianBatch::resize(), Sundance::MeshBase::spatialDim(), SUNDANCE_MSG3, SUNDANCE_VERB_HIGH, and Sundance::DefaultObjectWithVerbosity::verb().
| void HNMesh3D::getLabels | ( | int | cellDim, |
| const Array< int > & | cellLID, | ||
| Array< int > & | labels | ||
| ) | const [virtual] |
Get the labels for a batch of cells.
Implements Sundance::MeshBase.
Definition at line 733 of file SundanceHNMesh3D.cpp.
| void HNMesh3D::getLIDsForLabel | ( | int | cellDim, |
| int | label, | ||
| Array< int > & | cellLIDs | ||
| ) | const [virtual] |
Get the cells associated with a specified label.
The array cellLID will be filled with those cells of dimension cellDim having the given label.
Implements Sundance::MeshBase.
Definition at line 746 of file SundanceHNMesh3D.cpp.
| void HNMesh3D::getMaxCofacetLIDs | ( | const Array< int > & | cellLIDs, |
| MaximalCofacetBatch & | cofacets | ||
| ) | const [virtual] |
Get the LIDs of the maximal cofacets for a batch of codimension-one cells.
| cellLIDs | [in] array of LIDs of the cells whose cofacets are being obtained |
| cofacets | [out] the batch of cofacets |
Implements Sundance::MeshBase.
Definition at line 643 of file SundanceHNMesh3D.cpp.
| bool HNMesh3D::hasGID | ( | int | cellDim, |
| int | globalIndex | ||
| ) | const [virtual] |
Determine whether a given cell GID exists on this processor.
Implements Sundance::MeshBase.
Definition at line 678 of file SundanceHNMesh3D.cpp.
| bool HNMesh3D::hasIntermediateGIDs | ( | int | cellDim | ) | const [virtual] |
Return if cells of dimension cellDim have been assigned global IDs or not.
| cellDim | [in] Dimension of the cell |
Implements Sundance::MeshBase.
Definition at line 762 of file SundanceHNMesh3D.cpp.
| int HNMesh3D::indexInParent | ( | int | maxCellLID | ) | const [virtual] |
Returns the index in the parent maxdim Cell of the refinement tree.
| maxCellLID | [in] the LID of the cell |
Reimplemented from Sundance::MeshBase.
Definition at line 790 of file SundanceHNMesh3D.cpp.
References cellLeafToLIDMapping_, and indexInParent_.
| bool HNMesh3D::isElementHangingNode | ( | int | cellDim, |
| int | cellLID | ||
| ) | const [virtual] |
Function returns true if the specified element is a "hanging" element false otherwise
| dim | [in] should be between 0 , D-1 |
| cellLID | [in] the local ID of the element |
Reimplemented from Sundance::MeshBase.
Definition at line 769 of file SundanceHNMesh3D.cpp.
References edgeLeafToLIDMapping_, faceLeafToLIDMapping_, isEdgeHanging_, isFaceHanging_, isPointHanging_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), and vertexLeafToLIDMapping_.
| int HNMesh3D::label | ( | int | cellDim, |
| int | cellLID | ||
| ) | const [virtual] |
Get the label of the given cell.
Implements Sundance::MeshBase.
Definition at line 726 of file SundanceHNMesh3D.cpp.
| int HNMesh3D::mapGIDToLID | ( | int | cellDim, |
| int | globalIndex | ||
| ) | const [virtual] |
Find the local ID of a cell given its global index.
Implements Sundance::MeshBase.
Definition at line 650 of file SundanceHNMesh3D.cpp.
References cellLeafToGIDMapping_, cellLIDToLeafMapping_, edgeLeafToGIDMapping_, edgeLIDToLeafMapping_, faceLeafToGIDMapping_, faceLIDToLeafMapping_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), vertexLeafToGIDMapping_, and vertexLIDToLeafMapping_.
| int HNMesh3D::mapLIDToGID | ( | int | cellDim, |
| int | localIndex | ||
| ) | const [virtual] |
Find the global ID of a cell given its local index.
Implements Sundance::MeshBase.
Definition at line 685 of file SundanceHNMesh3D.cpp.
References cellGIDToLeafMapping_, cellLeafToLIDMapping_, edgeGIDToLeafMapping_, edgeLeafToLIDMapping_, faceGIDToLeafMapping_, faceLeafToLIDMapping_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), vertexGIDToLeafMapping_, and vertexLeafToLIDMapping_.
| virtual int Sundance::HNMesh3D::maxChildren | ( | ) | const [inline, virtual] |
How many children has a refined element.
This function provides information of either we have bi or trisection
Reimplemented from Sundance::MeshBase.
Definition at line 298 of file SundanceHNMesh3D.hpp.
| int HNMesh3D::maxCofacetLID | ( | int | cellDim, |
| int | cellLID, | ||
| int | cofacetIndex, | ||
| int & | facetIndex | ||
| ) | const [virtual] |
Return the local ID of a maximal cofacet cell.
| cellDim | dimension of the cell whose cofacets are being obtained |
| cellLID | local index of the cell whose cofacets are being obtained |
| cofacetIndex | which maximal cofacet to get |
| facetIndex | index of the cell cellLID into the list of the maximal cell's facets |
Implements Sundance::MeshBase.
Definition at line 556 of file SundanceHNMesh3D.cpp.
References cellLIDToLeafMapping_, edge_MaxCofacetIndex, edgeLeafToLIDMapping_, edgeMaxCoF_, edgeOrientation_, face_MaxCofacetIndex, faceLeafToLIDMapping_, faceMaxCoF_, faceOrientation_, pointMaxCoF_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), and vertexLeafToLIDMapping_.
| Point HNMesh3D::nodePosition | ( | int | i | ) | const [virtual] |
Return the position of the i-th node.
Implements Sundance::MeshBase.
Definition at line 218 of file SundanceHNMesh3D.cpp.
References points_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), and vertexLeafToLIDMapping_.
| const double * HNMesh3D::nodePositionView | ( | int | i | ) | const [virtual] |
Return a view of the i-th node's position.
Implements Sundance::MeshBase.
Definition at line 224 of file SundanceHNMesh3D.cpp.
References points_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), and vertexLeafToLIDMapping_.
| int HNMesh3D::numCells | ( | int | dim | ) | const [virtual] |
Get the number of cells having dimension dim.
Implements Sundance::MeshBase.
Definition at line 207 of file SundanceHNMesh3D.cpp.
References nrCellLeafLID_, nrEdgeLeafLID_, nrFaceLeafLID_, nrVertexLeafLID_, SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
| int HNMesh3D::numFacets | ( | int | cellDim, |
| int | cellLID, | ||
| int | facetDim | ||
| ) | const [virtual] |
Return the number of facets of the given cell.
Implements Sundance::MeshBase.
Definition at line 419 of file SundanceHNMesh3D.cpp.
Referenced by getFacetLIDs().
| int HNMesh3D::numMaxCofacets | ( | int | cellDim, |
| int | cellLID | ||
| ) | const [virtual] |
Return the number of maximal cofacets of the given cell.
Implements Sundance::MeshBase.
Definition at line 516 of file SundanceHNMesh3D.cpp.
References cellLIDToLeafMapping_, edgeLeafToLIDMapping_, edgeMaxCoF_, faceLeafToLIDMapping_, faceMaxCoF_, pointMaxCoF_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), and vertexLeafToLIDMapping_.
| int HNMesh3D::numMaxCofacets_ID | ( | int | cellDim, |
| int | cellID | ||
| ) | [private] |
| cellDim | |
| cellID |
Definition at line 1611 of file SundanceHNMesh3D.cpp.
References edgeMaxCoF_, faceMaxCoF_, SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by addHangingElement(), and refineCell().
| bool HNMesh3D::oneRefinementIteration | ( | ) | [private] |
Does one single refinement iteration.
Iterates trough all cells which are owned by the processor and refines if necessary
Definition at line 1236 of file SundanceHNMesh3D.cpp.
References cellLevel_, cellsEdges_, cellsPoints_, edgeMaxCoF_, elementOwner_, isCellLeaf_, isCellOut_, isEdgeHanging_, nrElem_, parentCellLID_, points_, refineCell(), refineCell_, refineClass_, SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by createMesh().
| int HNMesh3D::ownerProcID | ( | int | cellDim, |
| int | cellLID | ||
| ) | const [virtual] |
Return the rank of the processor that owns the given cell.
Implements Sundance::MeshBase.
Definition at line 407 of file SundanceHNMesh3D.cpp.
References cellLeafToLIDMapping_, edgeLeafToLIDMapping_, elementOwner_, faceLeafToLIDMapping_, SUNDANCE_MSG3, Sundance::DefaultObjectWithVerbosity::verb(), and vertexLeafToLIDMapping_.
| void HNMesh3D::pushForward | ( | int | cellDim, |
| const Array< int > & | cellLID, | ||
| const Array< Point > & | refQuadPts, | ||
| Array< Point > & | physQuadPts | ||
| ) | const [virtual] |
Map reference quadrature points to physical points on the given cells.
Reimplemented from Sundance::MeshBase.
Definition at line 354 of file SundanceHNMesh3D.cpp.
References cellLeafToLIDMapping_, cellsPoints_, edgeLeafToLIDMapping_, edgePoints_, faceLeafToLIDMapping_, facePoints_, points_, Sundance::MeshBase::spatialDim(), SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
| void HNMesh3D::refineCell | ( | int | cellLID | ) | [private] |
refine the given cell by cellID, (method assumes that this cell can be refined)
Definition at line 1314 of file SundanceHNMesh3D.cpp.
References addCell(), addEdge(), addFace(), addHangingElement(), addVertex(), cellLevel_, cellsChildren_, cellsEdges_, cellsFaces_, cellsPoints_, edge_MaxCof, edge_Orientation, edge_Points_localIndex, edgeInParentIndex, edgeMaxCoF_, edgeToParentEdge, eInd, elementOwner_, face_Edges_localIndex, face_MaxCof, face_Orientation, face_Points_localIndex, faceInParentIndex, faceMaxCoF_, faceToParentFace, fInd, getHangingElement(), isCellLeaf_, nrElem_, numMaxCofacets_ID(), pointMaxCoF_, points_, SUNDANCE_MSG3, updateLocalCoarseNumbering(), Sundance::DefaultObjectWithVerbosity::verb(), vertex_X, vertex_Y, vertex_Z, vertexInParentIndex, vertexToParentEdge, and vInd.
Referenced by oneRefinementIteration().
| void HNMesh3D::returnParentFacets | ( | int | childCellLID, |
| int | dimFacets, | ||
| Array< int > & | facetsLIDs, | ||
| int & | parentCellLIDs | ||
| ) | const [virtual] |
Function returns the facets of the maxdim parent cell (needed for HN treatment)
| childCellLID | [in] the LID of the maxdim cell, whos parents facets we want |
| dimFacets | [in] the dimension of the facets which we want to have |
| facetsLIDs | [out] the LID of the parents facets (all) in the defined order |
| parentCellLIDs | [out] the maxdim parent cell LID |
Reimplemented from Sundance::MeshBase.
Definition at line 797 of file SundanceHNMesh3D.cpp.
References cellLeafToLIDMapping_, facetLID_tree(), parentCellLID_, SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
| void HNMesh3D::setLabel | ( | int | cellDim, |
| int | cellLID, | ||
| int | label | ||
| ) | [virtual] |
Set the label of the given cell.
Implements Sundance::MeshBase.
Definition at line 751 of file SundanceHNMesh3D.cpp.
| void HNMesh3D::updateLocalCoarseNumbering | ( | int | ix, |
| int | iy, | ||
| int | iz, | ||
| int | Nx, | ||
| int | Ny | ||
| ) | [private] |
this updates the array with the local index of vertex, edge and face in the static array
this method is only used in the coarse mesh creation
Definition at line 991 of file SundanceHNMesh3D.cpp.
References eInd, fInd, and vInd.
Referenced by createCoarseMesh(), and refineCell().
const MPIComm& Sundance::HNMesh3D::_comm [private] |
The communicator.
Definition at line 375 of file SundanceHNMesh3D.hpp.
double Sundance::HNMesh3D::_ofs_x [private] |
Definition at line 383 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), createMesh(), and getJacobians().
double Sundance::HNMesh3D::_ofs_y [private] |
Definition at line 385 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), createMesh(), and getJacobians().
double Sundance::HNMesh3D::_ofs_z [private] |
Definition at line 387 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), createMesh(), and getJacobians().
double Sundance::HNMesh3D::_pos_x [private] |
Definition at line 377 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and createMesh().
double Sundance::HNMesh3D::_pos_y [private] |
Definition at line 379 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and createMesh().
double Sundance::HNMesh3D::_pos_z [private] |
Definition at line 381 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and createMesh().
int Sundance::HNMesh3D::_res_x [private] |
Definition at line 389 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and createMesh().
int Sundance::HNMesh3D::_res_y [private] |
Definition at line 391 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and createMesh().
int Sundance::HNMesh3D::_res_z [private] |
Definition at line 393 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and createMesh().
Array<int> Sundance::HNMesh3D::cellGIDToLeafMapping_ [private] |
[cellGID] if cell is leaf(or inside the domain) then > 0 , -1 otherwise
Definition at line 529 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and mapLIDToGID().
Array<int> Sundance::HNMesh3D::cellLeafToGIDMapping_ [private] |
[leaf_cellGID] , the value must be a positive number
Definition at line 521 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and mapGIDToLID().
Array<int> Sundance::HNMesh3D::cellLeafToLIDMapping_ [private] |
[leaf_cellLID] , the value must be a positive number
Definition at line 498 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), elemZeroFacetView(), facetLID(), getCellDiameters(), getJacobians(), indexInParent(), mapLIDToGID(), ownerProcID(), pushForward(), and returnParentFacets().
Array<short int> Sundance::HNMesh3D::cellLevel_ [private] |
[cellID] , actual level of the cell
Definition at line 450 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), HNMesh3D(), oneRefinementIteration(), and refineCell().
Array<int> Sundance::HNMesh3D::cellLIDToLeafMapping_ [private] |
[cellLID] if cell is leaf(or inside the domain) then > 0 , -1 otherwise
Definition at line 506 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), mapGIDToLID(), maxCofacetLID(), and numMaxCofacets().
Array< Array<int> > Sundance::HNMesh3D::cellsChildren_ [private] |
[cellID] , children of the cell
Definition at line 456 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), and refineCell().
Array< Array<int> > Sundance::HNMesh3D::cellsEdges_ [private] |
[cellID][12]
Definition at line 412 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), createLeafNumbering(), facetLID(), facetLID_tree(), HNMesh3D(), oneRefinementIteration(), and refineCell().
Array< Array<int> > Sundance::HNMesh3D::cellsFaces_ [private] |
[cellID][6]
Definition at line 414 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), createLeafNumbering(), facetLID(), facetLID_tree(), HNMesh3D(), and refineCell().
Array< Array<int> > Sundance::HNMesh3D::cellsPoints_ [private] |
[cellID][8]
Definition at line 410 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), createLeafNumbering(), elemZeroFacetView(), facetLID(), facetLID_tree(), getCellDiameters(), getJacobians(), HNMesh3D(), oneRefinementIteration(), pushForward(), and refineCell().
int HNMesh3D::edge_MaxCof = { 0,0,0, 1, 1, 1, 2, 3, 2, 2, 3, 3 } [static, private] |
Definition at line 554 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and refineCell().
int HNMesh3D::edge_MaxCofacetIndex = { {0,5,8,11},{1,3,9,10},{2,4,6,7} } [static, private] |
Definition at line 553 of file SundanceHNMesh3D.hpp.
Referenced by maxCofacetLID().
int HNMesh3D::edge_Orientation = { 0, 1, 2, 1, 2, 0, 2, 2, 0, 1, 1, 0 } [static, private] |
the edge orientation (local orientation)
Definition at line 552 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and refineCell().
int HNMesh3D::edge_Points_localIndex [static, private] |
{ {0,1} , {0,2} , {0,4} , {1,3} , {1,5} , {2,3} , {2,6} , {3,7} ,
{4,5} , {4,6} , {5,7} , {6,7} }
stores the facet information on the reference Cell
Definition at line 549 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and refineCell().
Array<int> Sundance::HNMesh3D::edgeGIDToLeafMapping_ [private] |
[edgeGID] if edge is leaf(or inside the domain) then > 0 , -1 otherwise
Definition at line 525 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and mapLIDToGID().
Hashtable< int, Array<int> > Sundance::HNMesh3D::edgeHangingElmStore_ [private] |
[edgeID] - > { h P0 LID , h P1 LID , h E0 LID , h E1 LID , h E2 LID }
These elements will only be put on not hanging when we access it 3 times
together 5 elements
Definition at line 471 of file SundanceHNMesh3D.hpp.
Referenced by addHangingElement(), getHangingElement(), and HNMesh3D().
int HNMesh3D::edgeInParentIndex [static, private] |
{ 0, 1, 2, 0, 20, 21, 0, 22, 23, 24, 1, 25, 26, 1, 27, 28, 29, 2, 30, 31,
2, 0, 1, 2, 0, 20, 21, 0, 20, -1, -1, 20, 21, -1, -1, 21, 0, 20, 21, 0,
22, 23, 24, 22, -1, -1, 22, -1, -1, -1, 23, -1, -1, 23, -1, -1, -1, 24, -1, -1,
24, 22, 23, 24, 1, 25, 26, 1, 25, -1, -1, 25, 26, -1, -1, 26, 1, 25, 26, 1,
27, 28, 29, 27, -1, -1, 27, -1, -1, -1, 28, -1, -1, 28, -1, -1, -1, 29, -1, -1,
29, 27, 28, 29, 2, 30, 31, 2, 30, -1, -1, 30, 31, -1, -1, 31, 2, 30, 31, 2,
0, 1, 2, 0, 20, 21, 0, 22, 23, 24, 1, 25, 26, 1, 27, 28, 29, 2, 30, 31,
2, 0, 1, 2 }
Definition at line 590 of file SundanceHNMesh3D.hpp.
Referenced by refineCell().
Array<int> Sundance::HNMesh3D::edgeLeafToGIDMapping_ [private] |
[leaf_edgeGID] , the value must be a positive number
Definition at line 517 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and mapGIDToLID().
Array<int> Sundance::HNMesh3D::edgeLeafToLIDMapping_ [private] |
[leaf_edgeLID] , the value must be a positive number
Definition at line 494 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), facetLID(), getCellDiameters(), getJacobians(), isElementHangingNode(), mapLIDToGID(), maxCofacetLID(), numMaxCofacets(), ownerProcID(), and pushForward().
Array<int> Sundance::HNMesh3D::edgeLIDToLeafMapping_ [private] |
[edgeLID] if edge is leaf(or inside the domain) then > 0 , -1 otherwise
Definition at line 502 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), facetLID(), facetLID_tree(), and mapGIDToLID().
Array< Array<int> > Sundance::HNMesh3D::edgeMaxCoF_ [private] |
[edgeID][4]
Definition at line 434 of file SundanceHNMesh3D.hpp.
Referenced by addEdge(), createCoarseMesh(), createLeafNumbering(), HNMesh3D(), maxCofacetLID(), numMaxCofacets(), numMaxCofacets_ID(), oneRefinementIteration(), and refineCell().
Array<short int> Sundance::HNMesh3D::edgeOrientation_ [private] |
stores the edge orientation {0,1,2} [edgeID]
Definition at line 424 of file SundanceHNMesh3D.hpp.
Referenced by addEdge(), HNMesh3D(), and maxCofacetLID().
Array< Array<int> > Sundance::HNMesh3D::edgePoints_ [private] |
[edgeID][2]
Definition at line 420 of file SundanceHNMesh3D.hpp.
Referenced by addEdge(), facetLID(), getCellDiameters(), getJacobians(), HNMesh3D(), and pushForward().
int HNMesh3D::edgeToParentEdge [static, private] |
{ 0, 0, 0, 1, 20, 20, 3, 20, 20, 20, 1, 20, 20, 3, 20, 20, 20, 1, 20, 20,
3, 5, 5, 5, 2, 21, 21, 4, 22, -1, -1, 23, 22, -1, -1, 23, 6, 24, 24, 7,
21, 21, 21, 22, -1, -1, 23, -1, -1, -1, 22, -1, -1, 23, -1, -1, -1, 22, -1, -1,
23, 24, 24, 24, 2, 21, 21, 4, 22, -1, -1, 23, 22, -1, -1, 23, 6, 24, 24, 7,
21, 21, 21, 22, -1, -1, 23, -1, -1, -1, 22, -1, -1, 23, -1, -1, -1, 22, -1, -1,
23, 24, 24, 24, 2, 21, 21, 4, 22, -1, -1, 23, 22, -1, -1, 23, 6, 24, 24, 7,
8, 8, 8, 9, 25, 25, 10, 25, 25, 25, 9, 25, 25, 10, 25, 25, 25, 9, 25, 25,
10, 11, 11, 11 }
Definition at line 588 of file SundanceHNMesh3D.hpp.
Referenced by refineCell().
int HNMesh3D::eInd [static, private] |
used for coarse mesh creation for the edge indexing
Definition at line 571 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), refineCell(), and updateLocalCoarseNumbering().
Array< Array<short int> > Sundance::HNMesh3D::elementOwner_ [private] |
contains the ownership of the local elements [dim][ID]
Definition at line 441 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), addEdge(), addFace(), addVertex(), createLeafNumbering(), HNMesh3D(), oneRefinementIteration(), ownerProcID(), and refineCell().
int HNMesh3D::face_Edges_localIndex = { {0,1,3,5} , {0,2,4,8} , {1,2,6,9} , {3,4,7,10}, {5,6,7,11}, {8,9,10,11}} [static, private] |
face edge-facet information
Definition at line 557 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and refineCell().
int HNMesh3D::face_MaxCof = { 0,0,0,1,1,1 } [static, private] |
Definition at line 565 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and refineCell().
int HNMesh3D::face_MaxCofacetIndex = { {0,5},{1,4},{2,3}} [static, private] |
Definition at line 564 of file SundanceHNMesh3D.hpp.
Referenced by maxCofacetLID().
int HNMesh3D::face_Orientation = { 0,1,2,2,1,0 } [static, private] |
face orientation (local orientation)
Definition at line 563 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and refineCell().
int HNMesh3D::face_Points_localIndex = { {0,1,2,3} , {0,1,4,5} , {0,2,4,6} , {1,3,5,7} , {2,3,6,7} , {4,5,6,7} } [static, private] |
face point-facet information
Definition at line 560 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and refineCell().
Array< Array<int> > Sundance::HNMesh3D::faceEdges_ [private] |
[faceID][4]
Definition at line 416 of file SundanceHNMesh3D.hpp.
Referenced by addFace(), facetLID(), and HNMesh3D().
Array<int> Sundance::HNMesh3D::faceGIDToLeafMapping_ [private] |
[faceGID] if edge is leaf(or inside the domain) then > 0 , -1 otherwise
Definition at line 527 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and mapLIDToGID().
Hashtable< int, Array<int> > Sundance::HNMesh3D::faceHangingElmStore_ [private] |
[faceID] - > { h P0 LID , h P1 LID , h P2 LID , h P3 LID ,
h E0 LID , h E1 LID , h E2 LID , h E3 LID , h E4 LID , h E5 LID , (4+)
h E6 LID , h E7 LID , h E8 LID , h E9 LID , h E10 LID, h E11 LID , (16+)
h F0 LID , h F1 LID , h F2 LID , h F3 LID , h F4 LID , h F5 LID ,
h F6 LID , h F7 LID , h F8 LID }
together 16+9 = 25 elements
Definition at line 484 of file SundanceHNMesh3D.hpp.
Referenced by addHangingElement(), getHangingElement(), and HNMesh3D().
int HNMesh3D::faceInParentIndex [static, private] |
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 0, -1, -1, 0, -1, -1, -1, 1,
-1, -1, 1, -1, -1, -1, 2, -1, -1, 2, 0, 1, 2, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3, 4, 5, 3, -1, -1, 3, -1, -1, -1, 4, -1, -1, 4, -1, -1, -1, 5,
-1, -1, 5, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 7, 8, 6, -1,
-1, 6, -1, -1, -1, 7, -1, -1, 7, -1, -1, -1, 8, -1, -1, 8, 6, 7, 8, 0,
1, 2, 3, 4, 5, 6, 7, 8 }
Definition at line 594 of file SundanceHNMesh3D.hpp.
Referenced by refineCell().
Array<int> Sundance::HNMesh3D::faceLeafToGIDMapping_ [private] |
[leaf_faceGID] , the value must be a positive number
Definition at line 519 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and mapGIDToLID().
Array<int> Sundance::HNMesh3D::faceLeafToLIDMapping_ [private] |
[leaf_faceLID] , the value must be a positive number
Definition at line 496 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), facetLID(), getCellDiameters(), getJacobians(), isElementHangingNode(), mapLIDToGID(), maxCofacetLID(), numMaxCofacets(), ownerProcID(), and pushForward().
Array<int> Sundance::HNMesh3D::faceLIDToLeafMapping_ [private] |
[faceLID] if face is leaf(or inside the domain) then > 0 , -1 otherwise
Definition at line 504 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), facetLID(), facetLID_tree(), and mapGIDToLID().
Array< Array<int> > Sundance::HNMesh3D::faceMaxCoF_ [private] |
[faceID][2]
Definition at line 432 of file SundanceHNMesh3D.hpp.
Referenced by addFace(), createCoarseMesh(), createLeafNumbering(), HNMesh3D(), maxCofacetLID(), numMaxCofacets(), numMaxCofacets_ID(), and refineCell().
Array<short int> Sundance::HNMesh3D::faceOrientation_ [private] |
stores the face orientation {0,1,2} [faceID]
Definition at line 427 of file SundanceHNMesh3D.hpp.
Referenced by addFace(), HNMesh3D(), and maxCofacetLID().
Array< Array<int> > Sundance::HNMesh3D::facePoints_ [private] |
[faceID][4]
Definition at line 418 of file SundanceHNMesh3D.hpp.
Referenced by addFace(), facetLID(), getCellDiameters(), getJacobians(), HNMesh3D(), and pushForward().
int HNMesh3D::faceToParentFace [static, private] |
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, -1, -1, 3, -1, -1, -1, 2,
-1, -1, 3, -1, -1, -1, 2, -1, -1, 3, 4, 4, 4, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1, 1, 1, 2, -1, -1, 3, -1, -1, -1, 2, -1, -1, 3, -1, -1, -1, 2,
-1, -1, 3, 4, 4, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 2, -1,
-1, 3, -1, -1, -1, 2, -1, -1, 3, -1, -1, -1, 2, -1, -1, 3, 4, 4, 4, 5,
5, 5, 5, 5, 5, 5, 5, 5 }
Definition at line 592 of file SundanceHNMesh3D.hpp.
Referenced by refineCell().
int HNMesh3D::fInd [static, private] |
used for coarse mesh creation for the face indexing
Definition at line 574 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), refineCell(), and updateLocalCoarseNumbering().
Array<short int> Sundance::HNMesh3D::hangingAccessCount_ [private] |
the counter for each edge which stores hanging node information, when the counter reaches 2 (3 read access)
then the hanging elements can be marked as not hanging
At the beginning this should be equal with the numMaxCofacets
Definition at line 476 of file SundanceHNMesh3D.hpp.
Referenced by addEdge(), addHangingElement(), getHangingElement(), and HNMesh3D().
Array<short int> Sundance::HNMesh3D::indexInParent_ [private] |
[cellID] , the child index in the parent
Definition at line 446 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), HNMesh3D(), and indexInParent().
Array<bool> Sundance::HNMesh3D::isCellLeaf_ [private] |
[cellID] , if the element is leaf
Definition at line 452 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), createLeafNumbering(), HNMesh3D(), oneRefinementIteration(), and refineCell().
Array<bool> Sundance::HNMesh3D::isCellOut_ [private] |
[cellID] , if the cell is complete outside the user defined mesh domain
Definition at line 454 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), createLeafNumbering(), HNMesh3D(), and oneRefinementIteration().
Array<bool> Sundance::HNMesh3D::isEdgeHanging_ [private] |
[edgeID] , true if the edge is hanging , false otherwise
Definition at line 462 of file SundanceHNMesh3D.hpp.
Referenced by addEdge(), createLeafNumbering(), getHangingElement(), HNMesh3D(), isElementHangingNode(), and oneRefinementIteration().
Array<bool> Sundance::HNMesh3D::isFaceHanging_ [private] |
[faceID] , true if the face is hanging , false otherwise
Definition at line 464 of file SundanceHNMesh3D.hpp.
Referenced by addFace(), createLeafNumbering(), getHangingElement(), and isElementHangingNode().
Array<bool> Sundance::HNMesh3D::isPointHanging_ [private] |
[pointID] , true if the node is hanging , false otherwise
Definition at line 460 of file SundanceHNMesh3D.hpp.
Referenced by addVertex(), createLeafNumbering(), getHangingElement(), HNMesh3D(), and isElementHangingNode().
MeshDomainDef Sundance::HNMesh3D::meshDomain_ [mutable, private] |
Definition at line 397 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), and createMesh().
int Sundance::HNMesh3D::myRank_ [private] |
Definition at line 373 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), createLeafNumbering(), and HNMesh3D().
int Sundance::HNMesh3D::nrCellLeafGID_ [private] |
Definition at line 535 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and HNMesh3D().
int Sundance::HNMesh3D::nrCellLeafLID_ [private] |
Definition at line 512 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), HNMesh3D(), and numCells().
int Sundance::HNMesh3D::nrEdgeLeafGID_ [private] |
Definition at line 533 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and HNMesh3D().
int Sundance::HNMesh3D::nrEdgeLeafLID_ [private] |
Definition at line 510 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), HNMesh3D(), and numCells().
Array<int> Sundance::HNMesh3D::nrElem_ [private] |
[4] the nr of ID per dim
Definition at line 403 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), addEdge(), addFace(), addVertex(), createCoarseMesh(), createLeafNumbering(), HNMesh3D(), oneRefinementIteration(), and refineCell().
Array<int> Sundance::HNMesh3D::nrElemOwned_ [private] |
[4] the nr of owned elements per dim
Definition at line 405 of file SundanceHNMesh3D.hpp.
Referenced by HNMesh3D().
int Sundance::HNMesh3D::nrFaceLeafGID_ [private] |
Definition at line 534 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and HNMesh3D().
int Sundance::HNMesh3D::nrFaceLeafLID_ [private] |
Definition at line 511 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), HNMesh3D(), and numCells().
int Sundance::HNMesh3D::nrProc_ [private] |
Number of processors.
Definition at line 372 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), and HNMesh3D().
int Sundance::HNMesh3D::nrVertexLeafGID_ [private] |
leaf GID numbering
Definition at line 532 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and HNMesh3D().
int Sundance::HNMesh3D::nrVertexLeafLID_ [private] |
leaf LID numbering
Definition at line 509 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), HNMesh3D(), and numCells().
int HNMesh3D::offs_Points_x_ = {0, 1, 0, 1 , 0 , 1 , 0 , 1} [static, private] |
the offset in the X coordinate on the reference cell
Definition at line 540 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh().
int HNMesh3D::offs_Points_y_ = {0, 0, 1, 1 , 0 , 0 , 1 , 1} [static, private] |
the offset in the Y coordinate on the reference cell
Definition at line 543 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh().
int HNMesh3D::offs_Points_z_ = {0, 0, 0, 0 , 1 , 1 , 1 , 1 } [static, private] |
the offset in the Z coordinate on the reference cell
Definition at line 546 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh().
Array<int> Sundance::HNMesh3D::parentCellLID_ [private] |
[cellID] , the LID of the parent cell
Definition at line 448 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), createLeafNumbering(), HNMesh3D(), oneRefinementIteration(), and returnParentFacets().
Array< Array<int> > Sundance::HNMesh3D::pointMaxCoF_ [private] |
[pointID][8]
Definition at line 436 of file SundanceHNMesh3D.hpp.
Referenced by addVertex(), createCoarseMesh(), createLeafNumbering(), HNMesh3D(), maxCofacetLID(), numMaxCofacets(), and refineCell().
Array<Point> Sundance::HNMesh3D::points_ [private] |
all the global points index is [ID]
Definition at line 401 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), addVertex(), getCellDiameters(), getJacobians(), HNMesh3D(), nodePosition(), nodePositionView(), oneRefinementIteration(), pushForward(), and refineCell().
Array<short int> Sundance::HNMesh3D::refineCell_ [private] |
Neighbor Cell can mark the cell to provoke refinement.
Definition at line 487 of file SundanceHNMesh3D.hpp.
Referenced by addCell(), HNMesh3D(), and oneRefinementIteration().
RefinementClass Sundance::HNMesh3D::refineClass_ [mutable, private] |
Definition at line 395 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), createMesh(), and oneRefinementIteration().
double HNMesh3D::vertex_X [static, private] |
{ 0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 , 0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 ,
0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 , 0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 ,
0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 , 0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 ,
0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 , 0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 ,
0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 , 0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 ,
0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 , 0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 ,
0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 , 0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 ,
0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 , 0.0 , 1.0/3.0 , 2.0/3.0 , 1.0 }
Definition at line 577 of file SundanceHNMesh3D.hpp.
Referenced by refineCell().
double HNMesh3D::vertex_Y [static, private] |
{ 0.0 , 0.0 , 0.0 , 0.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 ,
2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 1.0 , 1.0 , 1.0 , 1.0 ,
0.0 , 0.0 , 0.0 , 0.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 ,
2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 1.0 , 1.0 , 1.0 , 1.0 ,
0.0 , 0.0 , 0.0 , 0.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 ,
2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 1.0 , 1.0 , 1.0 , 1.0 ,
0.0 , 0.0 , 0.0 , 0.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 ,
2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 1.0 , 1.0 , 1.0 , 1.0 }
Definition at line 579 of file SundanceHNMesh3D.hpp.
Referenced by refineCell().
double HNMesh3D::vertex_Z [static, private] |
{ 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ,
0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ,
1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 ,
1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 , 1.0/3.0 ,
2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 ,
2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 , 2.0/3.0 ,
1.0 , 1.0 , 1.0 , 1.0 , 1.0 , 1.0 , 1.0 , 1.0 ,
1.0 , 1.0 , 1.0 , 1.0 , 1.0 , 1.0 , 1.0 , 1.0 }
Definition at line 581 of file SundanceHNMesh3D.hpp.
Referenced by refineCell().
Array<int> Sundance::HNMesh3D::vertexGIDToLeafMapping_ [private] |
[vertexGID] if vertex is inside the domain then > 0 , -1 otherwise
Definition at line 523 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and mapLIDToGID().
int HNMesh3D::vertexInParentIndex [static, private] |
{ -1, 0, 1, -1, 0, 20, 21, 0, 1, 22, 23, 1, -1, 0, 1, -1, 0, 20, 21, 0,
20, -1, -1, 20, 21, -1, -1, 21, 0, 20, 21, 0, 1, 22, 23, 1, 22, -1, -1, 22,
23, -1, -1, 23, 1, 22, 23, 1, -1, 0, 1, -1, 0, 20, 21, 0, 1, 22, 23, 1,
-1, 0, 1, -1 }
Definition at line 586 of file SundanceHNMesh3D.hpp.
Referenced by refineCell().
Array<int> Sundance::HNMesh3D::vertexLeafToGIDMapping_ [private] |
[leaf_vertexGID] , the value must be a positive number
Definition at line 515 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), and mapGIDToLID().
Array<int> Sundance::HNMesh3D::vertexLeafToLIDMapping_ [private] |
[leaf_vertexLID] , the value must be a positive number
Definition at line 492 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), isElementHangingNode(), mapLIDToGID(), maxCofacetLID(), nodePosition(), nodePositionView(), numMaxCofacets(), and ownerProcID().
Array<int> Sundance::HNMesh3D::vertexLIDToLeafMapping_ [private] |
[vertexLID] if vertex is inside the domain then > 0 , -1 otherwise
Definition at line 500 of file SundanceHNMesh3D.hpp.
Referenced by createLeafNumbering(), facetLID(), facetLID_tree(), and mapGIDToLID().
int HNMesh3D::vertexToParentEdge [static, private] |
{ -1, 0, 0, -1, 1, 20, 20, 3, 1, 20, 20, 3, -1, 5, 5, -1, 2, 21, 21, 4,
22, -1, -1, 23, 22, -1, -1, 23, 6, 24, 24, 7, 2, 21, 21, 4, 22, -1, -1, 23,
22, -1, -1, 23, 6, 24, 24, 7, -1, 8, 8, -1, 9, 25, 25, 10, 9, 25, 25, 10,
-1, 11, 11, -1 }
Definition at line 584 of file SundanceHNMesh3D.hpp.
Referenced by refineCell().
int HNMesh3D::vInd [static, private] |
used for coarse mesh creation for the vertex indexing
Definition at line 568 of file SundanceHNMesh3D.hpp.
Referenced by createCoarseMesh(), refineCell(), and updateLocalCoarseNumbering().