34 const cellModel* sammMesh::unknownPtr_ = cellModeller::lookup(
"unknown");
35 const cellModel* sammMesh::hexPtr_ = cellModeller::lookup(
"hex");
36 const cellModel* sammMesh::wedgePtr_ = cellModeller::lookup(
"wedge");
37 const cellModel* sammMesh::prismPtr_ = cellModeller::lookup(
"prism");
38 const cellModel* sammMesh::pyrPtr_ = cellModeller::lookup(
"pyr");
39 const cellModel* sammMesh::tetPtr_ = cellModeller::lookup(
"tet");
40 const cellModel* sammMesh::tetWedgePtr_ = cellModeller::lookup(
"tetWedge");
42 const cellModel* sammMesh::sammTrim1Ptr_ = cellModeller::lookup(
"sammTrim1");
43 const cellModel* sammMesh::sammTrim2Ptr_ = cellModeller::lookup(
"sammTrim2");
44 const cellModel* sammMesh::sammTrim3Ptr_ = cellModeller::lookup(
"sammTrim3");
45 const cellModel* sammMesh::sammTrim4Ptr_ = cellModeller::lookup(
"sammTrim4");
46 const cellModel* sammMesh::sammTrim5Ptr_ = cellModeller::lookup(
"sammTrim5");
47 const cellModel* sammMesh::sammTrim8Ptr_ = cellModeller::lookup(
"hexagonalPrism");
61 const label sammMesh::shapeFaceLookup[19][9] =
63 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
64 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
65 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
66 {-1, 4, 5, 2, 3, 0, 1, -1, -1},
67 {-1, 4, 5, 2, 3, 0, 1, -1, -1},
68 {-1, 0, 1, 4, -1, 2, 3, -1, -1},
69 {-1, 0, -1, 4, 2, 1, 3, -1, -1},
70 {-1, 3, -1, 2, -1, 1, 0, -1, -1},
71 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
72 {-1, 0, -1, 1, -1, 2, 3, -1, -1},
73 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
74 {-1, 5, 4, 0, 1, 2, 3, 6, -1},
76 {-1, 1, 0, 2, 4, 3, 5, 6, -1},
77 {-1, 5, 4, 0, 1, 2, 3, 6, -1},
78 {-1, 5, 4, 1, 0, 3, 2, 6, -1},
79 {-1, 4, 3, 2, 5, 1, 0, -1, -1},
80 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
81 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
82 {-1, 0, 1, 2, 5, 3, 6, 4, 7}
92 reinterpret_cast<cellModel*>(0)
98 reinterpret_cast<label*>(0)
104 void sammMesh::createPolyMeshData()
106 Info <<
"Creating a polyMesh" <<
endl;
110 Info<<
"\nNumber of internal faces: "
111 << nInternalFaces_ <<
endl;
113 createPolyBoundary();
115 label nProblemCells = 0;
118 forAll (cellPolys_, cellI)
120 const labelList& curFaceLabels = cellPolys_[cellI];
122 forAll (curFaceLabels, faceI)
124 if (curFaceLabels[faceI] == -1)
126 Info <<
"cell " << cellI
127 <<
" has got an unmatched face. "
128 <<
"Index: " << cellShapes_[cellI].model().index() << endl
131 <<
"cellPolys: " << cellPolys_[cellI] << endl
142 if (nProblemCells > 0)
144 Info <<
"Number of problem cells: " << nProblemCells <<
endl;
155 const scalar scaleFactor
164 defaultFacesName_(
"defaultFaces"),
167 patchPhysicalTypes_(0),
168 starPointLabelLookup_(0),
169 starCellLabelLookup_(0),
174 polyBoundaryPatchStartIndices_(0),
175 pointCellsPtr_(NULL),
179 fillSammCellShapeTable();
180 fillSammAddressingTable();
182 readPoints(scaleFactor);
193 createBoundaryFaces();