41#ifndef Foam_oversetFvPatchField_H
42#define Foam_oversetFvPatchField_H
103 TypeName(oversetFvPatch::typeName_());
224 return tmp<Field<Type>>
::New(this->
size(), Foam::zero{});
231 return tmp<Field<Type>>
::New(this->
size(), Foam::zero{});
245 const lduAddressing& lduAddr,
274 const label interfacei,
288 const label interfacei,
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
UList(const UList< Type > &) noexcept=default
commsTypes
Communications types.
coupledFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A special matrix type and solver, designed for finite volume solutions of scalar equations....
A FieldMapper for finite-volume patch fields.
static tmp< fvPatchField< Type > > New(const word &patchFieldType, const fvPatch &, const DimensionedField< Type, volMesh > &)
Return a pointer to a new patchField created on freestore given.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
const bool setHoleCellValue_
Flag to set hole cell values.
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the evaluation of the value of this patchField...
void storeFringeCoefficients(const fvMatrix< Type > &matrix)
Store fringe coefficients and faces.
virtual tmp< Field< Type > > patchNeighbourField() const
Return neighbour field. Dummy value.
const oversetFvPatch & oversetPatch_
Local reference cast into the overset patch.
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the evaluation of the value of this patchFie...
virtual void updateInterfaceMatrix(solveScalarField &result, const bool add, const lduAddressing &lduAddr, const label patchId, const solveScalarField &psiInternal, const scalarField &coeffs, const direction, const Pstream::commsTypes commsType) const
Update result field based on interface functionality.
const bool fluxCorrection_
Flag to correct fluxes.
oversetFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual void initEvaluate(const Pstream::commsTypes commsType)
Initialise the evaluation of the patch field.
virtual void patchNeighbourField(UList< Type > &pnf) const
Retrieve neighbour field. Dummy value.
scalarField fringeUpperCoeffs_
Fringe upper coefficients.
void adjustPsi(solveScalarField &psi, const lduAddressing &lduAddr, solveScalarField &result) const
Adjust psi for mass correction. Requires storeFringeCoefficients.
label masterPatchID_
Master patch ID.
const Type holeCellValue_
Hole cell value.
void fringeFlux(const fvMatrix< Type > &m, const surfaceScalarField &phi) const
Calculate patch flux (helper function). Requires.
TypeName(oversetFvPatch::typeName_())
Runtime type information.
virtual void manipulateMatrix(fvMatrix< Type > &matrix)
Manipulate matrix.
labelField fringeFaces_
Fringe faces.
tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the evaluation of the gradient of this patchFi...
const bool interpolateHoleCellValue_
Flag to interpolate hole cell values (from nearby non-hole cell).
virtual void initInterfaceMatrixUpdate(Field< Type > &, const bool add, const lduAddressing &, const label interfacei, const Field< Type > &, const scalarField &, const Pstream::commsTypes commsType) const
Initialise neighbour matrix update.
label zoneId_
Zone to sum flux for mass conservation.
virtual tmp< fvPatchField< Type > > clone() const
Return a clone.
tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the evaluation of the gradient of this patch...
virtual void updateInterfaceMatrix(Field< Type > &, const bool add, const lduAddressing &lduAddr, const label patchId, const Field< Type > &, const scalarField &, const Pstream::commsTypes commsType) const
Update result field based on interface functionality.
scalarField fringeLowerCoeffs_
Fringe lower coefficients.
virtual tmp< fvPatchField< Type > > clone(const DimensionedField< Type, volMesh > &iF) const
Clone with an internal field reference.
Patch for indicating interpolated boundaries (in overset meshes).
oversetLduInterfaceField()
Construct given coupled patch.
A class for managing temporary objects.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
const volScalarField & psi
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
OBJstream os(runTime.globalPath()/outputName)
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void add(DimensionedField< scalar, GeoMesh > &result, const dimensioned< scalar > &dt1, const DimensionedField< scalar, GeoMesh > &f2)
Field< solveScalar > solveScalarField
Field< label > labelField
Specialisation of Field<T> for label.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.