supersonicFreestreamFvPatchVectorField Class Reference

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

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

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 &)
 Construct as copy. More...
 
virtual tmp< fvPatchVectorFieldclone () const
 Construct and return a clone. More...
 
 supersonicFreestreamFvPatchVectorField (const supersonicFreestreamFvPatchVectorField &, 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...
 
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 128 of file supersonicFreestreamFvPatchVectorField.H.

Constructor & Destructor Documentation

◆ supersonicFreestreamFvPatchVectorField() [1/5]

Construct from patch and internal field.

Definition at line 38 of file supersonicFreestreamFvPatchVectorField.C.

References Foam::Zero.

Referenced by supersonicFreestreamFvPatchVectorField::clone().

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 60 of file supersonicFreestreamFvPatchVectorField.C.

References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, p, Foam::foamVersion::patch, 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 107 of file supersonicFreestreamFvPatchVectorField.C.

◆ supersonicFreestreamFvPatchVectorField() [4/5]

◆ supersonicFreestreamFvPatchVectorField() [5/5]

Construct as copy setting internal field reference.

Definition at line 144 of file supersonicFreestreamFvPatchVectorField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "supersonicFreestream"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp<fvPatchVectorField> clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 196 of file supersonicFreestreamFvPatchVectorField.H.

References supersonicFreestreamFvPatchVectorField::supersonicFreestreamFvPatchVectorField().

Here is the call graph for this function:

◆ 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 213 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 229 of file supersonicFreestreamFvPatchVectorField.H.

◆ UInf() [2/2]

vector& UInf ( )
inline

Return reference to the velocity at infinity to allow adjustment.

Definition at line 235 of file supersonicFreestreamFvPatchVectorField.H.

◆ pInf() [1/2]

scalar pInf ( ) const
inline

Return the pressure at infinity.

Definition at line 241 of file supersonicFreestreamFvPatchVectorField.H.

◆ pInf() [2/2]

scalar& pInf ( )
inline

Return reference to the pressure at infinity to allow adjustment.

Definition at line 247 of file supersonicFreestreamFvPatchVectorField.H.

◆ TInf() [1/2]

scalar TInf ( ) const
inline

Return the temperature at infinity.

Definition at line 253 of file supersonicFreestreamFvPatchVectorField.H.

◆ TInf() [2/2]

scalar& TInf ( )
inline

Return reference to the temperature at infinity.

to allow adjustment

Definition at line 260 of file supersonicFreestreamFvPatchVectorField.H.

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 162 of file supersonicFreestreamFvPatchVectorField.C.

References Foam::atan(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::log(), Foam::mag(), Foam::foamVersion::patch, Foam::pow(), 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 298 of file supersonicFreestreamFvPatchVectorField.C.

References os(), fvPatchField< vector >::write(), Ostream::writeEntry(), and Ostream::writeEntryIfDifferent().

Here is the call graph for this function:

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