51 const word regionName,
72 extrudedPatch_(patch.
patch()),
75 extrudeMesh(regionPatches);
104 extrudedPatch_(patch.
patch()),
121 dicts[bottomPatchID] = dict_.subDict(
"bottomCoeffs");
122 dicts[sidePatchID] = dict_.subDict(
"sideCoeffs");
123 dicts[topPatchID] = dict_.subDict(
"topCoeffs");
134 patchDict.
set(
"nFaces", 0);
135 patchDict.
set(
"startFace", 0);
147 extrudeMesh(regionPatches);
163 nonManifoldEdge[edgeI] =
true;
175 extrudedPatch_, extrudedPatch_.
points()
193 forAll(pointLocalRegions, facei)
196 const face& pRegions = pointLocalRegions[facei];
199 localRegionPoints[pRegions[fp]] = f[fp];
208 forAll(pointLocalRegions, facei)
210 const face& pRegions = pointLocalRegions[facei];
213 label localRegionI = pRegions[fp];
214 localSum[localRegionI] +=
221 forAll(localSum, localRegionI)
223 label globalRegionI = localToGlobalRegion[localRegionI];
224 globalSum.insert(globalRegionI, localSum[localRegionI]);
231 forAll(localToGlobalRegion, localRegionI)
233 label globalRegionI = localToGlobalRegion[localRegionI];
234 localRegionNormals[localRegionI] = globalSum[globalRegionI];
236 localRegionNormals /=
mag(localRegionNormals);
242 forAll(firstDisp, regionI)
249 localRegionPoints[regionI]
252 const vector&
n = localRegionNormals[regionI];
253 firstDisp[regionI] = model_()(regionPt,
n, 1) - regionPt;
314 forAll(edgePatches, edgeI)
318 if (eFaces.
size() != 2 || nonManifoldEdge[edgeI])
320 edgePatches[edgeI].
setSize(eFaces.
size(), sidePatchID);
329 model_().expansionRatio(),
331 labelList(extrudedPatch_.size(), topPatchID),
332 labelList(extrudedPatch_.size(), bottomPatchID),
void clearOut()
Clear all geometry and addressing.
static void calcPointRegions(const globalMeshData &globalData, const primitiveFacePatch &patch, const PackedBoolList &nonManifoldEdge, const bool syncNonCollocated, faceList &pointGlobalRegions, faceList &pointLocalRegions, labelList &localToGlobalRegion)
Helper: calculate point regions. The point region is the.
#define forAll(list, i)
Loop across all elements in list.
void removeFvBoundary()
Remove boundary patches. Warning: fvPatchFields hold ref to.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A face is a list of labels corresponding to mesh vertices.
extrudePatchMesh(const fvMesh &, const fvPatch &, const dictionary &, const word)
Construct from mesh, patch and dictionary.
const labelList & meshPoints() const
Return labelList of mesh points in patch. They are constructed.
A list of keyword definitions, which are a keyword followed by any number of values (e...
const fileName & facesInstance() const
Return the current instance directory for faces.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
const List< Face > & localFaces() const
Return patch faces addressing into local point list.
void size(const label)
Override size to be inconsistent with allocated storage.
wordList patchTypes(nPatches)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
const Field< PointType > & points() const
Return reference to global points.
Xfer< T > xferCopy(const T &)
Construct by copying the contents of the arg.
label size() const
Return number of elements in table.
const polyPatch & patch() const
Return the polyPatch.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
void addFvPatches(const List< polyPatch * > &, const bool validBoundary=true)
Add boundary patches. Constructor helper.
static void mapCombineScatter(const List< commsStruct > &comms, Container &Values, const int tag, const label comm)
Scatter data. Reverse of combineGather.
A list of faces which address into the list of points.
virtual const objectRegistry & thisDb() const
Return the object registry - resolve conflict polyMesh/lduMesh.
vectorField pointField
pointField is a vectorField.
static autoPtr< extrudeModel > New(const dictionary &)
Select null constructed.
A class for handling words, derived from string.
wordList patchNames(nPatches)
Creates mesh by extruding a patch.
List< label > labelList
A List of labels.
static void mapCombineGather(const List< commsStruct > &comms, Container &Values, const CombineOp &cop, const int tag, const label comm)
const globalMeshData & globalData() const
Return parallel info.
void updateMesh(const mapPolyMesh &)
Update any locally stored mesh information.
defineTypeNameAndDebug(combustionModel, 0)
void setInstance(const fileName &)
Set the instance for mesh files.
label nEdges() const
Return number of edges in patch.
void setSize(const label)
Reset size of List.
const Field< PointType > & faceNormals() const
Return face normals for patch.
Constant dispersed-phase particle diameter model.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
label nInternalEdges() const
Number of internal edges.
Mesh data needed to do the Finite Volume discretisation.
Direct mesh changes based on v1.3 polyTopoChange syntax.
void set(entry *)
Assign a new entry, overwrite any existing entry.
dimensioned< scalar > mag(const dimensioned< Type > &)
const labelListList & edgeFaces() const
Return edge-face addressing.
static autoPtr< polyPatch > New(const word &patchType, const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm)
Return a pointer to a new patch created on freestore from.
void setRefinement(const pointField &firstLayerThickness, const scalar expansionRatio, const label nLayers, const labelList &topPatchID, const labelList &bottomPatchID, const labelListList &extrudeEdgePatches, polyTopoChange &meshMod)
Play commands into polyTopoChange to create layer mesh.
virtual ~extrudePatchMesh()
Destructor.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
virtual bool write() const
Write mesh using IO settings from time.
const Time & time() const
Return the top-level database.
A HashTable to objects of type <T> with a label key.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.