New VOF multiphaseStabilizedTurbulence fvOption
Summary
Applies corrections to turbulence kinetic energy equation and turbulence viscosity field for incompressible multiphase flow cases.
Turbulence kinetic energy is over-predicted in incompressible 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
Resolved bugs (If applicable)
See #1433 (closed)
Details of new models (If applicable)
The implementation is based on the form for the k-epsilon turbulence model.
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; // model coefficient 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.
Risks
Modular - low risk
Credits
Thanks go to the Turbulence Technical Committee, and the useful discussions with and code testing by Bjarke Eltard-Larsen and David Fuhrman (Technical University of Denmark).
Merge request reports
Activity
changed milestone to %v1912
added Ready development feature labels
I have had a look at the code and there is a problem with the new implementation.
The production term in the k-equation should contain nut with our new limiter active, i.e. nut=Cmu_*sqr(k_())/epsilonTilde_.
The production term in the omega and epsilon equation should use the newly defined unlimited nut which is unlimitedNut(k_()/omega_()) and unlimitedNut(Cmu_*sqr(k_())/epsilon_()) for the omega and epsilon equations respectively.
Additionally, for consistency with the default value, I think lambda_2 should have the value 0.1 in the example usage.
Finally in the Summary description, specifically the text:
"Turbulence kinetic energy is over-predicted in incompressible VOF solvers at the phase interface ..."
This is repeating what we feel is an (unfortunately common) mis-conceptionMay we suggest that this text be slightly modified to (something like):
"Turbulence kinetic energy is over-predicted in incompressible VOF solvers at both the phase interface and throughout the water column in nearly-potential flow regions beneath surface waves ..."
Bjarke Eltard Larsen
added 1 commit
- 7083d2ef - ENH: Turbulence models - ensure unlimited nut used in production terms
added 29 commits
-
6eab63e1...58009f65 - 26 commits from branch
develop
- ae4e5cd3 - ENH: fvOptions - added 'log' helper for verbose output
- 7f4c57f2 - ENH: Added new multiphaseStabilizedTurbulence fvOption
- 04692ca1 - ENH: Turbulence models - ensure unlimited nut used in production terms
Toggle commit list-
6eab63e1...58009f65 - 26 commits from branch
Thanks @BJELT - description updated
mentioned in commit d092f429