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 &)
 Construct as copy. More...
 
 SRFFreestreamVelocityFvPatchVectorField (const SRFFreestreamVelocityFvPatchVectorField &, const DimensionedField< vector, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< fvPatchField< vector > > clone () const
 Return a clone. More...
 
virtual tmp< fvPatchField< vector > > clone (const DimensionedField< vector, volMesh > &iF) const
 Clone with an 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 124 of file SRFFreestreamVelocityFvPatchVectorField.H.

Constructor & Destructor Documentation

◆ SRFFreestreamVelocityFvPatchVectorField() [1/5]

Construct from patch and internal field.

Definition at line 34 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 62 of file SRFFreestreamVelocityFvPatchVectorField.C.

References dict.

◆ SRFFreestreamVelocityFvPatchVectorField() [3/5]

Construct by mapping given SRFFreestreamVelocityFvPatchVectorField.

onto a new patch

Definition at line 47 of file SRFFreestreamVelocityFvPatchVectorField.C.

◆ SRFFreestreamVelocityFvPatchVectorField() [4/5]

◆ SRFFreestreamVelocityFvPatchVectorField() [5/5]

Construct as copy setting internal field reference.

Definition at line 91 of file SRFFreestreamVelocityFvPatchVectorField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "SRFFreestreamVelocity"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp<fvPatchField<vector> > clone ( ) const
inlinevirtual

Return a clone.

Definition at line 203 of file SRFFreestreamVelocityFvPatchVectorField.H.

References fvPatchField< Type >::Clone().

Here is the call graph for this function:

◆ clone() [2/2]

virtual tmp<fvPatchField<vector> > clone ( const DimensionedField< vector, volMesh > &  iF) const
inlinevirtual

Clone with an internal field reference.

Definition at line 212 of file SRFFreestreamVelocityFvPatchVectorField.H.

References fvPatchField< Type >::Clone().

Here is the call graph for this function:

◆ UInf() [1/2]

const vector& UInf ( ) const
inline

Return the velocity at infinity.

Definition at line 227 of file SRFFreestreamVelocityFvPatchVectorField.H.

◆ UInf() [2/2]

vector& UInf ( )
inline

Return reference to the velocity at infinity to allow adjustment.

Definition at line 235 of file SRFFreestreamVelocityFvPatchVectorField.H.

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 104 of file SRFFreestreamVelocityFvPatchVectorField.C.

References SRFModel::axis(), Foam::cos(), Foam::mag(), mesh, Foam::name(), Foam::neg(), SRFModel::omega(), Foam::foamVersion::patch, Foam::sin(), fvPatchField< Type >::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 153 of file SRFFreestreamVelocityFvPatchVectorField.C.

References os(), fvPatchField< Type >::write(), Ostream::writeEntry(), and fvPatchField< Type >::writeValueEntry().

Here is the call graph for this function:

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