34 const Foam::scalar Foam::starMesh::smallMergeTol_ = 1
e-3;
35 const Foam::scalar Foam::starMesh::cpMergePointTol_ = 1
e-4;
68 const Foam::label Foam::starMesh::regularAddressingTable[6][8] =
70 { 0, 1, 2, 4, -1, -1, -1, -1},
71 { 0, 1, 2, 3, 4, -1, -1, -1},
72 { 0, 1, 2, 4, 6, -1, -1, -1},
73 { 0, 1, 2, 4, 5, 6, -1, -1},
74 { 7, 6, 5, 3, 2, 1, 0, -1},
75 { 0, 1, 2, 3, 4, 5, 6, 7}
80 const Foam::label Foam::starMesh::sammAddressingTable[9][12] =
82 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
83 { 3, 2, 6, 7, 11, 9, 1, 5, 4, 12, -1, -1},
84 {13, 5, 6, 2, 10, 12, 4, 7, 3, 11, -1, -1},
85 { 2, 3, 0, 1, 10, 11, 12, 4, 8, 9, -1, -1},
86 { 0, 1, 3, 4, 13, 8, 9, 10, 11, 12, -1, -1},
87 {12, 7, 6, 5, 8, 11, 10, 9, -1, -1, -1, -1},
88 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
89 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
90 {11, 3, 15, 12, 4, 8, 10, 2, 14, 13, 5, 9}
108 const Foam::label Foam::starMesh::sammFacePermutationTable[24][8] =
110 {-1, 1, 2, 3, 4, 5, 6, 7},
111 {-1, 3, 4, 5, 6, 1, 2, 7},
112 {-1, 5, 6, 1, 2, 3, 4, 7},
113 {-1, 1, 2, 5, 6, 4, 3, 7},
114 {-1, 3, 4, 1, 2, 6, 5, 7},
115 {-1, 5, 6, 3, 4, 2, 1, 7},
116 {-1, 1, 2, 4, 3, 6, 5, 7},
117 {-1, 3, 4, 6, 5, 2, 1, 7},
118 {-1, 5, 6, 2, 1, 4, 3, 7},
119 {-1, 1, 2, 6, 5, 3, 4, 7},
120 {-1, 3, 4, 2, 1, 5, 6, 7},
121 {-1, 5, 6, 4, 3, 1, 2, 7},
122 {-1, 2, 1, 5, 6, 3, 4, 7},
123 {-1, 4, 3, 1, 2, 5, 6, 7},
124 {-1, 6, 5, 3, 4, 1, 2, 7},
125 {-1, 2, 1, 3, 4, 6, 5, 7},
126 {-1, 4, 3, 5, 6, 2, 1, 7},
127 {-1, 6, 5, 1, 2, 4, 3, 7},
128 {-1, 2, 1, 6, 5, 4, 3, 7},
129 {-1, 4, 3, 2, 1, 6, 5, 7},
130 {-1, 6, 5, 4, 3, 2, 1, 7},
131 {-1, 2, 1, 4, 3, 5, 6, 7},
132 {-1, 4, 3, 6, 5, 1, 2, 7},
133 {-1, 6, 5, 2, 1, 3, 4, 7}
136 const Foam::label Foam::starMesh::shapeFaceLookup[19][9] =
138 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
139 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
140 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
141 {-1, 4, 5, 2, 3, 0, 1, -1, -1},
142 {-1, 1, 0, 5, 4, 2, 3, -1, -1},
143 {-1, 0, 1, 4, -1, 2, 3, -1, -1},
144 {-1, 0, -1, 4, 2, 1, 3, -1, -1},
145 {-1, 3, -1, 2, -1, 1, 0, -1, -1},
146 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
147 {-1, 0, -1, 1, -1, 2, 3, -1, -1},
148 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
149 {-1, 1, 0, 3, 2, 5, 4, 6, -1},
150 {-1, 5, 4, 1, 0, 3, 2, 6, -1},
151 {-1, 2, 3, 0, 1, 4, 5, 6, -1},
152 {-1, 2, 3, 0, 1, 4, 5, 6, -1},
153 {-1, 5, 2, 4, 3, 1, 0, -1, -1},
154 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
155 {-1, -1, -1, -1, -1, -1, -1, -1, -1},
156 {-1, 1, 0, 6, 7, 2, 3, 4, 5}
196 void Foam::starMesh::createPolyMeshData()
198 Info<<
"Creating a polyMesh" <<
endl;
202 Info<<
"\nNumber of internal faces: " 203 << nInternalFaces_ <<
endl;
205 createPolyBoundary();
209 void Foam::starMesh::clearExtraStorage()
211 Info<<
"Clearing extra storage" <<
endl;
213 starPointLabelLookup_.
setSize(0);
216 starCellLabelLookup_.
setSize(0);
217 starCellPermutation_.
setSize(0);
220 boundaryCellFaceIDs_.
setSize(0);
231 const fileName& prefix,
233 const scalar scaleFactor
242 defaultFacesName_(
"defaultFaces"),
243 defaultFacesType_(emptyPolyPatch::typeName),
245 patchPhysicalTypes_(0),
246 starPointLabelLookup_(0),
249 starCellLabelLookup_(0),
250 starCellPermutation_(0),
253 boundaryCellFaceIDs_(0),
257 polyBoundaryPatchStartIndices_(0),
258 pointCellsPtr_(nullptr),
262 readPoints(scaleFactor);
274 createCoupleMatches();
279 mergeCoupleFacePoints();
283 collectBoundaryFaces();
static const cellModel * lookup(const word &)
Look up a model by name and return a pointer to the model or nullptr.
starMesh(const fileName &prefix, const Time &rt, const scalar scaleFactor)
Construct from case name.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Holds information (coordinate and normal) regarding nearest wall point.
void setSize(const label)
Reset size of List.
Template functions to aid in the implementation of demand driven data.
Maps a geometry to a set of cell primitives, which enables geometric cell data to be calculated witho...
void deleteDemandDrivenData(DataPtr &dataPtr)
const dimensionedScalar e
Elementary charge.