45 bool Foam::wallLayerCells::usesCoupledPatch(
const label cellI)
const 49 const cell& cFaces =
mesh().
cells()[cellI];
53 label faceI = cFaces[cFaceI];
55 label patchID = patches.whichPatch(faceI);
57 if ((patchID >= 0) && (patches[patchID].coupled()))
87 patchNameToIndex.insert(patches[patchI].
name(), patchI);
94 forAll(patchNames, patchNameI)
96 const word&
name = patchNames[patchNameI];
98 if (patchNameToIndex.found(name))
102 nWalls += patches[patchI].
size();
111 label nChangedFaces = 0;
113 forAll(patchNames, patchNameI)
115 const word&
name = patchNames[patchNameI];
117 if (patchNameToIndex.found(name))
127 changedFaces[nChangedFaces] = meshFaceI;
163 Info<<
"wallLayerCells::getRefinement : dumping selected faces to " 164 <<
"selectedFaces.obj" <<
endl;
166 OFstream fcStream(
"selectedFaces.obj");
178 point mid(0.0, 0.0, 0.0);
182 mid += mesh.
points()[f[fp]];
187 <<
"v " << mid.
x() <<
' ' << mid.
y() <<
' ' << mid.
z()
194 <<
"v " << end.x() <<
' ' << end.y() <<
' ' << end.z()
198 fcStream <<
"l " << vertI <<
' ' <<vertI-1 <<
endl;
218 if (info.
valid(regionCalc.
data()) && !usesCoupledPatch(cellI))
225 transfer(refineCells);
const List< Type > & allCellInfo() const
Get allCellInfo.
Container with cells to refine. Refinement given as single direction.
label size() const
Return the number of elements in the PtrList.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
word name(const complex &)
Return a string representation of a complex.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void size(const label)
Override size to be inconsistent with allocated storage.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
const cellList & cells() const
const vector & normal() const
wallLayerCells(const polyMesh &mesh, const List< word > &patchNames, const label nLayers)
Construct from components.
const TrackingData & data() const
Additional data to be passed into container.
A patch is a list of labels that address the faces in the global face list.
A face is a list of labels corresponding to mesh vertices.
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual const pointField & points() const
Return raw points.
const Field< PointType > & faceNormals() const
Return face normals for patch.
const List< Type > & allFaceInfo() const
Get allFaceInfo.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
label start() const
Return start label of this patch in the polyMesh face list.
Holds information regarding nearest wall point. Used in wall refinement.
Holds information regarding type of cell. Used in inside/outside determination in cellClassification...
Mesh consisting of general polyhedral cells.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
label iterate(const label maxIter)
Iterate until no changes or maxIter reached. Returns actual.
virtual const faceList & faces() const
Return raw faces.
bool valid(TrackingData &td) const
Check whether origin has been changed at all or.
Combines edge or vertex in single label. Used to specify cuts across cell circumference.
defineTypeNameAndDebug(combustionModel, 0)