A finiteVolume patch using a polyPatch and a fvBoundaryMesh. More...
Public Types | |
typedef fvBoundaryMesh | BoundaryMesh |
The boundary type associated with the patch. More... | |
Public Member Functions | |
virtual void | makeWeights (scalarField &) const |
Make patch weighting factors. More... | |
virtual void | makeDeltaCoeffs (scalarField &) const |
Correct patch deltaCoeffs. More... | |
virtual void | makeNonOrthoDeltaCoeffs (scalarField &) const |
Correct patch non-ortho deltaCoeffs. More... | |
virtual void | makeNonOrthoCorrVectors (vectorField &) const |
Correct patch non-ortho correction vectors. More... | |
virtual void | initMovePoints () |
Initialise the patches for moving points. More... | |
virtual void | movePoints () |
Correct patches after moving points. More... | |
TypeName (polyPatch::typeName_()) | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, fvPatch, polyPatch,(const polyPatch &patch, const fvBoundaryMesh &bm),(patch, bm)) | |
fvPatch (const polyPatch &, const fvBoundaryMesh &) | |
Construct from polyPatch and fvBoundaryMesh. More... | |
virtual | ~fvPatch () |
Destructor. More... | |
const polyPatch & | patch () const noexcept |
Return the polyPatch. More... | |
virtual const word & | name () const |
Return name. More... | |
label | index () const noexcept |
The index of this patch in the boundary mesh. More... | |
label | start () const noexcept |
The patch start within the polyMesh face list. More... | |
virtual label | size () const |
Patch size is the number of faces, but can be overloaded. More... | |
virtual bool | coupled () const |
Return true if this patch is coupled. More... | |
const fvBoundaryMesh & | boundaryMesh () const noexcept |
Return boundaryMesh reference. More... | |
template<class T > | |
const List< T >::subList | patchSlice (const List< T > &values) const |
This patch slice from the complete list, which has size mesh::nFaces(), using the virtual patch size. More... | |
template<class T > | |
const List< T >::subList | boundarySlice (const List< T > &values) const |
This patch slice from the list of boundary values, which has size mesh::nBoundaryFaces(), using the virtual patch size. More... | |
virtual const labelUList & | faceCells () const |
Return faceCells. More... | |
const vectorField & | Cf () const |
Return face centres. More... | |
tmp< vectorField > | Cn () const |
Return neighbour cell centres. More... | |
const vectorField & | Sf () const |
Return face area vectors, like the fvMesh::Sf() method. More... | |
const scalarField & | magSf () const |
Return face area magnitudes, like the fvMesh::magSf() method. More... | |
tmp< vectorField > | unitSf () const |
Return face unit normals, like the fvMesh::unitSf() method. Same as nf(). More... | |
tmp< vectorField > | nf () const |
Return face unit normals, like the fvMesh::unitSf() method Same as unitSf(). More... | |
virtual tmp< vectorField > | delta () const |
Return cell-centre to face-centre vector except for coupled patches for which the cell-centre to coupled-cell-centre vector is returned. More... | |
const scalarField & | weights () const |
Return patch weighting factors. More... | |
const scalarField & | deltaCoeffs () const |
Return the face - cell distance coefficient except for coupled patches for which the cell-centre to coupled-cell-centre distance coefficient is returned. More... | |
template<class Type > | |
void | patchInternalField (const UList< Type > &internalData, const labelUList &addressing, Field< Type > &pfld) const |
Extract internal field next to patch using specified addressing. More... | |
template<class Type > | |
void | patchInternalField (const UList< Type > &internalData, Field< Type > &pfld) const |
Extract internal field next to patch as patch field using faceCells() mapping. More... | |
template<class Type > | |
tmp< Field< Type > > | patchInternalField (const UList< Type > &internalData) const |
Return given internal field next to patch as patch field using faceCells() mapping. More... | |
template<class GeometricField , class AnyType = bool> | |
const GeometricField::Patch & | patchField (const GeometricField &gf) const |
Return the patch field of the GeometricField corresponding to this patch. More... | |
template<class GeometricField , class AnyType = bool> | |
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. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | patchInternalField (const UList< Type > &internalData) const |
Static Public Member Functions | |
static autoPtr< fvPatch > | New (const polyPatch &, const fvBoundaryMesh &) |
Return a pointer to a new patch created on freestore from polyPatch. More... | |
static const fvPatch & | lookupPatch (const polyPatch &p) |
Lookup the polyPatch index on corresponding fvMesh. More... | |
static bool | constraintType (const word &patchType) |
Return true if the given type is a constraint type. More... | |
static wordList | constraintTypes () |
Return a list of all the constraint patch types. More... | |
Friends | |
class | fvBoundaryMesh |
class | surfaceInterpolation |
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
typedef fvBoundaryMesh BoundaryMesh |
fvPatch | ( | const polyPatch & | p, |
const fvBoundaryMesh & | bm | ||
) |
Construct from polyPatch and fvBoundaryMesh.
|
virtual |
Make patch weighting factors.
Reimplemented in cyclicACMIFvPatch, cyclicFvPatch, cyclicAMIFvPatch, coupledFvPatch, and processorFvPatch.
Definition at line 157 of file fvPatch.C.
Referenced by cyclicAMIFvPatch::makeWeights(), and cyclicACMIFvPatch::makeWeights().
|
virtual |
Correct patch deltaCoeffs.
Reimplemented in cyclicAMIFvPatch, and mappedVariableThicknessWallFvPatch.
|
virtual |
Correct patch non-ortho deltaCoeffs.
Reimplemented in cyclicAMIFvPatch.
|
virtual |
Correct patch non-ortho correction vectors.
Reimplemented in cyclicAMIFvPatch.
|
virtual |
|
virtual |
Correct patches after moving points.
Reimplemented in cyclicACMIFvPatch, and cyclicAMIFvPatch.
TypeName | ( | polyPatch::typeName_() | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
fvPatch | , | ||
polyPatch | , | ||
(const polyPatch &patch, const fvBoundaryMesh &bm) | , | ||
(patch, bm) | |||
) |
|
static |
Return a pointer to a new patch created on freestore from polyPatch.
Definition at line 28 of file fvPatchNew.C.
References DebugInFunction, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInLookup, and Foam::foamVersion::patch.
Referenced by fvMeshAdder::add(), and meshRefinement::appendPatch().
|
static |
Lookup the polyPatch index on corresponding fvMesh.
Definition at line 42 of file fvPatch.C.
References fvMesh::boundary(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, and p.
|
inlinenoexcept |
Return the polyPatch.
Definition at line 202 of file fvPatch.H.
Referenced by reconstructedDistanceFunction::constructRDF(), mappedVariableThicknessWallFvPatch::makeDeltaCoeffs(), trackingInverseDistance::markBoundaries(), inverseDistance::markBoundaries(), cyclicACMIFvPatch::movePoints(), parseDriver::pointSize(), cyclicACMIFvPatch::resetPatchAreas(), parseDriver::size(), outletMappedUniformInletHeatAdditionFvPatchField::updateCoeffs(), activeBaffleVelocityFvPatchVectorField::updateCoeffs(), activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs(), and regionSizeDistribution::write().
|
inlinevirtual |
Return name.
Definition at line 210 of file fvPatch.H.
References patchIdentifier::name().
Referenced by fieldExtents::calcFieldExtents(), meshToMesh0::interpolate(), oversetFvPatchField< Type >::manipulateMatrix(), fvMeshDistribute::testField(), cyclicACMIFvPatch::updateAreas(), totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs(), mappedFlowRateFvPatchVectorField::updateCoeffs(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs(), thermalBaffle1DFvPatchScalarField< solidType >::updateCoeffs(), porousBafflePressureFvPatchField::updateCoeffs(), and humidityTemperatureCoupledMixedFvPatchScalarField::updateCoeffs().
|
inlinenoexcept |
The index of this patch in the boundary mesh.
Definition at line 218 of file fvPatch.H.
References patchIdentifier::index().
Referenced by boundaryAdjointContributionIncompressible::laminarDiffusivity(), boundaryAdjointContributionIncompressible::momentumDiffusion(), cyclicAMIFvPatch::movePoints(), boundaryAdjointContributionIncompressible::pab(), boundaryAdjointContributionIncompressible::pb(), boundaryAdjointContributionIncompressible::phiab(), boundaryAdjointContributionIncompressible::phib(), boundaryAdjointContributionIncompressible::pressureSource(), boundaryAdjointContributionIncompressible::tangentVelocitySource(), boundaryAdjointContributionIncompressible::TMVariable1(), boundaryAdjointContributionIncompressible::TMVariable1Diffusion(), boundaryAdjointContributionIncompressible::TMVariable2(), boundaryAdjointContributionIncompressible::TMVariable2Diffusion(), boundaryAdjointContributionIncompressible::turbulentDiffusivity(), boundaryAdjointContributionIncompressible::Uab(), boundaryAdjointContributionIncompressible::Ub(), energyJumpAMIFvPatchScalarField::updateCoeffs(), energyJumpFvPatchScalarField::updateCoeffs(), totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs(), vibrationShellFvPatchScalarField::updateCoeffs(), thermalShellFvPatchScalarField::updateCoeffs(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs(), kLowReWallFunctionFvPatchScalarField::updateCoeffs(), velocityFilmShellFvPatchVectorField::updateCoeffs(), boundaryAdjointContributionIncompressible::velocitySource(), and boundaryAdjointContributionIncompressible::wallDistance().
|
inlinenoexcept |
The patch start within the polyMesh face list.
Definition at line 226 of file fvPatch.H.
References polyPatch::start().
Referenced by CentredFitSnGradData< Polynomial >::calcFit(), inverseFaceDistanceDiffusivity::correct(), inversePointDistanceDiffusivity::correct(), pointLinear< Type >::correction(), dynamicRefineFvMesh::mapFields(), fvMeshAdder::MapSurfaceField(), Foam::oversetAdjustPhi(), fvPatch::patchSlice(), oversetFvPatchField< Type >::storeFringeCoefficients(), fvMeshDistribute::testField(), and mappedVelocityFluxFixedValueFvPatchField::updateCoeffs().
|
inlinevirtual |
Patch size is the number of faces, but can be overloaded.
Reimplemented in emptyFvPatch.
Definition at line 234 of file fvPatch.H.
Referenced by boundaryAdjointContribution::adjointTMVariable1Source(), boundaryAdjointContribution::adjointTMVariable2Source(), fvPatch::boundarySlice(), boundaryAdjointContribution::dJdGradU(), boundaryAdjointContribution::dJdnut(), boundaryAdjointContributionIncompressible::laminarDiffusivity(), fvPatch::patchSlice(), fvPatchMapper::size(), boundaryAdjointContributionIncompressible::thermalDiffusion(), boundaryAdjointContribution::TMVariable1(), boundaryAdjointContribution::TMVariable1Diffusion(), boundaryAdjointContribution::TMVariable2(), and boundaryAdjointContribution::TMVariable2Diffusion().
|
inlinevirtual |
Return true if this patch is coupled.
Reimplemented in cyclicAMIFvPatch, cyclicACMIFvPatch, processorFvPatch, and coupledFvPatch.
Definition at line 242 of file fvPatch.H.
References polyPatch::coupled().
|
static |
Return true if the given type is a constraint type.
Definition at line 74 of file fvPatch.C.
References UList< T >::found().
|
static |
Return a list of all the constraint patch types.
Definition at line 85 of file fvPatch.C.
References forAllConstIters().
|
inlinenoexcept |
Return boundaryMesh reference.
Definition at line 260 of file fvPatch.H.
Referenced by cyclicAMIFvPatch::coupled(), parseDriver::mesh(), cyclicFvPatch::neighbFvPatch(), cyclicACMIFvPatch::neighbFvPatch(), cyclicAMIFvPatch::neighbFvPatch(), cyclicFvPatch::neighbPatch(), cyclicACMIFvPatch::neighbPatch(), cyclicAMIFvPatch::neighbPatch(), cyclicACMIFvPatch::nonOverlapPatch(), totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs(), outletMappedUniformInletHeatAdditionFvPatchField::updateCoeffs(), and porousBafflePressureFvPatchField::updateCoeffs().
This patch slice from the complete list, which has size mesh::nFaces(), using the virtual patch size.
Definition at line 271 of file fvPatch.H.
References fvPatch::size(), fvPatch::start(), and Foam::HashTableOps::values().
Referenced by fvFieldDecomposer::reset().
This patch slice from the list of boundary values, which has size mesh::nBoundaryFaces(), using the virtual patch size.
Definition at line 282 of file fvPatch.H.
References polyPatch::offset(), fvPatch::size(), and Foam::HashTableOps::values().
|
virtual |
Return faceCells.
Reimplemented in coupledFvPatch, oversetFvPatch, and emptyFvPatch.
Definition at line 107 of file fvPatch.C.
Referenced by omegaWallFunctionFvPatchScalarField::calculateTurbulenceFields(), epsilonWallFunctionFvPatchScalarField::calculateTurbulenceFields(), inverseFaceDistanceDiffusivity::correct(), inversePointDistanceDiffusivity::correct(), contactAngleForce::correct(), SSG< BasicTurbulenceModel >::correct(), LRR< BasicTurbulenceModel >::correct(), ThermalPhaseChangePhaseSystem< BasePhaseSystem >::correctInterfaceThermo(), pointLinear< Type >::correction(), coupledFvPatch::faceCells(), cellVolumeWeight::findHoles(), inverseDistance::findHoles(), trackingInverseDistance::markBoundaries(), inverseDistance::markBoundaries(), cellVolumeWeight::markPatchCells(), Foam::oversetAdjustPhi(), oversetFvPatchField< Type >::storeFringeCoefficients(), energyJumpFvPatchScalarField::updateCoeffs(), energyJumpAMIFvPatchScalarField::updateCoeffs(), and kLowReWallFunctionFvPatchScalarField::updateCoeffs().
const Foam::vectorField & Cf | ( | ) | const |
Return face centres.
Definition at line 113 of file fvPatch.C.
References boundaryMesh::mesh().
Referenced by fieldExtents::calcFieldExtents(), coupledFvPatch::delta(), meshToMesh0::interpolate(), cyclicAMIFvPatch::movePoints(), and cyclicACMIFvPatch::resetPatchAreas().
Foam::tmp< Foam::vectorField > Cn | ( | ) | const |
Return neighbour cell centres.
Definition at line 119 of file fvPatch.C.
References mesh.
Referenced by coupledFvPatch::delta().
const Foam::vectorField & Sf | ( | ) | const |
Return face area vectors, like the fvMesh::Sf() method.
Definition at line 125 of file fvPatch.C.
References boundaryMesh::mesh().
Referenced by cyclicAMIFvPatch::movePoints(), cyclicACMIFvPatch::resetPatchAreas(), activeBaffleVelocityFvPatchVectorField::updateCoeffs(), and activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs().
const Foam::scalarField & magSf | ( | ) | const |
Return face area magnitudes, like the fvMesh::magSf() method.
Definition at line 131 of file fvPatch.C.
References boundaryMesh::mesh().
Referenced by parseDriver::areaAverage(), parseDriver::areaSum(), parseDriver::field_faceArea(), cyclicAMIFvPatch::movePoints(), cyclicACMIFvPatch::movePoints(), cyclicACMIFvPatch::resetPatchAreas(), totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs(), outletMappedUniformInletHeatAdditionFvPatchField::updateCoeffs(), activeBaffleVelocityFvPatchVectorField::updateCoeffs(), activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs(), and outletMappedUniformInletFvPatchField< Type >::updateCoeffs().
Foam::tmp< Foam::vectorField > unitSf | ( | ) | const |
Return face unit normals, like the fvMesh::unitSf() method. Same as nf().
Foam::tmp< Foam::vectorField > nf | ( | ) | const |
Return face unit normals, like the fvMesh::unitSf() method Same as unitSf().
Definition at line 143 of file fvPatch.C.
Referenced by ReynoldsAnalogy::Cf(), processorFvPatch::makeWeights(), cyclicFvPatch::makeWeights(), cyclicAMIFvPatch::makeWeights(), cyclicACMIFvPatch::makeWeights(), boundaryAdjointContributionIncompressible::pressureSource(), and boundaryAdjointContributionIncompressible::tangentVelocitySource().
|
virtual |
Return cell-centre to face-centre vector except for coupled patches for which the cell-centre to coupled-cell-centre vector is returned.
Reimplemented in cyclicAMIFvPatch, cyclicACMIFvPatch, processorFvPatch, cyclicFvPatch, and coupledFvPatch.
const Foam::scalarField & weights | ( | ) | const |
Return patch weighting factors.
Definition at line 189 of file fvPatch.C.
References boundaryMesh::mesh().
const Foam::scalarField & deltaCoeffs | ( | ) | const |
Return the face - cell distance coefficient except for coupled patches for which the cell-centre to coupled-cell-centre distance coefficient is returned.
Definition at line 183 of file fvPatch.C.
References boundaryMesh::mesh().
Referenced by contactAngleForce::correct(), totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs(), turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs(), and humidityTemperatureCoupledMixedFvPatchScalarField::updateCoeffs().
|
inline |
Extract internal field next to patch using specified addressing.
internalData | The internal field to extract from | |
addressing | Addressing from patch into internal field | |
[out] | pfld | The extracted patch field. It is always resized according to the patch size(), which can be smaller than the addressing size |
Definition at line 28 of file fvPatchTemplates.C.
References List< Type >::resize_nocopy().
Extract internal field next to patch as patch field using faceCells() mapping.
internalData | The internal field to extract from | |
[out] | pfld | The extracted patch field. It is always resized according to the patch size(), which can be smaller than the faceCells() size |
Definition at line 47 of file fvPatchTemplates.C.
Return given internal field next to patch as patch field using faceCells() mapping.
internalData | The internal field to extract from |
const GeometricField::Patch & patchField | ( | const GeometricField & | gf | ) | const |
Return the patch field of the GeometricField corresponding to this patch.
Definition at line 70 of file fvPatchTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField().
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.
N.B. The dummy pointer arguments are used if this function is instantiated within a templated function to avoid a bug in gcc.
Definition at line 28 of file fvPatchFvMeshTemplates.C.
References boundaryMesh::mesh(), and Foam::name().
Referenced by enthalpySorptionFvPatchScalarField::patchSource(), semiPermeableBaffleMassFractionFvPatchScalarField::phiY(), totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs(), mappedFlowRateFvPatchVectorField::updateCoeffs(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs(), porousBafflePressureFvPatchField::updateCoeffs(), turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs(), and humidityTemperatureCoupledMixedFvPatchScalarField::updateCoeffs().
Foam::tmp<Foam::Field<Type> > patchInternalField | ( | const UList< Type > & | internalData | ) | const |
Definition at line 58 of file fvPatchTemplates.C.
References Foam::New().
|
friend |
|
friend |