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< fvPatchVectorField > clone (const DimensionedField< vector, volMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
const vector & UInf () const
 Return the velocity at infinity. More...
 
vector & UInf ()
 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: