100 faceCellsPtr_(nullptr),
117 const word& physicalType,
129 faceCellsPtr_(nullptr),
140 const word& patchType
149 dict.get<label>(
"nFaces"),
150 dict.get<label>(
"startFace")
154 start_(
dict.get<label>(
"startFace")),
156 faceCellsPtr_(nullptr),
185 faceCellsPtr_(nullptr),
212 faceCellsPtr_(nullptr),
232 mapAddressing.size(),
239 faceCellsPtr_(nullptr),
249 boundaryMesh_(
p.boundaryMesh_),
250 faceCellsPtr_(nullptr),
289 const auto& cnstrTable = *dictionaryConstructorTablePtr_;
297 if (constraintType(iter.key()))
299 cTypes[i++] = iter.key();
317 return boundaryMesh_;
339 const vectorField& gcc = boundaryMesh_.mesh().cellCentres();
362 const face& curFace = this->operator[](facei);
364 mag(faceAreas[facei])/(curFace.
mag(
points) + ROOTVSMALL);
381 return *faceCellsPtr_;
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
SubList< label > subList
Declare type of subList.
void setSize(const label n)
Alias for resize()
label appendUniq(const T &val)
Append an element if not already in the list.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
A list of faces which address into the list of points.
void operator=(const PrimitivePatch< FaceList, PointField > &rhs)
Copy assign faces. Leave points alone (could be a reference).
void clearPatchMeshAddr()
Buffers for inter-processor communications streams (UOPstream, UIPstream).
SubField is a Field obtained as a section of another Field, without its own allocation....
A List obtained as a section of another List.
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface....
virtual const word & constraintType() const
Return the constraint type this pointPatch implements.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Smooth ATC in cells next to a set of patches supplied by type.
A face is a list of labels corresponding to mesh vertices.
scalar mag(const UList< point > &p) const
Magnitude of face area.
virtual bool write()
Write the output fields.
order
Enumeration specifying required accuracy.
void movePoints()
Update for new mesh geometry.
void updateMesh()
Update for new mesh topology.
Identifies a patch by name and index, with optional physical type and group information.
patchIdentifier & operator=(const patchIdentifier &)=default
Copy assignment.
const wordList & inGroups() const noexcept
The (optional) groups that the patch belongs to.
Abstract base class for point-mesh patch fields.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
A patch is a list of labels that address the faces in the global face list.
static wordList constraintTypes()
Return a list of all the constraint patch types.
const vectorField::subField faceAreas() const
Return face normals.
label offset() const
The offset where this patch starts in the boundary face list.
virtual void clearGeom()
Clear geometry.
virtual void initOrder(PstreamBuffers &, const primitivePatch &) const
Initialize ordering for primitivePatch. Does not.
const polyBoundaryMesh & boundaryMesh() const
Return boundaryMesh reference.
const vectorField::subField faceCentres() const
Return face centres.
virtual ~polyPatch()
Destructor.
static bool constraintType(const word &pt)
Return true if the given type is a constraint type.
void operator=(const polyPatch &)
Assignment.
virtual void clearAddressing()
Clear addressing.
static int disallowGenericPolyPatch
Debug switch to disallow the use of genericPolyPatch.
tmp< vectorField > faceCellCentres() const
Return face cell centres.
const labelUList & faceCells() const
Return face-cell addressing.
const labelList & meshEdges() const
Return global edge index for local edges.
tmp< scalarField > areaFraction() const
virtual bool write(const bool valid=true) const
Write using setting from DB.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Template functions to aid in the implementation of demand driven data.
OBJstream os(runTime.globalPath()/outputName)
int debugSwitch(const char *name, const int deflt=0)
Lookup debug switch or add default value.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
List< label > labelList
A List of labels.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
Field< vector > vectorField
Specialisation of Field<T> for vector.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
void deleteDemandDrivenData(DataPtr &dataPtr)
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIters(container, iter)
Iterate across all elements of the container object with const access.