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 > &)
 Construct from patch and internal field. 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 thermo: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/5]

Construct from patch and internal field.

Definition at line 35 of file supersonicFreestreamFvPatchVectorField.C.

References Foam::Zero.

Referenced by supersonicFreestreamFvPatchVectorField::clone(), and supersonicFreestreamFvPatchVectorField::supersonicFreestreamFvPatchVectorField().

Here is the caller graph for this function:

◆ supersonicFreestreamFvPatchVectorField() [2/5]

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

Construct from patch, internal field and dictionary.

Definition at line 57 of file supersonicFreestreamFvPatchVectorField.C.

References Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::found(), fvPatch::size(), supersonicFreestreamFvPatchVectorField::supersonicFreestreamFvPatchVectorField(), vectorField(), and Foam::Zero.

Here is the call graph for this function:

◆ supersonicFreestreamFvPatchVectorField() [3/5]

Construct by mapping given supersonicFreestreamFvPatchVectorField.

onto a new patch

Definition at line 104 of file supersonicFreestreamFvPatchVectorField.C.

References supersonicFreestreamFvPatchVectorField::supersonicFreestreamFvPatchVectorField().

Here is the call graph for this function:

◆ supersonicFreestreamFvPatchVectorField() [4/5]

Disallow copy without setting internal field reference.

◆ supersonicFreestreamFvPatchVectorField() [5/5]

Copy constructor setting internal field reference.

Definition at line 124 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 199 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 215 of file supersonicFreestreamFvPatchVectorField.H.

◆ UInf() [2/2]

vector& UInf ( )
inline

Return reference to the velocity at infinity to allow adjustment.

Definition at line 221 of file supersonicFreestreamFvPatchVectorField.H.

◆ pInf() [1/2]

scalar pInf ( ) const
inline

Return the pressure at infinity.

Definition at line 227 of file supersonicFreestreamFvPatchVectorField.H.

◆ pInf() [2/2]

scalar& pInf ( )
inline

Return reference to the pressure at infinity to allow adjustment.

Definition at line 233 of file supersonicFreestreamFvPatchVectorField.H.

◆ TInf() [1/2]

scalar TInf ( ) const
inline

Return the temperature at infinity.

Definition at line 239 of file supersonicFreestreamFvPatchVectorField.H.

References supersonicFreestreamFvPatchVectorField::updateCoeffs(), and supersonicFreestreamFvPatchVectorField::write().

Here is the call graph for this function:

◆ TInf() [2/2]

scalar& TInf ( )
inline

Return reference to the temperature at infinity.

to allow adjustment

Definition at line 246 of file supersonicFreestreamFvPatchVectorField.H.

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 142 of file supersonicFreestreamFvPatchVectorField.C.

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

Referenced by supersonicFreestreamFvPatchVectorField::TInf().

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

◆ write()

void write ( Ostream os) const
virtual

Write.

Definition at line 278 of file supersonicFreestreamFvPatchVectorField.C.

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

Referenced by supersonicFreestreamFvPatchVectorField::TInf().

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

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