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< 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^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: