Applies corrections to the turbulent kinetic energy equation (i.e. k) and turbulent viscosity field (i.e. nut) for incompressible multiphase flow cases.
More...
#include <multiphaseStabilizedTurbulence.H>


Public Member Functions | |
| TypeName ("multiphaseStabilizedTurbulence") | |
| Runtime type information. | |
| multiphaseStabilizedTurbulence (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from explicit source name and mesh. | |
| multiphaseStabilizedTurbulence (const multiphaseStabilizedTurbulence &)=delete | |
| No copy construct. | |
| void | operator= (const multiphaseStabilizedTurbulence &)=delete |
| No copy assignment. | |
| virtual | ~multiphaseStabilizedTurbulence ()=default |
| Destructor. | |
| virtual void | addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
| Add explicit contribution to compressible k equation. | |
| virtual void | addSup (fvMatrix< scalar > &eqn, const label fieldi) |
| Add explicit contribution to incompressible k equation. | |
| virtual void | correct (volScalarField &field) |
| Correct the turbulent viscosity. | |
| virtual bool | read (const dictionary &dict) |
| Read source dictionary. | |
| Public Member Functions inherited from option | |
| TypeName ("option") | |
| Runtime type information. | |
| 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. | |
| autoPtr< option > | clone () const |
| Return clone. | |
| virtual | ~option ()=default |
| Destructor. | |
| const word & | name () const noexcept |
| Return const access to the source name. | |
| const fvMesh & | mesh () const noexcept |
| Return const access to the mesh database. | |
| const dictionary & | coeffs () const noexcept |
| Return dictionary. | |
| bool | active () const noexcept |
| True if source is active. | |
| void | setApplied (const label fieldi) |
| Set the applied flag to true for field index fieldi. | |
| bool | active (const bool on) noexcept |
| Change source active flag, return previous value. | |
| virtual bool | isActive () |
| Is the source active? | |
| virtual label | applyToField (const word &fieldName) const |
| Return index of field name if found in fieldNames list. | |
| virtual void | checkApplied () const |
| Check that the source has been applied. | |
| 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 | correct (surfaceScalarField &field) |
| virtual void | correct (surfaceVectorField &field) |
| virtual void | correct (surfaceTensorField &field) |
| virtual void | postProcessSens (scalarField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
| virtual void | postProcessSens (vectorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
| virtual void | postProcessSens (tensorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
| virtual void | postProcessAuxSens (const volScalarField &primalField, const volScalarField &adjointField, scalarField &sensField, const word &fieldName=word::null) |
| virtual void | postProcessAuxSens (const volVectorField &primalField, const volVectorField &adjointField, scalarField &sensField, const word &fieldName=word::null) |
| virtual void | postProcessAuxSens (const volTensorField &primalField, const volTensorField &adjointField, scalarField &sensField, const word &fieldName=word::null) |
| virtual void | writeHeader (Ostream &) const |
| Write the source header information. | |
| virtual void | writeFooter (Ostream &) const |
| Write the source footer information. | |
| virtual void | writeData (Ostream &) const |
| Write the source properties. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from option | |
| static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
| Return a reference to the selected fvOption model. | |
| Public Attributes inherited from option | |
| bool | log |
| Switch write log to Info. | |
| Protected Member Functions inherited from option | |
| void | resetApplied () |
| Resize/reset applied flag list for all fieldNames_ entries. | |
| Protected Attributes inherited from option | |
| const word | name_ |
| Source name. | |
| const word | modelType_ |
| Model type. | |
| const fvMesh & | mesh_ |
| Reference to the mesh database. | |
| dictionary | dict_ |
| Top level source dictionary. | |
| dictionary | coeffs_ |
| Dictionary containing source coefficients. | |
| wordList | fieldNames_ |
| Field names to apply source to - populated by derived models. | |
| List< bool > | applied_ |
| Applied flag list - corresponds to each fieldNames_ entry. | |
| bool | active_ |
| Source active flag. | |
Applies corrections to the turbulent kinetic energy equation (i.e. k) and turbulent viscosity field (i.e. nut) for incompressible multiphase flow cases.
Turbulent 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.
References:
Buoyancy source term in turbulent 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.
DOI:10.1016/j.coastaleng.2017.04.004
Correction to turbulent 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.
DOI:10.1017/jfm.2018.577
Sources applied to:
k | Turbulent kinetic energy [m2/s2] nut | Turbulent viscosity [m/s2]
Required fields:
epsilon | Turbulent kinetic energy dissipation rate [m2/s3] k | Turbulent kinetic energy [m2/s2] nut | Turbulent viscosity [m/s2]
constant/fvOptions: multiphaseStabilizedTurbulence1
{
// Mandatory entries (unmodifiable)
type multiphaseStabilizedTurbulence;
// Optional entries (unmodifiable)
rho <rhoName>;
Cmu 0.09; // from k-epsilon model
C 1.51; // from k-omega model
lambda2 0.1; // A value of 0 sets the nut correction to 0
alpha 1.36; // 1/Prt
// Mandatory/Optional (inherited) entries
...
}
where the entries mean:
| Property | Description | Type | Reqd | Dflt |
|---|---|---|---|---|
type | Type name: multiphaseStabilizedTurbulence | word | yes | - |
rho | Name of operand density field | word | yes | rho |
Cmu | Model coefficient | scalar | no | 0.09 |
C | Model coefficient | scalar | no | 1.51 |
lambda2 | Ratio of nut correction | scalar | no | 0.1 |
alpha | Inverse of turbulent Prandtl number | scalar | no | 1.36 |
The inherited entries are elaborated in:
Definition at line 171 of file multiphaseStabilizedTurbulence.H.
| multiphaseStabilizedTurbulence | ( | const word & | sourceName, |
| const word & | modelType, | ||
| const dictionary & | dict, | ||
| const fvMesh & | mesh ) |
Construct from explicit source name and mesh.
Definition at line 45 of file multiphaseStabilizedTurbulence.C.
References option::coeffs_, dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, option::fieldNames_, Log, option::mesh(), option::mesh_, option::option(), turbulenceModel::propertiesName, and option::resetApplied().
Referenced by multiphaseStabilizedTurbulence(), and operator=().


|
delete |
No copy construct.
References multiphaseStabilizedTurbulence().

|
virtualdefault |
| TypeName | ( | "multiphaseStabilizedTurbulence" | ) |
Runtime type information.
References dict, and option::mesh().

|
delete |
No copy assignment.
References multiphaseStabilizedTurbulence().

|
virtual |
Add explicit contribution to compressible k equation.
Reimplemented from option.
Definition at line 125 of file multiphaseStabilizedTurbulence.C.
References NotImplemented, and rho.
|
virtual |
Add explicit contribution to incompressible k equation.
Reimplemented from option.
Definition at line 137 of file multiphaseStabilizedTurbulence.C.
References Foam::endl(), epsilon, Foam::exit(), Foam::FatalError, FatalErrorInFunction, g, Foam::fvc::grad(), k, Log, option::mesh_, IOobject::name(), name, gravity::New(), turbulenceModel::propertiesName, fvMatrix< Type >::psi(), rho, and Foam::fvm::SuSp().

|
virtual |
Correct the turbulent viscosity.
Reimplemented from option.
Definition at line 189 of file multiphaseStabilizedTurbulence.C.
References Foam::dimless, Foam::dimTime, Foam::endl(), epsilon, field(), option::fieldNames_, Foam::fvc::grad(), k, Log, Foam::magSqr(), Foam::max(), option::mesh_, IOobject::name(), name, turbulenceModel::propertiesName, Foam::skew(), Foam::sqr(), Foam::symm(), and U.

|
inlinevirtual |
Read source dictionary.
Reimplemented from option.
Definition at line 279 of file multiphaseStabilizedTurbulence.H.
References dict.