fluxCorrectedVelocityFvPatchVectorField Class Reference

This boundary condition provides a velocity outlet boundary condition for patches where the pressure is specified. The outflow velocity is obtained by "zeroGradient" and then corrected from the flux: More...

Inheritance diagram for fluxCorrectedVelocityFvPatchVectorField:
[legend]
Collaboration diagram for fluxCorrectedVelocityFvPatchVectorField:
[legend]

Public Member Functions

 TypeName ("fluxCorrectedVelocity")
 Runtime type information. More...
 
 fluxCorrectedVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &)
 Construct from patch and internal field. More...
 
 fluxCorrectedVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 fluxCorrectedVelocityFvPatchVectorField (const fluxCorrectedVelocityFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given fluxCorrectedVelocityFvPatchVectorField. More...
 
virtual tmp< fvPatchVectorFieldclone () const
 Construct and return a clone. More...
 
 fluxCorrectedVelocityFvPatchVectorField (const fluxCorrectedVelocityFvPatchVectorField &, const DimensionedField< vector, volMesh > &)
 Construct as copy 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 evaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
 Evaluate the patch field. More...
 
virtual void write (Ostream &) const
 Write. More...
 

Detailed Description

This boundary condition provides a velocity outlet boundary condition for patches where the pressure is specified. The outflow velocity is obtained by "zeroGradient" and then corrected from the flux:

\[ U_p = U_c - n (n \cdot U_c) + \frac{n \phi_p}{|S_f|} \]

where

\( U_p \) = velocity at the patch [m/s]
\( U_c \) = velocity in cells adjacent to the patch [m/s]
\( n \) = patch normal vectors
\( \phi_p \) = flux at the patch [m3/s or kg/s]
\( S_f \) = patch face area vectors [m2]

where

Property Description Required Default value
phi name of flux field no phi
rho name of density field no rho

Example of the boundary condition specification:

    <patchName>
    {
        type            fluxCorrectedVelocity;
        phi             phi;
        rho             rho;
    }
Note
If reverse flow is possible or expected use the pressureInletOutletVelocity condition instead.
See also
Foam::zeroGradientFvPatchField Foam::pressureInletOutletVelocityFvPatchVectorField
Source files

Definition at line 131 of file fluxCorrectedVelocityFvPatchVectorField.H.

Constructor & Destructor Documentation

◆ fluxCorrectedVelocityFvPatchVectorField() [1/4]

Construct from patch and internal field.

Definition at line 37 of file fluxCorrectedVelocityFvPatchVectorField.C.

◆ fluxCorrectedVelocityFvPatchVectorField() [2/4]

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

Construct from patch, internal field and dictionary.

Definition at line 65 of file fluxCorrectedVelocityFvPatchVectorField.C.

References dict, dictionary::getOrDefault(), word::null, and fvPatchField< vector >::operator=().

Here is the call graph for this function:

◆ fluxCorrectedVelocityFvPatchVectorField() [3/4]

Construct by mapping given fluxCorrectedVelocityFvPatchVectorField.

onto a new patch

Definition at line 50 of file fluxCorrectedVelocityFvPatchVectorField.C.

◆ fluxCorrectedVelocityFvPatchVectorField() [4/4]

Construct as copy setting internal field reference.

Definition at line 82 of file fluxCorrectedVelocityFvPatchVectorField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "fluxCorrectedVelocity"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp< fvPatchVectorField > clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 178 of file fluxCorrectedVelocityFvPatchVectorField.H.

◆ clone() [2/2]

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

Construct and return a clone setting internal field reference.

Definition at line 194 of file fluxCorrectedVelocityFvPatchVectorField.H.

◆ evaluate()

void evaluate ( const Pstream::commsTypes  commsType = Pstream::commsTypes::blocking)
virtual

Evaluate the patch field.

Definition at line 97 of file fluxCorrectedVelocityFvPatchVectorField.C.

References Foam::dimArea, Foam::dimDensity, DimensionedField< Type, GeoMesh >::dimensions(), Foam::dimVelocity, Foam::exit(), Foam::FatalError, FatalErrorInFunction, n, Foam::operator==(), and phi.

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Definition at line 141 of file fluxCorrectedVelocityFvPatchVectorField.C.

References os(), ObukhovLength::write(), and Ostream::writeEntryIfDifferent().

Here is the call graph for this function:

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