supersonicFreestreamFvPatchVectorField Class Reference

This boundary condition provides a supersonic free-stream condition. More...

Inheritance diagram for supersonicFreestreamFvPatchVectorField:
Collaboration diagram for supersonicFreestreamFvPatchVectorField:

Public Member Functions

 TypeName ("supersonicFreestream")
 Runtime type information. More...
 
 supersonicFreestreamFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 supersonicFreestreamFvPatchVectorField (const supersonicFreestreamFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given supersonicFreestreamFvPatchVectorField. More...
 
 supersonicFreestreamFvPatchVectorField (const supersonicFreestreamFvPatchVectorField &)=delete
 Disallow copy without setting internal field reference. More...
 
 supersonicFreestreamFvPatchVectorField (const supersonicFreestreamFvPatchVectorField &, 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...
 
const vectorUInf () const
 Return the velocity at infinity. More...
 
vectorUInf ()
 Return reference to the velocity at infinity to allow adjustment. More...
 
scalar pInf () const
 Return the pressure at infinity. More...
 
scalar & pInf ()
 Return reference to the pressure at infinity to allow adjustment. More...
 
scalar TInf () const
 Return the temperature at infinity. More...
 
scalar & TInf ()
 Return reference to the temperature at infinity. More...
 
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field. More...
 
virtual void write (Ostream &) const
 Write. More...
 

Detailed Description

This boundary condition provides a supersonic free-stream condition.

  • supersonic outflow is vented according to ???
  • supersonic inflow is assumed to occur according to the Prandtl-Meyer expansion process.
  • subsonic outflow is applied via a zero-gradient condition from inside the domain.
Usage
Property Description Required Default value
T Temperature field name no T
p Pressure field name no p
psi Compressibility field name no psi
UInf free-stream velocity yes
pInf free-stream pressure yes
TInf free-stream temperature yes
gamma heat capacity ratio (cp/Cv) yes

Example of the boundary condition specification:

    <patchName>
    {
        type            supersonicFreestream;
        UInf            500;
        pInf            1e4;
        TInf            265;
        gamma           1.4;
    }

Note: This boundary condition is ill-posed if the free-stream flow is normal to the boundary.

Source files

Definition at line 123 of file supersonicFreestreamFvPatchVectorField.H.

Constructor & Destructor Documentation

◆ supersonicFreestreamFvPatchVectorField() [1/4]

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

Construct from patch, internal field and dictionary.

Definition at line 33 of file supersonicFreestreamFvPatchVectorField.C.

References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, fvPatchField< Type >::operator=(), p, and Foam::Zero.

Referenced by supersonicFreestreamFvPatchVectorField::clone().

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

◆ supersonicFreestreamFvPatchVectorField() [2/4]

Construct by mapping given supersonicFreestreamFvPatchVectorField.

onto a new patch

Definition at line 80 of file supersonicFreestreamFvPatchVectorField.C.

◆ supersonicFreestreamFvPatchVectorField() [3/4]

Disallow copy without setting internal field reference.

◆ supersonicFreestreamFvPatchVectorField() [4/4]

Copy constructor setting internal field reference.

Definition at line 100 of file supersonicFreestreamFvPatchVectorField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "supersonicFreestream"  )

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 191 of file supersonicFreestreamFvPatchVectorField.H.

References supersonicFreestreamFvPatchVectorField::supersonicFreestreamFvPatchVectorField().

Here is the call graph for this function:

◆ UInf() [1/2]

const vector& UInf ( ) const
inline

Return the velocity at infinity.

Definition at line 208 of file supersonicFreestreamFvPatchVectorField.H.

◆ UInf() [2/2]

vector& UInf ( )
inline

Return reference to the velocity at infinity to allow adjustment.

Definition at line 214 of file supersonicFreestreamFvPatchVectorField.H.

◆ pInf() [1/2]

scalar pInf ( ) const
inline

Return the pressure at infinity.

Definition at line 220 of file supersonicFreestreamFvPatchVectorField.H.

◆ pInf() [2/2]

scalar& pInf ( )
inline

Return reference to the pressure at infinity to allow adjustment.

Definition at line 226 of file supersonicFreestreamFvPatchVectorField.H.

◆ TInf() [1/2]

scalar TInf ( ) const
inline

Return the temperature at infinity.

Definition at line 232 of file supersonicFreestreamFvPatchVectorField.H.

◆ TInf() [2/2]

scalar& TInf ( )
inline

Return reference to the temperature at infinity.

to allow adjustment

Definition at line 239 of file supersonicFreestreamFvPatchVectorField.H.

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 120 of file supersonicFreestreamFvPatchVectorField.C.

References Foam::atan(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::log(), Foam::mag(), Foam::pow(), Foam::R(), Foam::sqr(), Foam::sqrt(), and U.

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Definition at line 256 of file supersonicFreestreamFvPatchVectorField.C.

References 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: