100 faceCellsPtr_(nullptr),
116 const polyBoundaryMesh& bm,
117 const word& physicalType,
121 patchIdentifier(
name, index, physicalType, inGroups),
129 faceCellsPtr_(nullptr),
140 const word& patchType
154 start_(
dict.
get<label>(
"startFace")),
156 faceCellsPtr_(nullptr),
169 const polyBoundaryMesh& bm
185 faceCellsPtr_(nullptr),
212 faceCellsPtr_(nullptr),
232 mapAddressing.size(),
239 faceCellsPtr_(nullptr),
249 boundaryMesh_(
p.boundaryMesh_),
250 faceCellsPtr_(nullptr),
290 const auto& cnstrTable = *dictionaryConstructorTablePtr_;
298 if (constraintType(iter.key()))
300 cTypes[i++] = iter.key();
318 return boundaryMesh_;
340 const vectorField& gcc = boundaryMesh_.mesh().cellCentres();
355 tmp<scalarField> tfraction(
new scalarField(size()));
363 const face& curFace = this->operator[](facei);
365 mag(faceAreas[facei])/(curFace.mag(
points) + ROOTVSMALL);
378 patchSlice(boundaryMesh().
mesh().faceOwner())
382 return *faceCellsPtr_;
395 boundaryMesh().
mesh().edges(),
396 boundaryMesh().
mesh().pointEdges()
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
void write(Ostream &os) const
Write (physicalType, inGroups) dictionary entries (without surrounding braces)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
static int disallowGenericPolyPatch
Debug switch to disallow the use of genericPolyPatch.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
Identifies a patch by name and index, with optional physical type and group information.
const polyBoundaryMesh & boundaryMesh() const
Return boundaryMesh reference.
const wordList & inGroups() const noexcept
The (optional) groups that the patch belongs to.
int debugSwitch(const char *name, const int deflt=0)
Lookup debug switch or add default value.
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface...
label appendUniq(const T &val)
Append an element if not already in the list.
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
SubList< label > subList
Declare type of subList.
virtual void clearAddressing()
Clear addressing.
Smooth ATC in cells next to a set of patches supplied by type.
SubField is a Field obtained as a section of another Field, without its own allocation. SubField is derived from a SubList rather than a List.
void clearPatchMeshAddr()
Macros for easy insertion into run-time selection tables.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
virtual void clearGeom()
Clear geometry.
void operator=(const PrimitivePatch< FaceList, PointField > &rhs)
Copy assign faces. Leave points alone (could be a reference).
SubList< face > faceSubList
A SubList of faces.
virtual void movePoints(PstreamBuffers &, const pointField &p)
Correct patches after moving points.
#define forAll(list, i)
Loop across all elements in list.
tmp< scalarField > areaFraction() const
Return the area fraction as the ratio of the stored face area and the area given by the face points...
Abstract base class for point-mesh patch fields.
virtual void movePoints(const Field< point_type > &)
Correct patch after moving points.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
A list of faces which address into the list of points.
A List obtained as a section of another List.
vectorField pointField
pointField is a vectorField.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
virtual void write(Ostream &os) const
Write the polyPatch data as a dictionary.
const labelUList & faceCells() const
Return face-cell addressing.
A class for handling words, derived from Foam::string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
virtual ~polyPatch()
Destructor.
label offset() const
The offset where this patch starts in the boundary face list.
tmp< vectorField > faceCellCentres() const
Return face cell centres.
virtual void updateMesh(PstreamBuffers &)
Update of the patch topology.
polyPatch(const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType)
Construct from components.
void operator=(const polyPatch &)
Assignment.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const vectorField::subField faceAreas() const
Return face normals.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
OBJstream os(runTime.globalPath()/outputName)
defineTypeNameAndDebug(combustionModel, 0)
const labelList & meshEdges() const
Return global edge index for local edges.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
PrimitivePatch< SubList< face >, const pointField & > primitivePatch
A PrimitivePatch with a SubList addressing for the faces, const reference for the point field...
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
static wordList constraintTypes()
Return a list of all the constraint patch types.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
List< word > wordList
A List of words.
Template functions to aid in the implementation of demand driven data.
static bool constraintType(const word &patchType)
Return true if the given type is a constraint type.
virtual bool order(PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const
Return new ordering for primitivePatch.
labelList meshEdges(const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const
Return labels of patch edges in the global edge list using cell addressing.
SubField< vector > subField
Declare type of subField.
Field< vector > vectorField
Specialisation of Field<T> for vector.
virtual void initOrder(PstreamBuffers &, const primitivePatch &) const
Initialize ordering for primitivePatch. Does not.
List< label > labelList
A List of labels.
A class for managing temporary objects.
A patch is a list of labels that address the faces in the global face list.
virtual bool write(const bool valid=true) const
Write using setting from DB.
void deleteDemandDrivenData(DataPtr &dataPtr)
patchIdentifier & operator=(const patchIdentifier &)=default
Copy assignment.
forAllConstIters(mixture.phases(), phase)
const vectorField::subField faceCentres() const
Return face centres.