Data Structures | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
starMesh Class Reference

A messy mesh class which supports the possibility of creating a shapeMesh for regular Star meshes (no arbitrary interfaces or collapsed SAMM cells). If any of these special feateres exist, the mesh is created as polyMesh. More...

Collaboration diagram for starMesh:
Collaboration graph
[legend]

Data Structures

struct  pointIndex
 Point indexing structure used by sort to keep track of. More...
 

Public Member Functions

 starMesh (const fileName &prefix, const Time &rt, const scalar scaleFactor)
 Construct from case name. More...
 
 ~starMesh ()
 Destructor. More...
 
void writeMesh ()
 Write mesh. More...
 

Private Member Functions

 starMesh (const starMesh &)
 Disallow default bitwise copy construct. More...
 
void operator= (const starMesh &)
 Disallow default bitwise assignment. More...
 
void readPoints (const scalar scaleFactor)
 Read the points file. More...
 
void readCells ()
 Read the cells file. More...
 
void addRegularCell (const labelList &labels, const label nCreatedCells)
 
void addSAMMcell (const labelList &labels, const label nCreatedCells)
 
void readBoundary ()
 Read the boundary file. More...
 
void fixCollapsedEdges ()
 Check and correct collapsed edges on faces. More...
 
void readCouples ()
 Read couples. More...
 
void createCoupleMatches ()
 Create couple matches. More...
 
void calcPointCells () const
 Calculate pointCells. More...
 
const labelListListpointCells () const
 
void markBoundaryFaces ()
 Mark boundary faces from the quads. More...
 
void collectBoundaryFaces ()
 Collect boundary faces from the quads. More...
 
bool starEqualFace (const face &boundaryFace, const face &cellFace) const
 Specialist version of face comparison to deal with. More...
 
void mergeCoupleFacePoints ()
 Merge couple face points. More...
 
void purgeCellShapes ()
 Purge cell shapes. More...
 
void createPolyCells ()
 Make polyhedral cells and global faces if the mesh is polyhedral. More...
 
void createPolyBoundary ()
 Make polyhedral boundary from shape boundary. More...
 
void createPolyMeshData ()
 Make polyhedral mesh data (packing) More...
 
List< polyPatch * > polyBoundaryPatches (const polyMesh &)
 Add polyhedral boundary. More...
 
void clearExtraStorage ()
 Clear extra storage before creation of the mesh to remove. More...
 

Static Private Member Functions

static label readVtxLabel (IFstream &)
 Read fixed format vertex label. More...
 
static scalar readVtxCmpt (IFstream &)
 Read fixed format vertex coordinate component. More...
 
static void readToNl (IFstream &)
 Read to nl. More...
 

Private Attributes

fileName casePrefix_
 Name of the case. More...
 
const TimerunTime_
 Database. More...
 
pointField points_
 Points supporting the mesh. More...
 
cellShapeList cellShapes_
 Cell shapes. More...
 
faceListList boundary_
 Boundary faces. More...
 
wordList patchTypes_
 Boundary patch types. More...
 
word defaultFacesName_
 Default boundary patch name. More...
 
word defaultFacesType_
 Default boundary patch types. More...
 
wordList patchNames_
 Boundary patch names. More...
 
wordList patchPhysicalTypes_
 Boundary patch physical types. More...
 
labelList starPointLabelLookup_
 Point labels (STAR point numbering is not necessarily contiguous) More...
 
labelList starPointID_
 STAR point number for a given vertex. More...
 
labelList starCellID_
 STAR Cell number for a given cell. More...
 
labelList starCellLabelLookup_
 Cell labels (STAR cell numbering is not necessarily contiguous) More...
 
labelList starCellPermutation_
 STAR Cell permutation label. More...
 
faceListList cellFaces_
 List of faces for every cell. More...
 
labelListList boundaryCellIDs_
 Cell ID for every boundary face. Used in two-tier boundary. More...
 
labelListList boundaryCellFaceIDs_
 Cell face ID for every boundary face. Used in two-tier boundary. More...
 
faceList meshFaces_
 Global face list for polyMesh. More...
 
cellList cellPolys_
 Cells as polyhedra for polyMesh. More...
 
label nInternalFaces_
 Number of internal faces for polyMesh. More...
 
labelList polyBoundaryPatchStartIndices_
 Polyhedral mesh boundary patch start indices. More...
 
labelListListpointCellsPtr_
 Point-cell addressing. Used for topological analysis. More...
 
PtrList< coupledFacePaircouples_
 List of face couples. More...
 
bool isShapeMesh_
 Can the mesh be treated as a shapeMesh? More...
 

Static Private Attributes

static const scalar smallMergeTol_
 Error on unity small tolerance. More...
 
static const scalar cpMergePointTol_
 Couple match relative point merge tolerance. More...
 
static const cellModelunknownPtr_
 Pointers to cell models. More...
 
static const cellModeltetPtr_
 
static const cellModelpyrPtr_
 
static const cellModeltetWedgePtr_
 
static const cellModelprismPtr_
 
static const cellModelwedgePtr_
 
static const cellModelhexPtr_
 
static const cellModelsammTrim1Ptr_
 
static const cellModelsammTrim2Ptr_
 
static const cellModelsammTrim3Ptr_
 
static const cellModelsammTrim4Ptr_
 
static const cellModelsammTrim5Ptr_
 
static const cellModelsammTrim8Ptr_
 
static const label regularAddressingTable [6][8]
 Regular addressing data. More...
 
static const label sammAddressingTable [9][12]
 SAMM addressing data. More...
 
static const label sammFacePermutationTable [24][8]
 
static const label shapeFaceLookup [19][9]
 

Detailed Description

A messy mesh class which supports the possibility of creating a shapeMesh for regular Star meshes (no arbitrary interfaces or collapsed SAMM cells). If any of these special feateres exist, the mesh is created as polyMesh.

Source files

Definition at line 67 of file starMesh.H.

Constructor & Destructor Documentation

◆ starMesh() [1/2]

starMesh ( const starMesh )
private

Disallow default bitwise copy construct.

◆ starMesh() [2/2]

starMesh ( const fileName prefix,
const Time rt,
const scalar  scaleFactor 
)

Construct from case name.

◆ ~starMesh()

~starMesh ( )

Destructor.

Member Function Documentation

◆ operator=()

void operator= ( const starMesh )
private

Disallow default bitwise assignment.

◆ readVtxLabel()

static label readVtxLabel ( IFstream )
staticprivate

Read fixed format vertex label.

◆ readVtxCmpt()

static scalar readVtxCmpt ( IFstream )
staticprivate

Read fixed format vertex coordinate component.

◆ readToNl()

static void readToNl ( IFstream )
staticprivate

Read to nl.

◆ readPoints()

void readPoints ( const scalar  scaleFactor)
private

Read the points file.

◆ readCells()

void readCells ( )
private

Read the cells file.

◆ addRegularCell()

void addRegularCell ( const labelList labels,
const label  nCreatedCells 
)
private

◆ addSAMMcell()

void addSAMMcell ( const labelList labels,
const label  nCreatedCells 
)
private

◆ readBoundary()

void readBoundary ( )
private

Read the boundary file.

◆ fixCollapsedEdges()

void fixCollapsedEdges ( )
private

Check and correct collapsed edges on faces.

Note. If a collapsed edge is found, the mesh is no longer shapeMesh

◆ readCouples()

void readCouples ( )
private

Read couples.

◆ createCoupleMatches()

void createCoupleMatches ( )
private

Create couple matches.

◆ calcPointCells()

void calcPointCells ( ) const
private

Calculate pointCells.

◆ pointCells()

const labelListList& pointCells ( ) const
private

◆ markBoundaryFaces()

void markBoundaryFaces ( )
private

Mark boundary faces from the quads.

◆ collectBoundaryFaces()

void collectBoundaryFaces ( )
private

Collect boundary faces from the quads.

◆ starEqualFace()

bool starEqualFace ( const face boundaryFace,
const face cellFace 
) const
private

Specialist version of face comparison to deal with.

PROSTAR boundary format idiosyncracies

◆ mergeCoupleFacePoints()

void mergeCoupleFacePoints ( )
private

Merge couple face points.

◆ purgeCellShapes()

void purgeCellShapes ( )
private

Purge cell shapes.

◆ createPolyCells()

void createPolyCells ( )
private

Make polyhedral cells and global faces if the mesh is polyhedral.

◆ createPolyBoundary()

void createPolyBoundary ( )
private

Make polyhedral boundary from shape boundary.

(adds more faces to the face list)

◆ createPolyMeshData()

void createPolyMeshData ( )
private

Make polyhedral mesh data (packing)

◆ polyBoundaryPatches()

List<polyPatch*> polyBoundaryPatches ( const polyMesh )
private

Add polyhedral boundary.

◆ clearExtraStorage()

void clearExtraStorage ( )
private

Clear extra storage before creation of the mesh to remove.

a memory peak

◆ writeMesh()

void writeMesh ( )

Write mesh.

Field Documentation

◆ casePrefix_

fileName casePrefix_
private

Name of the case.

Definition at line 72 of file starMesh.H.

◆ runTime_

const Time& runTime_
private

Database.

Definition at line 75 of file starMesh.H.

◆ points_

pointField points_
private

Points supporting the mesh.

Definition at line 78 of file starMesh.H.

◆ cellShapes_

cellShapeList cellShapes_
private

Cell shapes.

Definition at line 81 of file starMesh.H.

◆ boundary_

faceListList boundary_
private

Boundary faces.

Definition at line 84 of file starMesh.H.

◆ patchTypes_

wordList patchTypes_
private

Boundary patch types.

Definition at line 87 of file starMesh.H.

◆ defaultFacesName_

word defaultFacesName_
private

Default boundary patch name.

Definition at line 90 of file starMesh.H.

◆ defaultFacesType_

word defaultFacesType_
private

Default boundary patch types.

Definition at line 93 of file starMesh.H.

◆ patchNames_

wordList patchNames_
private

Boundary patch names.

Definition at line 96 of file starMesh.H.

◆ patchPhysicalTypes_

wordList patchPhysicalTypes_
private

Boundary patch physical types.

Definition at line 99 of file starMesh.H.

◆ starPointLabelLookup_

labelList starPointLabelLookup_
private

Point labels (STAR point numbering is not necessarily contiguous)

Definition at line 102 of file starMesh.H.

◆ starPointID_

labelList starPointID_
private

STAR point number for a given vertex.

Definition at line 105 of file starMesh.H.

◆ starCellID_

labelList starCellID_
private

STAR Cell number for a given cell.

Definition at line 108 of file starMesh.H.

◆ starCellLabelLookup_

labelList starCellLabelLookup_
private

Cell labels (STAR cell numbering is not necessarily contiguous)

Definition at line 111 of file starMesh.H.

◆ starCellPermutation_

labelList starCellPermutation_
private

STAR Cell permutation label.

Definition at line 114 of file starMesh.H.

◆ cellFaces_

faceListList cellFaces_
private

List of faces for every cell.

Definition at line 117 of file starMesh.H.

◆ boundaryCellIDs_

labelListList boundaryCellIDs_
private

Cell ID for every boundary face. Used in two-tier boundary.

reconstruction

Definition at line 121 of file starMesh.H.

◆ boundaryCellFaceIDs_

labelListList boundaryCellFaceIDs_
private

Cell face ID for every boundary face. Used in two-tier boundary.

reconstruction

Definition at line 125 of file starMesh.H.

◆ meshFaces_

faceList meshFaces_
private

Global face list for polyMesh.

Definition at line 128 of file starMesh.H.

◆ cellPolys_

cellList cellPolys_
private

Cells as polyhedra for polyMesh.

Definition at line 131 of file starMesh.H.

◆ nInternalFaces_

label nInternalFaces_
private

Number of internal faces for polyMesh.

Definition at line 134 of file starMesh.H.

◆ polyBoundaryPatchStartIndices_

labelList polyBoundaryPatchStartIndices_
private

Polyhedral mesh boundary patch start indices.

Definition at line 137 of file starMesh.H.

◆ pointCellsPtr_

labelListList* pointCellsPtr_
mutableprivate

Point-cell addressing. Used for topological analysis.

Warning. This point cell addressing list potentially contains duplicate cell entries. Use additional checking

Definition at line 142 of file starMesh.H.

◆ couples_

PtrList<coupledFacePair> couples_
private

List of face couples.

Definition at line 145 of file starMesh.H.

◆ isShapeMesh_

bool isShapeMesh_
private

Can the mesh be treated as a shapeMesh?

Definition at line 148 of file starMesh.H.

◆ smallMergeTol_

const scalar smallMergeTol_
staticprivate

Error on unity small tolerance.

Definition at line 153 of file starMesh.H.

◆ cpMergePointTol_

const scalar cpMergePointTol_
staticprivate

Couple match relative point merge tolerance.

Definition at line 156 of file starMesh.H.

◆ unknownPtr_

const cellModel* unknownPtr_
staticprivate

Pointers to cell models.

Definition at line 159 of file starMesh.H.

◆ tetPtr_

const cellModel* tetPtr_
staticprivate

Definition at line 160 of file starMesh.H.

◆ pyrPtr_

const cellModel* pyrPtr_
staticprivate

Definition at line 161 of file starMesh.H.

◆ tetWedgePtr_

const cellModel* tetWedgePtr_
staticprivate

Definition at line 162 of file starMesh.H.

◆ prismPtr_

const cellModel* prismPtr_
staticprivate

Definition at line 163 of file starMesh.H.

◆ wedgePtr_

const cellModel* wedgePtr_
staticprivate

Definition at line 164 of file starMesh.H.

◆ hexPtr_

const cellModel* hexPtr_
staticprivate

Definition at line 165 of file starMesh.H.

◆ sammTrim1Ptr_

const cellModel* sammTrim1Ptr_
staticprivate

Definition at line 167 of file starMesh.H.

◆ sammTrim2Ptr_

const cellModel* sammTrim2Ptr_
staticprivate

Definition at line 168 of file starMesh.H.

◆ sammTrim3Ptr_

const cellModel* sammTrim3Ptr_
staticprivate

Definition at line 169 of file starMesh.H.

◆ sammTrim4Ptr_

const cellModel* sammTrim4Ptr_
staticprivate

Definition at line 170 of file starMesh.H.

◆ sammTrim5Ptr_

const cellModel* sammTrim5Ptr_
staticprivate

Definition at line 171 of file starMesh.H.

◆ sammTrim8Ptr_

const cellModel* sammTrim8Ptr_
staticprivate

Definition at line 172 of file starMesh.H.

◆ regularAddressingTable

const label regularAddressingTable[6][8]
staticprivate

Regular addressing data.

Definition at line 175 of file starMesh.H.

◆ sammAddressingTable

const label sammAddressingTable[9][12]
staticprivate

SAMM addressing data.

Definition at line 178 of file starMesh.H.

◆ sammFacePermutationTable

const label sammFacePermutationTable[24][8]
staticprivate

Definition at line 180 of file starMesh.H.

◆ shapeFaceLookup

const label shapeFaceLookup[19][9]
staticprivate

Definition at line 182 of file starMesh.H.


The documentation for this class was generated from the following file: