flowRateOutletVelocityFvPatchVectorField Class Reference

Velocity outlet boundary condition which corrects the extrapolated velocity to match the specified flow rate. More...

Inheritance diagram for flowRateOutletVelocityFvPatchVectorField:
Collaboration diagram for flowRateOutletVelocityFvPatchVectorField:

Public Member Functions

 TypeName ("flowRateOutletVelocity")
 Runtime type information. More...
 
 flowRateOutletVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 flowRateOutletVelocityFvPatchVectorField (const flowRateOutletVelocityFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fieldMapper &)
 Construct by mapping given. More...
 
 flowRateOutletVelocityFvPatchVectorField (const flowRateOutletVelocityFvPatchVectorField &)=delete
 Disallow copy without setting internal field reference. More...
 
 flowRateOutletVelocityFvPatchVectorField (const flowRateOutletVelocityFvPatchVectorField &, const DimensionedField< vector, volMesh > &)
 Copy constructor setting internal field reference. More...
 
virtual tmp< fvPatchVectorFieldclone (const DimensionedField< vector, volMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field. More...
 
virtual void write (Ostream &) const
 Write. More...
 

Detailed Description

Velocity outlet boundary condition which corrects the extrapolated velocity to match the specified flow rate.

For a mass-based flux:

  • the flow rate should be provided in kg/s
  • if rho is "none" the flow rate is in m^3/s
  • otherwise rho should correspond to the name of the density field
  • if the density field cannot be found in the database, the user must specify the outlet density using the rhoOutlet entry

For a volumetric-based flux:

  • the flow rate is in m^3/s
Usage
Property Description Required Default value
massFlowRate Mass flow rate [kg/s] no
volumetricFlowRate Volumetric flow rate [m^3/s] no
rho Density field name no rho
rhoOutlet Outlet density no

Example of the boundary condition specification for a volumetric flow rate:

    <patchName>
    {
        type                flowRateOutletVelocity;
        volumetricFlowRate  0.2;
        value               uniform (0 0 0);
    }

Example of the boundary condition specification for a mass flow rate:

    <patchName>
    {
        type                flowRateOutletVelocity;
        massFlowRate        0.2;
        rhoOutlet           1.0;
        value               uniform (0 0 0);
    }

The c volumetricFlowRate or massFlowRate entry is a Function1 of time, see Foam::Function1s.

Note:

  • rhoOutlet is required for the case of a mass flow rate, where the density field is not available at start-up
  • The value is positive out of the domain (as an outlet)
  • May not work correctly for transonic outlets
  • Strange behaviour with potentialFoam since the U equation is not solved
See also
Foam::fixedValueFvPatchField Foam::Function1s Foam::flowRateInletVelocityFvPatchVectorField
Source files

Definition at line 130 of file flowRateOutletVelocityFvPatchVectorField.H.

Constructor & Destructor Documentation

◆ flowRateOutletVelocityFvPatchVectorField() [1/4]

flowRateOutletVelocityFvPatchVectorField ( const fvPatch p,
const DimensionedField< vector, volMesh > &  iF,
const dictionary dict 
)

Construct from patch, internal field and dictionary.

Definition at line 74 of file flowRateOutletVelocityFvPatchVectorField.C.

References UPstream::blocking, dict, DimensionedField< Type, GeoMesh >::dimensions(), Foam::dimMassFlux, Foam::dimVolumetricFlux, Foam::evaluate(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Function1< Type >::New(), and p.

Referenced by flowRateOutletVelocityFvPatchVectorField::clone().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ flowRateOutletVelocityFvPatchVectorField() [2/4]

Construct by mapping given.

flowRateOutletVelocityFvPatchVectorField onto a new patch

Definition at line 135 of file flowRateOutletVelocityFvPatchVectorField.C.

◆ flowRateOutletVelocityFvPatchVectorField() [3/4]

Disallow copy without setting internal field reference.

◆ flowRateOutletVelocityFvPatchVectorField() [4/4]

Copy constructor setting internal field reference.

Definition at line 152 of file flowRateOutletVelocityFvPatchVectorField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "flowRateOutletVelocity"  )

Runtime type information.

◆ clone()

virtual tmp<fvPatchVectorField> clone ( const DimensionedField< vector, volMesh > &  iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Definition at line 197 of file flowRateOutletVelocityFvPatchVectorField.H.

References flowRateOutletVelocityFvPatchVectorField::flowRateOutletVelocityFvPatchVectorField().

Here is the call graph for this function:

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 169 of file flowRateOutletVelocityFvPatchVectorField.C.

References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Definition at line 209 of file flowRateOutletVelocityFvPatchVectorField.C.

References Foam::unitAny, fvPatchField< Type >::write(), and Foam::writeEntry().

Here is the call graph for this function:

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