45 #ifndef outletStabilised_H 46 #define outletStabilised_H 160 forAll(pFaceCells, pFacei)
162 const cell& pFaceCell =
cells[pFaceCells[pFacei]];
166 label facei = pFaceCell[fi];
171 w[facei] =
pos0(faceFlux_[facei]);
184 return tScheme_().corrected();
189 virtual tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>
198 tScheme_().correction(vf);
219 forAll(pFaceCells, pFacei)
221 const cell& pFaceCell =
cells[pFaceCells[pFacei]];
225 label facei = pFaceCell[fi];
241 return tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
T & ref() const
Return non-const reference to the contents of a non-null managed pointer.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
This boundary condition provides a base class for 'mixed' type boundary conditions, i.e. conditions that mix fixed value and patch-normal gradient conditions.
const cellList & cells() const
const fvMesh & mesh() const
Return mesh reference.
TypeName("outletStabilised")
Runtime type information.
bool isInternalFace(const label faceIndex) const noexcept
Return true if given face label is internal to the mesh.
#define forAll(list, i)
Loop across all elements in list.
tmp< surfaceScalarField > weights(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the interpolation weighting factors.
Base class for direction-mixed boundary conditions.
Outlet-stabilised interpolation scheme which applies upwind differencing to the faces of the cells ad...
A class for handling words, derived from Foam::string.
static tmp< surfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
dimensionedScalar pos0(const dimensionedScalar &ds)
UPtrList< const labelUList > faceCells() const
Return a list of faceCells for each patch.
This boundary condition applies a zero-gradient condition from the patch internal field onto the patc...
A cell is defined as a list of faces with extra functionality.
Mesh data needed to do the Finite Volume discretisation.
const Type * isA(const U &obj)
Check if dynamic_cast to Type is possible.
A class for managing temporary objects.
Abstract base class for surface interpolation schemes.
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.
static constexpr const zero Zero
Global zero (0)