Applies corrections to the turbulent kinetic energy equation (i.e. k
) and turbulent viscosity field (i.e. nut
) for incompressible multiphase flow cases.
More...
Public Member Functions | |
TypeName ("multiphaseStabilizedTurbulence") | |
multiphaseStabilizedTurbulence (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
multiphaseStabilizedTurbulence (const multiphaseStabilizedTurbulence &)=delete | |
void | operator= (const multiphaseStabilizedTurbulence &)=delete |
virtual | ~multiphaseStabilizedTurbulence ()=default |
virtual void | addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
virtual void | addSup (fvMatrix< scalar > &eqn, const label fieldi) |
virtual void | correct (volScalarField &field) |
virtual bool | read (const dictionary &dict) |
![]() | |
TypeName ("option") | |
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) | |
autoPtr< option > | clone () const |
virtual | ~option ()=default |
const word & | name () const noexcept |
const fvMesh & | mesh () const noexcept |
const dictionary & | coeffs () const noexcept |
bool | active () const noexcept |
void | setApplied (const label fieldi) |
bool | active (const bool on) noexcept |
virtual bool | isActive () |
virtual label | applyToField (const word &fieldName) const |
virtual void | checkApplied () const |
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 | 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 | writeHeader (Ostream &) const |
virtual void | writeFooter (Ostream &) const |
virtual void | writeData (Ostream &) const |
Additional Inherited Members | |
![]() | |
static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
![]() | |
bool | log |
![]() | |
void | resetApplied () |
![]() | |
const word | name_ |
const word | modelType_ |
const fvMesh & | mesh_ |
dictionary | dict_ |
dictionary | coeffs_ |
wordList | fieldNames_ |
List< bool > | applied_ |
bool | active_ |
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 | ||
) |
Definition at line 46 of file multiphaseStabilizedTurbulence.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Log.
|
delete |
|
virtualdefault |
TypeName | ( | "multiphaseStabilizedTurbulence" | ) |
|
delete |
|
virtual |
Reimplemented from option.
Definition at line 126 of file multiphaseStabilizedTurbulence.C.
References NotImplemented.
|
virtual |
Reimplemented from option.
Definition at line 138 of file multiphaseStabilizedTurbulence.C.
References Foam::endl(), epsilon, Foam::exit(), Foam::FatalError, FatalErrorInFunction, g, Foam::fac::grad(), k, Log, Foam::name(), Foam::New(), fvMatrix::psi(), rho, and Foam::fam::SuSp().
|
virtual |
Reimplemented from option.
Definition at line 189 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.
|
inlinevirtual |
Reimplemented from option.
Definition at line 250 of file multiphaseStabilizedTurbulence.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.