Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
fvPatch Class Reference

A finiteVolume patch using a polyPatch and a fvBoundaryMesh. More...

Inheritance diagram for fvPatch:
Inheritance graph
[legend]

Public Types

typedef fvBoundaryMesh BoundaryMesh
 

Public Member Functions

 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 polyPatchpatch () const
 Return the polyPatch. More...
 
const wordname () const
 Return name. More...
 
label start () const
 Return start label of this patch in the polyMesh face list. More...
 
virtual label size () const
 Return size. More...
 
virtual bool coupled () const
 Return true if this patch is coupled. More...
 
label index () const
 Return the index of this patch in the fvBoundaryMesh. More...
 
const fvBoundaryMeshboundaryMesh () const
 Return boundaryMesh reference. More...
 
template<class T >
const List< T >::subList patchSlice (const List< T > &l) const
 Slice list to patch. More...
 
virtual const labelUListfaceCells () const
 Return faceCells. More...
 
const vectorFieldCf () const
 Return face centres. More...
 
tmp< vectorFieldCn () const
 Return neighbour cell centres. More...
 
const vectorFieldSf () const
 Return face area vectors. More...
 
const scalarFieldmagSf () const
 Return face area magnitudes. More...
 
tmp< vectorFieldnf () const
 Return face normals. More...
 
virtual tmp< vectorFielddelta () const
 Return cell-centre to face-centre vector. More...
 
const scalarFieldweights () const
 Return patch weighting factors. More...
 
const scalarFielddeltaCoeffs () const
 Return the face - cell distance coeffient. More...
 
template<class Type >
tmp< Field< Type > > patchInternalField (const UList< Type > &) const
 Return given internal field next to patch as patch field. More...
 
template<class Type >
void patchInternalField (const UList< Type > &, Field< Type > &) const
 Return given internal field next to patch as patch field. More...
 
template<class GeometricField , class Type >
const GeometricField::PatchFieldTypepatchField (const GeometricField &) const
 Return the corresponding patchField of the named field. More...
 
template<class GeometricField , class Type >
const GeometricField::PatchFieldTypelookupPatchField (const word &name, const GeometricField *=NULL, const Type *=NULL) const
 Lookup and return the patchField of the named field from the. More...
 
template<class Type >
Foam::tmp< Foam::Field< Type > > patchInternalField (const UList< Type > &f) const
 

Static Public Member Functions

static autoPtr< fvPatchNew (const polyPatch &, const fvBoundaryMesh &)
 Return a pointer to a new patch created on freestore from polyPatch. More...
 
static bool constraintType (const word &pt)
 Return true if the given type is a constraint type. More...
 
static wordList constraintTypes ()
 Return a list of all the constraint patch types. More...
 

Protected Member Functions

virtual void makeWeights (scalarField &) const
 Make patch weighting factors. More...
 
virtual void initMovePoints ()
 Initialise the patches for moving points. More...
 
virtual void movePoints ()
 Correct patches after moving points. More...
 

Friends

class fvBoundaryMesh
 
class surfaceInterpolation
 

Detailed Description

A finiteVolume patch using a polyPatch and a fvBoundaryMesh.

Source files

Definition at line 61 of file fvPatch.H.

Member Typedef Documentation

Definition at line 97 of file fvPatch.H.

Constructor & Destructor Documentation

fvPatch ( const polyPatch p,
const fvBoundaryMesh bm 
)

Construct from polyPatch and fvBoundaryMesh.

Definition at line 46 of file fvPatch.C.

~fvPatch ( )
virtual

Destructor.

Definition at line 55 of file fvPatch.C.

Member Function Documentation

void makeWeights ( scalarField w) const
protectedvirtual

Make patch weighting factors.

Reimplemented in cyclicACMIFvPatch, coupledFvPatch, cyclicFvPatch, cyclicAMIFvPatch, and processorFvPatch.

Definition at line 150 of file fvPatch.C.

Referenced by cyclicAMIFvPatch::makeWeights(), and cyclicACMIFvPatch::makeWeights().

Here is the caller graph for this function:

void initMovePoints ( )
protectedvirtual

Initialise the patches for moving points.

Definition at line 156 of file fvPatch.C.

Referenced by fvBoundaryMesh::movePoints().

Here is the caller graph for this function:

void movePoints ( )
protectedvirtual

Correct patches after moving points.

Definition at line 160 of file fvPatch.C.

Referenced by fvBoundaryMesh::movePoints().

Here is the caller graph for this function:

TypeName ( polyPatch::typeName_()  )

Runtime type information.

declareRunTimeSelectionTable ( autoPtr  ,
fvPatch  ,
polyPatch  ,
(const polyPatch &patch, const fvBoundaryMesh &bm)  ,
(patch, bm)   
)
Foam::autoPtr< Foam::fvPatch > New ( const polyPatch patch,
const fvBoundaryMesh bm 
)
static

Return a pointer to a new patch created on freestore from polyPatch.

Definition at line 33 of file fvPatchNew.C.

References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorIn, Foam::Info, and Foam::nl.

Referenced by fvMeshAdder::add(), and meshRefinement::appendPatch().

Here is the call graph for this function:

Here is the caller graph for this function:

const polyPatch& patch ( ) const
inline
const word& name ( ) const
inline

Return name.

Definition at line 149 of file fvPatch.H.

References patchIdentifier::name().

Referenced by fWallFunctionFvPatchScalarField::checkType(), v2WallFunctionFvPatchScalarField::checkType(), kLowReWallFunctionFvPatchScalarField::checkType(), epsilonWallFunctionFvPatchScalarField::checkType(), omegaWallFunctionFvPatchScalarField::checkType(), externalWallHeatFluxTemperatureFvPatchScalarField::externalWallHeatFluxTemperatureFvPatchScalarField(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::filmPyrolysisRadiativeCoupledMixedFvPatchScalarField(), meshToMesh0::interpolate(), epsilonWallFunctionFvPatchScalarField::manipulateMatrix(), omegaWallFunctionFvPatchScalarField::manipulateMatrix(), mappedVelocityFluxFixedValueFvPatchField::mappedVelocityFluxFixedValueFvPatchField(), fvPatch::patchSlice(), externalCoupledTemperatureMixedFvPatchScalarField::transferData(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::turbulentTemperatureCoupledBaffleMixedFvPatchScalarField(), turbulentTemperatureRadCoupledMixedFvPatchScalarField::turbulentTemperatureRadCoupledMixedFvPatchScalarField(), totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs(), mappedFlowRateFvPatchVectorField::updateCoeffs(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::updateCoeffs(), turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs(), thermalBaffle1DFvPatchScalarField< solidType >::updateCoeffs(), and porousBafflePressureFvPatchField< Type >::updateCoeffs().

Here is the call graph for this function:

Here is the caller graph for this function:

label start ( ) const
inline
virtual label size ( ) const
inlinevirtual

Return size.

Reimplemented in emptyFvPatch.

Definition at line 161 of file fvPatch.H.

Referenced by activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField(), alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField(), alphaFixedPressureFvPatchScalarField::alphaFixedPressureFvPatchScalarField(), alphatPhaseChangeWallFunctionFvPatchScalarField::alphatPhaseChangeWallFunctionFvPatchScalarField(), fvPatch::Cn(), cyclicACMIFvPatch::delta(), externalWallHeatFluxTemperatureFvPatchScalarField::externalWallHeatFluxTemperatureFvPatchScalarField(), filmHeightInletVelocityFvPatchVectorField::filmHeightInletVelocityFvPatchVectorField(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::filmPyrolysisRadiativeCoupledMixedFvPatchScalarField(), filmPyrolysisTemperatureCoupledFvPatchScalarField::filmPyrolysisTemperatureCoupledFvPatchScalarField(), filmPyrolysisVelocityCoupledFvPatchVectorField::filmPyrolysisVelocityCoupledFvPatchVectorField(), fixedFluxPressureFvPatchScalarField::fixedFluxPressureFvPatchScalarField(), fixedNormalInletOutletVelocityFvPatchVectorField::fixedNormalInletOutletVelocityFvPatchVectorField(), fvPatchField< Type >::fvPatchField(), fvsPatchField< Type >::fvsPatchField(), greyDiffusiveRadiationMixedFvPatchScalarField::greyDiffusiveRadiationMixedFvPatchScalarField(), greyDiffusiveViewFactorFixedValueFvPatchScalarField::greyDiffusiveViewFactorFixedValueFvPatchScalarField(), inclinedFilmNusseltHeightFvPatchScalarField::inclinedFilmNusseltHeightFvPatchScalarField(), inclinedFilmNusseltInletVelocityFvPatchVectorField::inclinedFilmNusseltInletVelocityFvPatchVectorField(), inletOutletTotalTemperatureFvPatchScalarField::inletOutletTotalTemperatureFvPatchScalarField(), fvMeshSubset::interpolate(), epsilonWallFunctionFvPatchScalarField::manipulateMatrix(), omegaWallFunctionFvPatchScalarField::manipulateMatrix(), MarshakRadiationFvPatchScalarField::MarshakRadiationFvPatchScalarField(), movingWallVelocityFvPatchVectorField::movingWallVelocityFvPatchVectorField(), fvPatch::patchSlice(), phaseHydrostaticPressureFvPatchScalarField::phaseHydrostaticPressureFvPatchScalarField(), pressureDirectedInletOutletVelocityFvPatchVectorField::pressureDirectedInletOutletVelocityFvPatchVectorField(), pressureDirectedInletVelocityFvPatchVectorField::pressureDirectedInletVelocityFvPatchVectorField(), pressureInletOutletParSlipVelocityFvPatchVectorField::pressureInletOutletParSlipVelocityFvPatchVectorField(), pressureInletOutletVelocityFvPatchVectorField::pressureInletOutletVelocityFvPatchVectorField(), pressureInletVelocityFvPatchVectorField::pressureInletVelocityFvPatchVectorField(), pressureNormalInletOutletVelocityFvPatchVectorField::pressureNormalInletOutletVelocityFvPatchVectorField(), prghPressureFvPatchScalarField::prghPressureFvPatchScalarField(), prghTotalPressureFvPatchScalarField::prghTotalPressureFvPatchScalarField(), fvPatchMapper::size(), SRFFreestreamVelocityFvPatchVectorField::SRFFreestreamVelocityFvPatchVectorField(), SRFVelocityFvPatchVectorField::SRFVelocityFvPatchVectorField(), SRFWallVelocityFvPatchVectorField::SRFWallVelocityFvPatchVectorField(), supersonicFreestreamFvPatchVectorField::supersonicFreestreamFvPatchVectorField(), thermalBaffle1DFvPatchScalarField< solidType >::thermalBaffle1DFvPatchScalarField(), totalPressureFvPatchScalarField::totalPressureFvPatchScalarField(), totalTemperatureFvPatchScalarField::totalTemperatureFvPatchScalarField(), turbulentHeatFluxTemperatureFvPatchScalarField::turbulentHeatFluxTemperatureFvPatchScalarField(), turbulentIntensityKineticEnergyInletFvPatchScalarField::turbulentIntensityKineticEnergyInletFvPatchScalarField(), turbulentMixingLengthDissipationRateInletFvPatchScalarField::turbulentMixingLengthDissipationRateInletFvPatchScalarField(), turbulentMixingLengthFrequencyInletFvPatchScalarField::turbulentMixingLengthFrequencyInletFvPatchScalarField(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::turbulentTemperatureCoupledBaffleMixedFvPatchScalarField(), turbulentTemperatureRadCoupledMixedFvPatchScalarField::turbulentTemperatureRadCoupledMixedFvPatchScalarField(), uniformDensityHydrostaticPressureFvPatchScalarField::uniformDensityHydrostaticPressureFvPatchScalarField(), uniformTotalPressureFvPatchScalarField::uniformTotalPressureFvPatchScalarField(), variableHeightFlowRateFvPatchScalarField::variableHeightFlowRateFvPatchScalarField(), wallHeatTransferFvPatchScalarField::wallHeatTransferFvPatchScalarField(), waveSurfacePressureFvPatchScalarField::waveSurfacePressureFvPatchScalarField(), and wideBandDiffusiveRadiationMixedFvPatchScalarField::wideBandDiffusiveRadiationMixedFvPatchScalarField().

virtual bool coupled ( ) const
inlinevirtual

Return true if this patch is coupled.

Reimplemented in cyclicACMIFvPatch, cyclicAMIFvPatch, regionCoupledWallFvPatch, regionCoupledFvPatch, processorFvPatch, and coupledFvPatch.

Definition at line 167 of file fvPatch.H.

References fvPatch::constraintType(), fvPatch::constraintTypes(), and polyPatch::coupled().

Here is the call graph for this function:

bool constraintType ( const word pt)
static

Return true if the given type is a constraint type.

Definition at line 61 of file fvPatch.C.

Referenced by fvPatch::constraintTypes(), and fvPatch::coupled().

Here is the caller graph for this function:

Foam::wordList constraintTypes ( )
static

Return a list of all the constraint patch types.

Definition at line 67 of file fvPatch.C.

References fvPatch::constraintType(), and List< T >::setSize().

Referenced by fvPatch::coupled().

Here is the call graph for this function:

Here is the caller graph for this function:

label index ( ) const
inline
const fvBoundaryMesh& boundaryMesh ( ) const
inline
const List<T>::subList patchSlice ( const List< T > &  l) const
inline
const Foam::labelUList & faceCells ( ) const
virtual

Return faceCells.

Reimplemented in regionCoupledWallFvPatch, regionCoupledFvPatch, coupledFvPatch, and emptyFvPatch.

Definition at line 93 of file fvPatch.C.

References polyPatch::faceCells().

Referenced by curvatureSeparation::calcCosAngle(), epsilonLowReWallFunctionFvPatchScalarField::calculate(), epsilonWallFunctionFvPatchScalarField::calculate(), omegaWallFunctionFvPatchScalarField::calculate(), epsilonWallFunctionFvPatchScalarField::calculateTurbulenceFields(), omegaWallFunctionFvPatchScalarField::calculateTurbulenceFields(), fvPatch::Cn(), inverseFaceDistanceDiffusivity::correct(), inversePointDistanceDiffusivity::correct(), SSG< BasicTurbulenceModel >::correct(), LRR< BasicTurbulenceModel >::correct(), pointLinear< Type >::correction(), coupledFvPatch::faceCells(), regionCoupledFvPatch::faceCells(), regionCoupledWallFvPatch::faceCells(), epsilonWallFunctionFvPatchScalarField::manipulateMatrix(), omegaWallFunctionFvPatchScalarField::manipulateMatrix(), energyRegionCoupledFvPatchScalarField::patchNeighbourField(), fvPatch::patchSlice(), energyJumpFvPatchScalarField::updateCoeffs(), energyJumpAMIFvPatchScalarField::updateCoeffs(), fWallFunctionFvPatchScalarField::updateCoeffs(), v2WallFunctionFvPatchScalarField::updateCoeffs(), kLowReWallFunctionFvPatchScalarField::updateCoeffs(), epsilonWallFunctionFvPatchScalarField::updateCoeffs(), omegaWallFunctionFvPatchScalarField::updateCoeffs(), leastSquaresVectors::~leastSquaresVectors(), and skewCorrectionVectors::~skewCorrectionVectors().

Here is the call graph for this function:

Here is the caller graph for this function:

const Foam::vectorField & Cf ( ) const

Return face centres.

Definition at line 99 of file fvPatch.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), fvPatch::boundaryMesh(), fvMesh::Cf(), fvPatch::index(), and fvBoundaryMesh::mesh().

Referenced by fvPatch::delta(), meshToMesh0::interpolate(), and fvPatch::patchSlice().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::tmp< Foam::vectorField > Cn ( ) const

Return neighbour cell centres.

Definition at line 105 of file fvPatch.C.

References fvPatch::boundaryMesh(), primitiveMesh::cellCentres(), fvPatch::faceCells(), forAll, fvBoundaryMesh::mesh(), and fvPatch::size().

Referenced by fvPatch::delta(), and fvPatch::patchSlice().

Here is the call graph for this function:

Here is the caller graph for this function:

const Foam::vectorField & Sf ( ) const
const Foam::scalarField & magSf ( ) const
Foam::tmp< Foam::vectorField > nf ( ) const
Foam::tmp< Foam::vectorField > delta ( ) const
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 cyclicACMIFvPatch, cyclicAMIFvPatch, processorFvPatch, cyclicFvPatch, and coupledFvPatch.

Definition at line 142 of file fvPatch.C.

References fvPatch::Cf(), fvPatch::Cn(), and fvPatch::nf().

Referenced by cyclicACMIFvPatch::delta(), cyclicACMIFvPatch::makeWeights(), NamedEnum< Enum, nEnum >::names(), fvPatch::patchSlice(), leastSquaresVectors::~leastSquaresVectors(), and skewCorrectionVectors::~skewCorrectionVectors().

Here is the call graph for this function:

Here is the caller graph for this function:

const Foam::scalarField & weights ( ) const

Return patch weighting factors.

Definition at line 170 of file fvPatch.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), fvPatch::boundaryMesh(), fvPatch::index(), fvBoundaryMesh::mesh(), and surfaceInterpolation::weights().

Referenced by fvPatch::patchSlice().

Here is the call graph for this function:

Here is the caller graph for this function:

const Foam::scalarField & deltaCoeffs ( ) const

Return the face - cell distance coeffient.

except for coupled patches for which the cell-centre to coupled-cell-centre distance coeffient is returned

Definition at line 164 of file fvPatch.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), fvPatch::boundaryMesh(), surfaceInterpolation::deltaCoeffs(), fvPatch::index(), and fvBoundaryMesh::mesh().

Referenced by fvPatch::patchSlice(), totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::updateCoeffs(), and turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs().

Here is the call graph for this function:

Here is the caller graph for this function:

tmp<Field<Type> > patchInternalField ( const UList< Type > &  ) const

Return given internal field next to patch as patch field.

Referenced by fvPatch::patchInternalField(), and fvPatch::patchSlice().

Here is the caller graph for this function:

void patchInternalField ( const UList< Type > &  f,
Field< Type > &  pif 
) const

Return given internal field next to patch as patch field.

Definition at line 52 of file fvPatchTemplates.C.

References forAll, fvPatch::patchField(), and List< Type >::setSize().

Here is the call graph for this function:

const GeometricField::PatchFieldType & patchField ( const GeometricField gf) const

Return the corresponding patchField of the named field.

Definition at line 70 of file fvPatchTemplates.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField().

Referenced by fvPatch::patchInternalField(), fvPatch::patchSlice(), movingWallVelocityFvPatchVectorField::updateCoeffs(), and porousBafflePressureFvPatchField< Type >::updateCoeffs().

Here is the call graph for this function:

Here is the caller graph for this function:

const GeometricField::PatchFieldType & lookupPatchField ( const word name,
const GeometricField = NULL,
const Type *  = NULL 
) const

Lookup and return the patchField of the named field from the.

local objectRegistry. N.B. The dummy pointer arguments are used if this function is instantiated within a templated function to avoid a bug in gcc. See inletOutletFvPatchField.C and outletInletFvPatchField.C

Definition at line 32 of file fvPatchFvMeshTemplates.C.

References boundaryMesh::mesh(), and Foam::name().

Referenced by NamedEnum< Enum, nEnum >::names(), fvPatch::patchSlice(), totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs(), mappedFlowRateFvPatchVectorField::updateCoeffs(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::updateCoeffs(), turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs(), and porousBafflePressureFvPatchField< Type >::updateCoeffs().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::tmp<Foam::Field<Type> > patchInternalField ( const UList< Type > &  f) const

Definition at line 32 of file fvPatchTemplates.C.

References forAll, and fvPatch::patchInternalField().

Here is the call graph for this function:

Friends And Related Function Documentation

friend class fvBoundaryMesh
friend

Definition at line 99 of file fvPatch.H.

friend class surfaceInterpolation
friend

Definition at line 100 of file fvPatch.H.


The documentation for this class was generated from the following files: