42#ifndef Foam_polyPatch_H
43#define Foam_polyPatch_H
58class polyBoundaryMesh;
150 const word& patchType
165 const word& patchType
181 const word& patchType
203 const word& patchType
274 (*
this, bm,
index, mapAddressing, newStart);
283 const word& patchType,
303 const word& patchType,
452 inline label
whichFace(
const label l)
const
SubField< Type > subField
Declare type of subField.
SubList< T > subList
Declare type of subList.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of faces which address into the list of points.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
SubField is a Field obtained as a section of another Field, without its own allocation....
A List obtained as a section of another List.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
A List with indirect addressing. Like IndirectList but does not store addressing.
static const UList< label > & null()
Return a UList reference to a nullObject.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
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 range or interval of labels defined by a start and a size.
void movePoints()
Update for new mesh geometry.
Identifies a patch by name and index, with optional physical type and group information.
const word & physicalType() const noexcept
The (optional) physical type of the patch.
const wordList & inGroups() const noexcept
The (optional) groups that the patch belongs to.
label index() const noexcept
The index of this patch in the boundaryMesh.
const word & name() const noexcept
The patch name.
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.
virtual autoPtr< polyPatch > clone(const polyBoundaryMesh &bm) const
Construct and return a clone, resetting the boundary mesh.
static wordList constraintTypes()
Return a list of all the constraint patch types.
const List< T >::subList patchSlice(const UList< T > &l) const
Slice list to patch.
virtual void updateMesh(PstreamBuffers &)
Update of the patch topology.
label whichFace(const label l) const
Return label of face in patch from global face label.
const vectorField::subField faceAreas() const
Return face normals.
static autoPtr< polyPatch > New(const word &patchType, const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm)
Return pointer to a new patch created on freestore from components.
virtual void newInternalProcFaces(label &, label &) const
Return number of new internal of this polyPatch faces.
label offset() const
The offset where this patch starts in the boundary face list.
TypeName("patch")
Runtime type information.
virtual label neighbPolyPatchID() const
Return nbr patchID.
declareRunTimeSelectionTable(autoPtr, polyPatch, word,(const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType),(name, size, start, index, bm, patchType))
const UIndirectList< T > patchInternalList(const UList< T > &internalValues) const
Extract face cell data.
virtual bool coupled() const
Return true if this patch is geometrically coupled (i.e. faces and.
friend Ostream & operator<<(Ostream &, const polyPatch &)
virtual bool masterImplicit() const
Return implicit master.
virtual void initGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
virtual autoPtr< polyPatch > clone(const labelList &faceCells) const
Construct and return a clone, setting faceCells.
virtual void clearGeom()
Clear geometry.
virtual void initOrder(PstreamBuffers &, const primitivePatch &) const
Initialize ordering for primitivePatch. Does not.
label start() const
Return start label of this patch in the polyMesh face list.
const polyBoundaryMesh & boundaryMesh() const
Return boundaryMesh reference.
virtual autoPtr< polyPatch > clone(const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart) const
virtual const labelUList & nbrCells() const
Return nbrCells.
const vectorField::subField faceCentres() const
Return face centres.
virtual void movePoints(PstreamBuffers &, const pointField &p)
Correct patches after moving points.
virtual ~polyPatch()
Destructor.
virtual bool setTopology(polyTopoChange &)
Collect topology changes in a polyTopoChange object.
const Field< T >::subField patchSlice(const Field< T > &l) const
Slice Field to patch.
static bool constraintType(const word &pt)
Return true if the given type is a constraint type.
virtual bool changeTopology() const
virtual refPtr< labelListList > mapCollocatedFaces() const
Return mapped collocated faces.
void operator=(const polyPatch &)
Assignment.
labelRange range() const
Return start/size range of this patch.
virtual autoPtr< polyPatch > clone(const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) const
virtual void initUpdateMesh(PstreamBuffers &)
Initialise the update of the patch topology.
virtual bool order(PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const
Return new ordering for primitivePatch.
virtual void clearAddressing()
Clear addressing.
static int disallowGenericPolyPatch
Debug switch to disallow the use of genericPolyPatch.
virtual void calcGeometry(PstreamBuffers &)
Calculate the patch geometry.
tmp< vectorField > faceCellCentres() const
Return face cell centres.
virtual word neighbRegionID() const
Return neighbour region name.
virtual void initMovePoints(PstreamBuffers &, const pointField &)
Initialise the patches for moving points.
declareRunTimeSelectionTable(autoPtr, polyPatch, dictionary,(const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType),(name, dict, index, bm, patchType))
const labelUList & faceCells() const
Return face-cell addressing.
const labelList & meshEdges() const
Return global edge index for local edges.
tmp< scalarField > areaFraction() const
Direct mesh changes based on v1.3 polyTopoChange syntax.
A class for managing references or pointers (no reference counting)
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
OBJstream os(runTime.globalPath()/outputName)
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
PtrList< polyPatch > polyPatchList
Store lists of polyPatch as a PtrList.
List< word > wordList
A List of words.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes)
labelRange operator()(const polyPatch &pp) const
Conversion/extraction to labelRange operation (functor).
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.