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:
Collaboration diagram for SRFFreestreamVelocityFvPatchVectorField:

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 &)=delete
 Disallow copy without setting internal field reference. More...
 
 SRFFreestreamVelocityFvPatchVectorField (const SRFFreestreamVelocityFvPatchVectorField &, 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...
 
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^UInf) - 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$ =
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 120 of file SRFFreestreamVelocityFvPatchVectorField.H.

Constructor & Destructor Documentation

◆ SRFFreestreamVelocityFvPatchVectorField() [1/5]

Construct from patch and internal field.

Definition at line 38 of file SRFFreestreamVelocityFvPatchVectorField.C.

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

Here is the caller graph for this function:

◆ 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 51 of file SRFFreestreamVelocityFvPatchVectorField.C.

References dictionary::lookupOrDefault(), fvPatch::size(), SRFFreestreamVelocityFvPatchVectorField::SRFFreestreamVelocityFvPatchVectorField(), and vectorField().

Here is the call graph for this function:

◆ SRFFreestreamVelocityFvPatchVectorField() [3/5]

Construct by mapping given SRFFreestreamVelocityFvPatchVectorField.

onto a new patch

Definition at line 69 of file SRFFreestreamVelocityFvPatchVectorField.C.

References SRFFreestreamVelocityFvPatchVectorField::SRFFreestreamVelocityFvPatchVectorField().

Here is the call graph for this function:

◆ SRFFreestreamVelocityFvPatchVectorField() [4/5]

Disallow copy without setting internal field reference.

◆ SRFFreestreamVelocityFvPatchVectorField() [5/5]

Copy constructor setting internal field reference.

Definition at line 84 of file SRFFreestreamVelocityFvPatchVectorField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "SRFFreestreamVelocity"  )

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 181 of file SRFFreestreamVelocityFvPatchVectorField.H.

References SRFFreestreamVelocityFvPatchVectorField::SRFFreestreamVelocityFvPatchVectorField().

Here is the call graph for this function:

◆ UInf() [1/2]

const vector& UInf ( ) const
inline

Return the velocity at infinity.

Definition at line 197 of file SRFFreestreamVelocityFvPatchVectorField.H.

◆ UInf() [2/2]

vector& UInf ( )
inline

Return reference to the velocity at infinity to allow adjustment.

Definition at line 203 of file SRFFreestreamVelocityFvPatchVectorField.H.

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

Here is the call graph for this function:

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 97 of file SRFFreestreamVelocityFvPatchVectorField.C.

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

Referenced by SRFFreestreamVelocityFvPatchVectorField::UInf().

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 146 of file SRFFreestreamVelocityFvPatchVectorField.C.

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

Referenced by SRFFreestreamVelocityFvPatchVectorField::UInf().

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: