41 #ifndef oversetFvPatchField_H 42 #define oversetFvPatchField_H 103 TypeName(oversetFvPatch::typeName_());
170 const lduAddressing& lduAddr,
205 const tmp<scalarField>&
236 const lduAddressing& lduAddr,
265 const label interfacei,
279 const label interfacei,
Field< solveScalar > solveScalarField
commsTypes
Communications types.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
void fringeFlux(const fvMatrix< Type > &m, const surfaceScalarField &phi) const
Calculate patch flux (helper function). Requires.
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 interpolateHoleCellValue_
Flag to interpolate hole cell values (from nearby non-hole cell)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
virtual tmp< Field< Type > > patchNeighbourField() const
Return neighbour field. Dummy.
Patch for indicating interpolated boundaries (in overset meshes).
tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the evaluation of the gradient of this patch...
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the evaluation of the value of this patchField...
virtual void initEvaluate(const Pstream::commsTypes commsType)
Initialise the evaluation of the patch field.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
void storeFringeCoefficients(const fvMatrix< Type > &matrix)
Store fringe coefficients and faces.
const bool setHoleCellValue_
Flag to set hole cell values.
A FieldMapper for finite-volume patch fields.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
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.
Abstract base class for coupled patches.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
oversetFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
void adjustPsi(solveScalarField &psi, const lduAddressing &lduAddr, solveScalarField &result) const
Adjust psi for mass correction. Requires storeFringeCoefficients.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
label size() const noexcept
The number of elements in the container.
OBJstream os(runTime.globalPath()/outputName)
label zoneId_
Zone to sum flux for mass conservation.
tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the evaluation of the gradient of this patchFi...
virtual tmp< fvPatchField< Type > > clone() const
Return a clone.
const oversetFvPatch & oversetPatch_
Local reference cast into the overset patch.
label masterPatchID_
Master patch ID.
const Type holeCellValue_
Hole cell value.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the evaluation of the value of this patchFie...
scalarField fringeUpperCoeffs_
Fringe upper coefficients.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
labelField fringeFaces_
Fringe faces.
const volScalarField & psi
The class contains the addressing required by the lduMatrix: upper, lower and losort.
const bool fluxCorrection_
Flag to correct fluxes.
virtual void manipulateMatrix(fvMatrix< Type > &matrix)
Manipulate matrix.
virtual void write(Ostream &os) const
Write.
TypeName(oversetFvPatch::typeName_())
Runtime type information.
A class for managing temporary objects.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Abstract base class for overset coupled interface 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.
scalarField fringeLowerCoeffs_
Fringe lower coefficients.
Boundary condition for use on overset patches. To be run in combination with special dynamicFvMesh ty...