multiphaseStabilizedTurbulence Class Reference

Applies corrections to the turbulence kinetic energy equation and turbulence viscosity field for incompressible multiphase flow cases. More...

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

Public Member Functions

 TypeName ("multiphaseStabilizedTurbulence")
 Runtime type information. More...
 
 multiphaseStabilizedTurbulence (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from explicit source name and mesh. More...
 
virtual void addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi)
 Add explicit contribution to compressible k equation. More...
 
virtual void addSup (fvMatrix< scalar > &eqn, const label fieldi)
 Add explicit contribution to incompressible k equation. More...
 
virtual void correct (volScalarField &field)
 Correct the turbulence viscosity. More...
 
virtual bool read (const dictionary &dict)
 Read source dictionary. More...
 
- Public Member Functions inherited from option
 TypeName ("option")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, option, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh))
 
 option (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from components. More...
 
autoPtr< optionclone () const
 Return clone. More...
 
virtual ~option ()=default
 Destructor. More...
 
const wordname () const
 Return const access to the source name. More...
 
const fvMeshmesh () const
 Return const access to the mesh database. More...
 
const dictionarycoeffs () const
 Return dictionary. More...
 
bool active () const
 Return const access to the source active flag. More...
 
void setApplied (const label fieldi)
 Set the applied flag to true for field index fieldi. More...
 
Switchactive ()
 Return access to the source active flag. More...
 
virtual bool isActive ()
 Is the source active? More...
 
virtual label applyToField (const word &fieldName) const
 Return index of field name if found in fieldNames list. More...
 
virtual void checkApplied () const
 Check that the source has been applied. More...
 
virtual void addSup (fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< vector > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void correct (volVectorField &field)
 
virtual void correct (volSphericalTensorField &field)
 
virtual void correct (volSymmTensorField &field)
 
virtual void correct (volTensorField &field)
 
virtual void writeHeader (Ostream &) const
 Write the source header information. More...
 
virtual void writeFooter (Ostream &) const
 Write the source footer information. More...
 
virtual void writeData (Ostream &) const
 Write the source properties. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from option
static autoPtr< optionNew (const word &name, const dictionary &dict, const fvMesh &mesh)
 Return a reference to the selected fvOption model. More...
 
- Public Attributes inherited from option
bool log
 Switch write log to Info. More...
 
- Protected Attributes inherited from option
const word name_
 Source name. More...
 
const word modelType_
 Model type. More...
 
const fvMeshmesh_
 Reference to the mesh database. More...
 
dictionary dict_
 Top level source dictionary. More...
 
dictionary coeffs_
 Dictionary containing source coefficients. More...
 
Switch active_
 Source active flag. More...
 
wordList fieldNames_
 Field names to apply source to - populated by derived models. More...
 
List< boolapplied_
 Applied flag list - corresponds to each fieldNames_ entry. More...
 

Detailed Description

Applies corrections to the turbulence kinetic energy equation and turbulence viscosity field for incompressible multiphase flow cases.

Turbulence kinetic energy is over-predicted in VOF solvers at the phase interface and throughout the water column in nearly-potential flow regions beneath surface waves.

This fvOption applies corrections based on the references:

    Buoyancy source term in turbulence kinetic energy equation:
        Devolder, B., Rauwoens, P., and Troch, P. (2017).
        Application of a buoyancy-modified k-w SST turbulence model to
        simulate wave run-up around a monopile subjected to regular waves
        using OpenFOAM.
        Coastal Engineering, 125, 81-94.

    Correction to turbulence viscosity:
        Larsen, B.E. and Fuhrman, D.R. (2018).
        On the over-production of turbulence beneath surface waves in
        Reynolds-averaged Navier-Stokes models
        J. Fluid Mech, 853, 419-460
Usage
Example usage:
multiphaseStabilizedTurbulence1
{
    type            multiphaseStabilizedTurbulence;
    active          yes;

    multiphaseStabilizedTurbulenceCoeffs
    {
        // Optional coefficients
        lambda2         0.1;   // A value of 0 sets the nut correction to 0
        Cmu             0.09;  // from k-epsilon model
        C               1.51;  // from k-omega model
        alpha           1.36;  // 1/Prt
    }
}

The model C coefficient for the k-epsilon model equates to C2/C1 = 1.33; the (default) value of 1.51 comes from the k-omega model and is more conservative.

Source files

Definition at line 101 of file multiphaseStabilizedTurbulence.H.

Constructor & Destructor Documentation

◆ multiphaseStabilizedTurbulence()

multiphaseStabilizedTurbulence ( const word sourceName,
const word modelType,
const dictionary dict,
const fvMesh mesh 
)

Construct from explicit source name and mesh.

Definition at line 54 of file multiphaseStabilizedTurbulence.C.

References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Log.

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "multiphaseStabilizedTurbulence"  )

Runtime type information.

◆ addSup() [1/2]

void addSup ( const volScalarField rho,
fvMatrix< scalar > &  eqn,
const label  fieldi 
)
virtual

Add explicit contribution to compressible k equation.

Reimplemented from option.

Definition at line 134 of file multiphaseStabilizedTurbulence.C.

References NotImplemented.

◆ addSup() [2/2]

void addSup ( fvMatrix< scalar > &  eqn,
const label  fieldi 
)
virtual

Add explicit contribution to incompressible k equation.

Reimplemented from option.

Definition at line 146 of file multiphaseStabilizedTurbulence.C.

References Foam::endl(), epsilon, Foam::exit(), Foam::FatalError, FatalErrorInFunction, g, Foam::fac::grad(), k, Log, Foam::name(), Foam::New(), fvMatrix< Type >::psi(), rho, and Foam::fam::SuSp().

Here is the call graph for this function:

◆ correct()

void correct ( volScalarField field)
virtual

Correct the turbulence viscosity.

Reimplemented from option.

Definition at line 197 of file multiphaseStabilizedTurbulence.C.

References Foam::dimless, Foam::dimTime, Foam::endl(), epsilon, field(), option::fieldNames_, objectRegistry::findObject(), Foam::fvc::grad(), k, Log, Foam::magSqr(), Foam::max(), option::mesh_, option::name(), turbulenceModel::propertiesName, Foam::skew(), Foam::sqr(), Foam::symm(), and U.

Here is the call graph for this function:

◆ read()

virtual bool read ( const dictionary dict)
inlinevirtual

Read source dictionary.

Reimplemented from option.

Definition at line 179 of file multiphaseStabilizedTurbulence.H.


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