Applies corrections to the turbulence kinetic energy equation and turbulence viscosity field for incompressible multiphase flow cases. More...
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< option > | clone () const |
| Return clone. More... | |
| virtual | ~option ()=default |
| Destructor. More... | |
| const word & | name () const |
| Return const access to the source name. More... | |
| const fvMesh & | mesh () const |
| Return const access to the mesh database. More... | |
| const dictionary & | coeffs () 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... | |
| Switch & | active () |
| 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< option > | New (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 fvMesh & | mesh_ |
| 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< bool > | applied_ |
| Applied flag list - corresponds to each fieldNames_ entry. More... | |
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
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.
Definition at line 101 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 54 of file multiphaseStabilizedTurbulence.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Log.
| TypeName | ( | "multiphaseStabilizedTurbulence" | ) |
Runtime type information.
|
virtual |
Add explicit contribution to compressible k equation.
Reimplemented from option.
Definition at line 134 of file multiphaseStabilizedTurbulence.C.
References NotImplemented.
|
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().
|
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.
|
inlinevirtual |
Read source dictionary.
Reimplemented from option.
Definition at line 179 of file multiphaseStabilizedTurbulence.H.