35 const scalar starMesh::smallMergeTol_ = 1
e-3;
36 const scalar starMesh::cpMergePointTol_ = 1
e-4;
42 const cellModel* starMesh::unknownPtr_ = cellModeller::lookup(
"unknown");
43 const cellModel* starMesh::tetPtr_ = cellModeller::lookup(
"tet");
44 const cellModel* starMesh::pyrPtr_ = cellModeller::lookup(
"pyr");
45 const cellModel* starMesh::tetWedgePtr_ = cellModeller::lookup(
"tetWedge");
46 const cellModel* starMesh::prismPtr_ = cellModeller::lookup(
"prism");
47 const cellModel* starMesh::wedgePtr_ = cellModeller::lookup(
"wedge");
48 const cellModel* starMesh::hexPtr_ = cellModeller::lookup(
"hex");
50 const cellModel* starMesh::sammTrim1Ptr_ = cellModeller::lookup(
"sammTrim1");
51 const cellModel* starMesh::sammTrim2Ptr_ = cellModeller::lookup(
"sammTrim2");
52 const cellModel* starMesh::sammTrim3Ptr_ = cellModeller::lookup(
"sammTrim3");
53 const cellModel* starMesh::sammTrim4Ptr_ = cellModeller::lookup(
"sammTrim4");
54 const cellModel* starMesh::sammTrim5Ptr_ = cellModeller::lookup(
"sammTrim5");
55 const cellModel* starMesh::sammTrim8Ptr_ = cellModeller::lookup(
"hexagonalPrism");
59 const label starMesh::regularAddressingTable[6][8] =
61 { 0, 1, 2, 4, -1, -1, -1, -1},
62 { 0, 1, 2, 3, 4, -1, -1, -1},
63 { 0, 1, 2, 4, 6, -1, -1, -1},
64 { 0, 1, 2, 4, 5, 6, -1, -1},
65 { 7, 6, 5, 3, 2, 1, 0, -1},
66 { 0, 1, 2, 3, 4, 5, 6, 7}
71 const label starMesh::sammAddressingTable[9][12] =
73 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
74 { 3, 2, 6, 7, 11, 9, 1, 5, 4, 12, -1, -1},
75 {13, 5, 6, 2, 10, 12, 4, 7, 3, 11, -1, -1},
76 { 2, 3, 0, 1, 10, 11, 12, 4, 8, 9, -1, -1},
77 { 0, 1, 3, 4, 13, 8, 9, 10, 11, 12, -1, -1},
78 {12, 7, 6, 5, 8, 11, 10, 9, -1, -1, -1, -1},
79 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
80 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
81 {11, 3, 15, 12, 4, 8, 10, 2, 14, 13, 5, 9}
99 const label starMesh::sammFacePermutationTable[24][8] =
101 {-1, 1, 2, 3, 4, 5, 6, 7},
102 {-1, 3, 4, 5, 6, 1, 2, 7},
103 {-1, 5, 6, 1, 2, 3, 4, 7},
104 {-1, 1, 2, 5, 6, 4, 3, 7},
105 {-1, 3, 4, 1, 2, 6, 5, 7},
106 {-1, 5, 6, 3, 4, 2, 1, 7},
107 {-1, 1, 2, 4, 3, 6, 5, 7},
108 {-1, 3, 4, 6, 5, 2, 1, 7},
109 {-1, 5, 6, 2, 1, 4, 3, 7},
110 {-1, 1, 2, 6, 5, 3, 4, 7},
111 {-1, 3, 4, 2, 1, 5, 6, 7},
112 {-1, 5, 6, 4, 3, 1, 2, 7},
113 {-1, 2, 1, 5, 6, 3, 4, 7},
114 {-1, 4, 3, 1, 2, 5, 6, 7},
115 {-1, 6, 5, 3, 4, 1, 2, 7},
116 {-1, 2, 1, 3, 4, 6, 5, 7},
117 {-1, 4, 3, 5, 6, 2, 1, 7},
118 {-1, 6, 5, 1, 2, 4, 3, 7},
119 {-1, 2, 1, 6, 5, 4, 3, 7},
120 {-1, 4, 3, 2, 1, 6, 5, 7},
121 {-1, 6, 5, 4, 3, 2, 1, 7},
122 {-1, 2, 1, 4, 3, 5, 6, 7},
123 {-1, 4, 3, 6, 5, 1, 2, 7},
124 {-1, 6, 5, 2, 1, 3, 4, 7}
127 const label starMesh::shapeFaceLookup[19][9] =
129 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
130 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
131 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
132 {-1, 4, 5, 2, 3, 0, 1, -1, -1},
133 {-1, 1, 0, 5, 4, 2, 3, -1, -1},
134 {-1, 0, 1, 4, -1, 2, 3, -1, -1},
135 {-1, 0, -1, 4, 2, 1, 3, -1, -1},
136 {-1, 3, -1, 2, -1, 1, 0, -1, -1},
137 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
138 {-1, 0, -1, 1, -1, 2, 3, -1, -1},
139 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
140 {-1, 1, 0, 3, 2, 5, 4, 6, -1},
141 {-1, 5, 4, 1, 0, 3, 2, 6, -1},
142 {-1, 2, 3, 0, 1, 4, 5, 6, -1},
143 {-1, 2, 3, 0, 1, 4, 5, 6, -1},
144 {-1, 5, 2, 4, 3, 1, 0, -1, -1},
145 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
146 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
147 {-1, 1, 0, 6, 7, 2, 3, 4, 5}
188 void starMesh::createPolyMeshData()
190 Info <<
"Creating a polyMesh" <<
endl;
194 Info<<
"\nNumber of internal faces: "
195 << nInternalFaces_ <<
endl;
197 createPolyBoundary();
203 void starMesh::clearExtraStorage()
205 Info <<
"Clearing extra storage" <<
endl;
207 starPointLabelLookup_.setSize(0);
208 starPointID_.setSize(0);
209 starCellID_.setSize(0);
210 starCellLabelLookup_.setSize(0);
211 starCellPermutation_.setSize(0);
212 cellFaces_.setSize(0);
213 boundaryCellIDs_.setSize(0);
214 boundaryCellFaceIDs_.setSize(0);
227 const scalar scaleFactor
236 defaultFacesName_(
"defaultFaces"),
239 patchPhysicalTypes_(0),
240 starPointLabelLookup_(0),
243 starCellLabelLookup_(0),
244 starCellPermutation_(0),
247 boundaryCellFaceIDs_(0),
251 polyBoundaryPatchStartIndices_(0),
252 pointCellsPtr_(NULL),
256 readPoints(scaleFactor);
268 createCoupleMatches();
273 mergeCoupleFacePoints();
277 collectBoundaryFaces();