39 #ifndef Foam_fvPatch_H 40 #define Foam_fvPatch_H 88 void operator=(
const fvPatch&) =
delete;
176 return polyPatch_.
name();
180 virtual label
start()
const 182 return polyPatch_.
start();
186 virtual label
size()
const 188 return polyPatch_.size();
206 return polyPatch_.
index();
212 return boundaryMesh_;
305 template<
class GeometricField,
class AnyType =
bool>
315 template<
class GeometricField,
class AnyType =
bool>
320 const AnyType* =
nullptr const GeometricField::Patch & patchField(const GeometricField &gf) const
Return the patch field of the GeometricField corresponding to this patch.
virtual void initMovePoints()
Initialise the patches for moving points.
const scalarField & magSf() const
Return face area magnitudes.
virtual label start() const
Return start label of this patch in the polyMesh face list.
static const fvPatch & lookupPatch(const polyPatch &p)
Lookup the polyPatch index on corresponding fvMesh.
tmp< vectorField > nf() const
Return face normals.
virtual ~fvPatch()
Destructor.
virtual void makeNonOrthoCorrVectors(vectorField &) const
Correct patch non-ortho correction vectors.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
void patchInternalField(const UList< Type > &f, const labelUList &faceCells, Field< Type > &pfld) const
Extract internal field next to patch using faceCells mapping.
Generic GeometricField class.
SubList< T > subList
Declare type of subList.
Cell to surface interpolation scheme. Included in fvMesh.
const GeometricField::Patch & lookupPatchField(const word &name, const GeometricField *=nullptr, const AnyType *=nullptr) const
Lookup the named field from the local registry and return the patch field corresponding to this patch...
Smooth ATC in cells next to a set of patches supplied by type.
faPatchField<Type> abstract base class. This class gives a fat-interface to all derived classes cover...
declareRunTimeSelectionTable(autoPtr, fvPatch, polyPatch,(const polyPatch &patch, const fvBoundaryMesh &bm),(patch, bm))
virtual void makeNonOrthoDeltaCoeffs(scalarField &) const
Correct patch non-ortho deltaCoeffs.
A List obtained as a section of another List.
virtual bool coupled() const
Return true if this patch is geometrically coupled (i.e. faces and.
fvBoundaryMesh BoundaryMesh
The boundary type associated with the patch.
A class for handling words, derived from Foam::string.
virtual const labelUList & faceCells() const
Return faceCells.
const scalarField & weights() const
Return patch weighting factors.
virtual void makeWeights(scalarField &) const
Make patch weighting factors.
const vectorField & Cf() const
Return face centres.
const List< T >::subList patchRawSlice(const List< T > &l) const
Slice List to patch, using the underlying polyPatch information.
const fvBoundaryMesh & boundaryMesh() const noexcept
Return boundaryMesh reference.
virtual label size() const
Return size.
const word & name() const noexcept
The patch name.
TypeName(polyPatch::typeName_())
Runtime type information.
static bool constraintType(const word &patchType)
Return true if the given type is a constraint type.
const vectorField & Sf() const
Return face area vectors.
const List< T >::subList patchSlice(const List< T > &l) const
Slice List to patch, using the virtual patch size.
Specialisations of Field<T> for scalar, vector and tensor.
const scalarField & deltaCoeffs() const
Return the face - cell distance coefficient except for coupled patches for which the cell-centre to c...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
tmp< vectorField > Cn() const
Return neighbour cell centres.
label start() const
Return start label of this patch in the polyMesh face list.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
virtual const word & name() const
Return name.
static autoPtr< fvPatch > New(const polyPatch &, const fvBoundaryMesh &)
Return a pointer to a new patch created on freestore from polyPatch.
Macros to ease declaration of run-time selection tables.
label index() const noexcept
The index of this patch in the boundaryMesh.
A class for managing temporary objects.
A patch is a list of labels that address the faces in the global face list.
const polyPatch & patch() const noexcept
Return the polyPatch.
label index() const noexcept
Return the index of this patch in the fvBoundaryMesh.
virtual bool coupled() const
Return true if this patch is coupled.
virtual tmp< vectorField > delta() const
Return cell-centre to face-centre vector except for coupled patches for which the cell-centre to coup...
virtual void movePoints()
Correct patches after moving points.
static wordList constraintTypes()
Return a list of all the constraint patch types.
PtrList< fvPatch > fvPatchList
Store lists of fvPatch as a PtrList.
virtual void makeDeltaCoeffs(scalarField &) const
Correct patch deltaCoeffs.