83 const label nbrPolyPatchId_;
104 void operator=(
const faPatch&) =
delete;
168 const word& patchType
183 const label nbrPolyPatchi,
184 const word& patchType
194 const word& patchType
207 const label nbrPolyPatchi
224 const label nbrPolyPatchi
252 const word& patchType,
278 return static_cast<const labelList&
>(*this);
296 return nbrPolyPatchId_;
312 virtual label
size()
const
318 inline label
whichEdge(
const label l)
const
431 template<
class GeometricField,
class Type>
442 template<
class GeometricField,
class Type>
447 const Type* =
nullptr
Generic GeometricField class.
PatchField< Type > Patch
The patch field type for the GeometricBoundaryField.
SubList< T > subList
Declare type of subList.
autoPtr< List< label > > clone() const
Clone.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Buffers for inter-processor communications streams (UOPstream, UIPstream).
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A List obtained as a section of another List.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
void size(const label n)
Older name for setAddressableSize.
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,...
Finite area boundary mesh.
Finite area patch class. Used for 2-D non-Euclidian finite area method.
static wordList constraintTypes()
Return a list of all the constraint patch types.
virtual label size() const
Patch size is the number of edge labels.
faBoundaryMesh BoundaryMesh
The boundary type associated with the patch.
label nPoints() const
Number of patch points.
const labelListList & pointEdges() const
Return patch point-edge addressing.
tmp< vectorField > ngbPolyPatchPointNormals() const
Return normals of neighbour polyPatch joined points.
TypeName("patch")
Runtime type information.
const labelList & pointLabels() const
Return patch point labels.
declareRunTimeSelectionTable(autoPtr, faPatch, dictionary,(const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm, const word &patchType),(name, dict, index, bm, patchType))
virtual ~faPatch()
Destructor.
void resetEdges(const labelUList &newEdges)
Reset the list of edges (use with caution)
virtual bool coupled() const
Return true if this patch is coupled.
const GeometricField::Patch & patchField(const GeometricField &) const
Return the corresponding patchField of the named field.
virtual void makeWeights(scalarField &) const
Make patch weighting factors.
friend Ostream & operator<<(Ostream &, const faPatch &)
virtual void initGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
tmp< Foam::Field< Type > > patchInternalField(const UList< Type > &f, const labelUList &edgeFaces) const
Return given internal field next to patch as patch field.
virtual autoPtr< faPatch > clone(const faBoundaryMesh &bm) const
Construct and return a clone, resetting the boundary mesh.
const labelList & edgeLabels() const noexcept
Return the list of edges.
virtual void makeDeltaCoeffs(scalarField &) const
Make patch edge - neighbour face distances.
List< labelPair > boundaryConnections() const
const scalarField & magEdgeLengths() const
Return edge length magnitudes.
label ngbPolyPatchIndex() const noexcept
The neighbour polyPatch index.
tmp< vectorField > ngbPolyPatchFaceNormals() const
Return normals of neighbour polyPatch faces.
static autoPtr< faPatch > New(const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm)
Return pointer to a new patch created on freestore from dictionary.
const GeometricField::Patch & lookupPatchField(const word &name, const GeometricField *=nullptr, const Type *=nullptr) const
virtual autoPtr< faPatch > clone(const faBoundaryMesh &bm, const labelUList &edgeLabels, const label index, const label nbrPolyPatchi) const
const vectorField & edgeLengths() const
Return edge length vectors.
tmp< Field< Type > > patchInternalField(const UList< Type > &) const
Return given internal field next to patch as patch field.
virtual tmp< vectorField > delta() const
Return cell-centre to face-centre vector.
label nEdges() const noexcept
Number of edge labels (boundary edges) addressed by this patch.
tmp< vectorField > edgeFaceCentres() const
Return neighbour face centres.
void calcPointEdges() const
Calculate patch point-edge addressing.
const faBoundaryMesh & boundaryMesh() const noexcept
Return boundaryMesh reference.
static bool constraintType(const word &pt)
Return true if the given type is a constraint type.
const scalarField & weights() const
Return patch weighting factors.
virtual void initUpdateMesh(PstreamBuffers &)
Initialise the update of the patch topology.
const labelUList & edgeFaces() const
Return edge-face addressing.
virtual void movePoints(PstreamBuffers &, const pointField &)
Correct patch after moving points.
const vectorField & edgeCentres() const
Return edge centres.
labelList boundaryProcs() const
tmp< vectorField > edgeNormals() const
Return edge normals.
void calcPointLabels() const
Calculate patch point labels.
virtual void calcGeometry(PstreamBuffers &)
Calculate the patch geometry.
List< labelPair > boundaryProcSizes() const
virtual void updateMesh(PstreamBuffers &)
Update of the patch topology.
const scalarField & deltaCoeffs() const
Return patch edge - neighbour face distances.
virtual void initMovePoints(PstreamBuffers &, const pointField &)
Initialise the patches for moving points.
void makeCorrectionVectors(vectorField &) const
label whichEdge(const label l) const
Return label of edge in patch from global edge label.
List< T >::subList patchSlice(const List< T > &l) const
Slice list to patch.
label start() const
Patch start in edge list.
Identifies a patch by name and index, with optional physical type and group information.
label index() const noexcept
The index of this patch in the boundaryMesh.
const word & name() const noexcept
The patch name.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
PtrList< faPatch > faPatchList
Store lists of faPatch as a PtrList.
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)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.