Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
sammMesh Class Reference

A messy mesh class which supports the possibility of creating a shapeMesh for regular Samm 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 sammMesh:
Collaboration graph
[legend]

Public Member Functions

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

Private Member Functions

 sammMesh (const sammMesh &)
 Disallow default bitwise copy construct. More...
 
void operator= (const sammMesh &)
 Disallow default bitwise assignment. More...
 
void fillSammCellShapeTable ()
 Fill SAMM lookup tables. More...
 
void fillSammAddressingTable ()
 
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 label typeFlag, const labelList &globalLabels, 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 calcPointCells () const
 Calculate pointCells. More...
 
const labelListListpointCells () const
 
void createBoundaryFaces ()
 Create boundary faces from the quads. More...
 
bool sammEqualFace (const face &boundaryFace, const face &cellFace) const
 Specialist version of face comparison to deal with. 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...
 

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 (SAMM point numbering is not necessarily contiguous) More...
 
labelList starCellLabelLookup_
 Point labels (SAMM point numbering is not necessarily contiguous) More...
 
faceListList cellFaces_
 List of faces for every cell. 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...
 
bool isShapeMesh_
 Can the mesh be treated as a shapeMesh? More...
 

Static Private Attributes

static const cellModelunknownPtr_
 Pointers to cell models. More...
 
static const cellModelhexPtr_
 
static const cellModelwedgePtr_
 
static const cellModelprismPtr_
 
static const cellModelpyrPtr_
 
static const cellModeltetPtr_
 
static const cellModeltetWedgePtr_
 
static const cellModelsammTrim1Ptr_
 
static const cellModelsammTrim2Ptr_
 
static const cellModelsammTrim3Ptr_
 
static const cellModelsammTrim4Ptr_
 
static const cellModelsammTrim5Ptr_
 
static const cellModelsammTrim8Ptr_
 
static const label shapeFaceLookup [19][9]
 
static List< const cellModel * > sammShapeLookup
 SAMM addressing data. More...
 
static List< const label * > sammAddressingTable
 

Detailed Description

A messy mesh class which supports the possibility of creating a shapeMesh for regular Samm 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 53 of file sammMesh.H.

Constructor & Destructor Documentation

◆ sammMesh() [1/2]

sammMesh ( const sammMesh )
private

Disallow default bitwise copy construct.

◆ sammMesh() [2/2]

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

Construct from case name.

◆ ~sammMesh()

~sammMesh ( )

Destructor.

Member Function Documentation

◆ operator=()

void operator= ( const sammMesh )
private

Disallow default bitwise assignment.

◆ fillSammCellShapeTable()

void fillSammCellShapeTable ( )
private

Fill SAMM lookup tables.

◆ fillSammAddressingTable()

void fillSammAddressingTable ( )
private

◆ 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 label  typeFlag,
const labelList globalLabels,
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.

◆ calcPointCells()

void calcPointCells ( ) const
private

Calculate pointCells.

◆ pointCells()

const labelListList& pointCells ( ) const
private

◆ createBoundaryFaces()

void createBoundaryFaces ( )
private

Create boundary faces from the quads.

◆ sammEqualFace()

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

Specialist version of face comparison to deal with.

PROSTAR boundary format idiosyncracies

◆ 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.

◆ writeMesh()

void writeMesh ( )

Write mesh.

Field Documentation

◆ casePrefix_

fileName casePrefix_
private

Name of the case.

Definition at line 58 of file sammMesh.H.

◆ runTime_

const Time& runTime_
private

Database.

Definition at line 61 of file sammMesh.H.

◆ points_

pointField points_
private

Points supporting the mesh.

Definition at line 64 of file sammMesh.H.

◆ cellShapes_

cellShapeList cellShapes_
private

Cell shapes.

Definition at line 67 of file sammMesh.H.

◆ boundary_

faceListList boundary_
private

Boundary faces.

Definition at line 70 of file sammMesh.H.

◆ patchTypes_

wordList patchTypes_
private

Boundary patch types.

Definition at line 73 of file sammMesh.H.

◆ defaultFacesName_

word defaultFacesName_
private

Default boundary patch name.

Definition at line 76 of file sammMesh.H.

◆ defaultFacesType_

word defaultFacesType_
private

Default boundary patch types.

Definition at line 79 of file sammMesh.H.

◆ patchNames_

wordList patchNames_
private

Boundary patch names.

Definition at line 82 of file sammMesh.H.

◆ patchPhysicalTypes_

wordList patchPhysicalTypes_
private

Boundary patch physical types.

Definition at line 85 of file sammMesh.H.

◆ starPointLabelLookup_

labelList starPointLabelLookup_
private

Point labels (SAMM point numbering is not necessarily contiguous)

Definition at line 88 of file sammMesh.H.

◆ starCellLabelLookup_

labelList starCellLabelLookup_
private

Point labels (SAMM point numbering is not necessarily contiguous)

Definition at line 91 of file sammMesh.H.

◆ cellFaces_

faceListList cellFaces_
private

List of faces for every cell.

Definition at line 94 of file sammMesh.H.

◆ meshFaces_

faceList meshFaces_
private

Global face list for polyMesh.

Definition at line 97 of file sammMesh.H.

◆ cellPolys_

cellList cellPolys_
private

Cells as polyhedra for polyMesh.

Definition at line 100 of file sammMesh.H.

◆ nInternalFaces_

label nInternalFaces_
private

Number of internal faces for polyMesh.

Definition at line 103 of file sammMesh.H.

◆ polyBoundaryPatchStartIndices_

labelList polyBoundaryPatchStartIndices_
private

Polyhedral mesh boundary patch start indices.

Definition at line 106 of file sammMesh.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 111 of file sammMesh.H.

◆ isShapeMesh_

bool isShapeMesh_
private

Can the mesh be treated as a shapeMesh?

Definition at line 114 of file sammMesh.H.

◆ unknownPtr_

const cellModel* unknownPtr_
staticprivate

Pointers to cell models.

Definition at line 119 of file sammMesh.H.

◆ hexPtr_

const cellModel* hexPtr_
staticprivate

Definition at line 120 of file sammMesh.H.

◆ wedgePtr_

const cellModel* wedgePtr_
staticprivate

Definition at line 121 of file sammMesh.H.

◆ prismPtr_

const cellModel* prismPtr_
staticprivate

Definition at line 122 of file sammMesh.H.

◆ pyrPtr_

const cellModel* pyrPtr_
staticprivate

Definition at line 123 of file sammMesh.H.

◆ tetPtr_

const cellModel* tetPtr_
staticprivate

Definition at line 124 of file sammMesh.H.

◆ tetWedgePtr_

const cellModel* tetWedgePtr_
staticprivate

Definition at line 125 of file sammMesh.H.

◆ sammTrim1Ptr_

const cellModel* sammTrim1Ptr_
staticprivate

Definition at line 127 of file sammMesh.H.

◆ sammTrim2Ptr_

const cellModel* sammTrim2Ptr_
staticprivate

Definition at line 128 of file sammMesh.H.

◆ sammTrim3Ptr_

const cellModel* sammTrim3Ptr_
staticprivate

Definition at line 129 of file sammMesh.H.

◆ sammTrim4Ptr_

const cellModel* sammTrim4Ptr_
staticprivate

Definition at line 130 of file sammMesh.H.

◆ sammTrim5Ptr_

const cellModel* sammTrim5Ptr_
staticprivate

Definition at line 131 of file sammMesh.H.

◆ sammTrim8Ptr_

const cellModel* sammTrim8Ptr_
staticprivate

Definition at line 132 of file sammMesh.H.

◆ shapeFaceLookup

const label shapeFaceLookup[19][9]
staticprivate

Definition at line 134 of file sammMesh.H.

◆ sammShapeLookup

List<const cellModel*> sammShapeLookup
staticprivate

SAMM addressing data.

Definition at line 138 of file sammMesh.H.

◆ sammAddressingTable

List<const label*> sammAddressingTable
staticprivate

Definition at line 139 of file sammMesh.H.


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