SRFFreestreamVelocityFvPatchVectorField Class Reference

Freestream velocity condition to be used in conjunction with the single rotating frame (SRF) model (see: SRFModel class) More...

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

Public Member Functions

 TypeName ("SRFFreestreamVelocity")
 Runtime type information. More...
 
 SRFFreestreamVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &)
 Construct from patch and internal field. More...
 
 SRFFreestreamVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 SRFFreestreamVelocityFvPatchVectorField (const SRFFreestreamVelocityFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given SRFFreestreamVelocityFvPatchVectorField. More...
 
 SRFFreestreamVelocityFvPatchVectorField (const SRFFreestreamVelocityFvPatchVectorField &)
 Construct as copy. More...
 
virtual tmp< fvPatchVectorFieldclone () const
 Construct and return a clone. More...
 
 SRFFreestreamVelocityFvPatchVectorField (const SRFFreestreamVelocityFvPatchVectorField &, 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...
 
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field. More...
 
virtual void write (Ostream &) const
 Write. More...
 

Detailed Description

Freestream velocity condition to be used in conjunction with the single rotating frame (SRF) model (see: SRFModel class)

Given the free stream velocity in the absolute frame, the condition applies the appropriate rotation transformation in time and space to determine the local velocity using:

\[ U_p = cos(\theta) U_{Inf} + sin(\theta) (n \times U_{Inf}) - U_{p,srf} \]

where

\( U_p \) = patch velocity [m/s]
\( U_{Inf} \) = free stream velocity in the absolute frame [m/s]
\( \theta \) = swept angle [rad]
\( n \) = axis direction of the SRF
\( U_{p,srf} \) = SRF velocity of the patch [m/s]
Usage
Property Description Required Default value
UInf freestream velocity yes
relative UInf relative to the SRF? no

Example of the boundary condition specification:

    <patchName>
    {
        type            SRFFreestreamVelocity;
        UInf            uniform (0 0 0);
        relative        no;
        value           uniform (0 0 0);    // initial value
    }
See also
Foam::freestreamFvPatchField Foam::SRFVelocityFvPatchVectorField
Source files

Definition at line 128 of file SRFFreestreamVelocityFvPatchVectorField.H.

Constructor & Destructor Documentation

◆ SRFFreestreamVelocityFvPatchVectorField() [1/5]

Construct from patch and internal field.

Definition at line 39 of file SRFFreestreamVelocityFvPatchVectorField.C.

◆ SRFFreestreamVelocityFvPatchVectorField() [2/5]

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

Construct from patch, internal field and dictionary.

Definition at line 67 of file SRFFreestreamVelocityFvPatchVectorField.C.

References dict, dictionary::getOrDefault(), fvPatchField< vector >::operator=(), p, and UList< T >::size().

Here is the call graph for this function:

◆ SRFFreestreamVelocityFvPatchVectorField() [3/5]

Construct by mapping given SRFFreestreamVelocityFvPatchVectorField.

onto a new patch

Definition at line 52 of file SRFFreestreamVelocityFvPatchVectorField.C.

◆ SRFFreestreamVelocityFvPatchVectorField() [4/5]

◆ SRFFreestreamVelocityFvPatchVectorField() [5/5]

Construct as copy setting internal field reference.

Definition at line 97 of file SRFFreestreamVelocityFvPatchVectorField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "SRFFreestreamVelocity"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp< fvPatchVectorField > clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 181 of file SRFFreestreamVelocityFvPatchVectorField.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 197 of file SRFFreestreamVelocityFvPatchVectorField.H.

◆ UInf() [1/2]

const vector & UInf ( ) const
inline

Return the velocity at infinity.

Definition at line 214 of file SRFFreestreamVelocityFvPatchVectorField.H.

◆ UInf() [2/2]

vector & UInf ( )
inline

Return reference to the velocity at infinity to allow adjustment.

Definition at line 220 of file SRFFreestreamVelocityFvPatchVectorField.H.

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 112 of file SRFFreestreamVelocityFvPatchVectorField.C.

References SRFModel::axis(), Foam::cos(), Foam::mag(), mesh, Foam::name(), SRFModel::omega(), Foam::pos0(), Foam::sin(), atmBoundaryLayerInletEpsilonFvPatchScalarField::updateCoeffs(), dimensioned< Type >::value(), and SRFModel::velocity().

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Definition at line 161 of file SRFFreestreamVelocityFvPatchVectorField.C.

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

Here is the call graph for this function:

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