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();
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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.
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.