Issues with turbulence modeling in isothermal VOF solvers
Under the VOF framework, the flow of the isothermal mixture belongs to the variable-density incompressible flow category. For such flows, VOF-based solvers of OpenFOAM fail to construct the correct governing equations for turbulence modeling. varRhoTurbVOF contains a set of newly designed VOF-based solvers which could use the desired governing equations for turbulence quantities.
Details could be found at https://doi.org/10.1016/j.cpc.2019.106876 and https://arxiv.org/abs/1811.12580v2 Implementations for different OpenFOAM versions are provided at https://github.com/wenyuan-fan/varRhoTurbVOF
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Link issues together to show that they're related. Learn more.
Activity
- Developer
- Owner
Very interesting work - have you performed any comparisons against compressibleInterFoam?
- Author
Yes, we have conducted one test. varRhoInterFoam could provide the same result with compressibleInterFoam, verifying the correctness of the implementation.
- Developer
Hi,
Could you provide the papers as attachment?
Best Regards
Sergio
- Author
Hi,
Actually the paper (accepted manuscript) is free to download via this link: https://arxiv.org/abs/1811.12580v2.
Anyway, you can find it in the attachment1811.12580v2.pdf.
In case you want to read the journal version, I could send it to you privately since I am not allowed to share it publicly.
Best regards,
Wenyuan
Hi
This topic is also of great interest for coastal and offshore simulations using RANS turbulence models in combination with the interFoam or overInterDyMFoam solvers based on VoF for resolving the free surface. During my PhD, I developed the buoyancy-modified turbulence models for enhanced wave modelling in OpenFOAM (wave propagation and wave breaking). I made the code available on my gitlab repository: https://gitlab.com/brecht.devolder/buoyancyModifiedTurbulenceModels. It is working on the latest release as well (v1906). In the meantime, other researchers picked up the code and worked on it, such as Larson and Fuhrman: https://github.com/BjarkeEltardLarsen/stabRAS_v1712.
The relevant papers are attached to this message. They include the model descriptions and validation studies.
Best regards Brecht
- Author
Hi,
I am glad to know that RANS+VOF is popular in a broad range of applications. More importantly, density is explicitly included in all the papers you provided, justifying the necessity to do so. I think this is the key point of my work.
Regarding the buoyancy modification, it looks good. I will try to understand it better.
Best regards,
Wenyuan
- Please register or sign in to reply
- Developer
Hi,
Could you point out to the extra term in your paper?.
"Application of a buoyancy-modified k-ω SST turbulence model to simulate wave run-up around a monopile subjected to regular waves using OpenFOAM®"
Do you think the extra buoyancy term could be added as an extra source term through a fvOptions ?
Thanks
- Author
Hi,
I have read Brecht's papers. I think there are two ingredients, say, including density and introducing buoyancy correction. My work already solves the first part. For the second part, it is quite straightforward to implement through fvOptions, which could be found in the GitHub repository. The "buoyancyModification" folder provides the desired fvOptions.
Brecht, could you please test my implementation and compare with your original model?
Hi
The main issue of using traditional RANS models in combination with a two-phase flow solver for wave simulations, such as interFoam, is the overproduction of turbulent viscosity at the free surface leading to wave damping over the length of the computational domain. This wave damping is triggered by a wrong balance between the different terms in the transport equation for turbulent kinetic energy (TKE). This increase in turbulent viscosity is induced by the large production of turbulent TKE in that zone. The production of TKE is linked to the velocity gradient which is large around the interface between water and air due to spurious air velocities. Those spurious air velocities arise due to the pressure-density coupling resolved in the momentum equation. Consequently, a natural imbalance exists between the pressure gradient and the large density gradient at the free water surface due to the large density ratio (1000/1).
So, one of the main objectives of my PhD was to avoid wave damping when applying a RANS model. Therefore, I modified existing RANS models, such as k-w and k-w SST. Firstly, I included the density explicitly in the transport equations for k and omega. Even tough the flow is assumed to be incompressible, there is a sudden change in density at the free water surface. This was however not sufficient to avoid wave damping over the length of the wave flume. The problem of wave damping has been solved by adding a buoyancy source term in the TKE equation.
I made a short definition sketch of the behavior of the additional term, see attachment. This additional term takes the influence of a varying density into account. This buoyancy term is not an ad-hoc modification but appears when the transport equation for the TKE is fundamentally derived from the Favre-averaged Navier-Stokes equations. The term is shown here and three important parameters are in it: the gravitational vector which is always downwards, the turbulent viscosity and the density gradient. The density gradient is always perpendicular to the free water surface. The magnitude of the density gradient is very large and goes in the limit to infinite for the case of a very very very fine computational mesh.
How is the term behaving? First, I only consider propagating waves for which the water surface is more or less horizontal. The density gradient has thus a large vertical component. The inner product of the density gradient and the gravitational vector is infinite because they are parallel and one of them is very large. Because of the implicit treatment of the buoyancy term Gb in the TKE-equation, the very large vertical density gradient near the free water surface drives the turbulent viscosity νt to zero. This actually means that no turbulence is modeled and a laminar solution is sufficient. As a result, the buoyancy-modified turbulence models will limit the fake growth of TKE in the flow field for propagation waves. The behaviour during wave breaking is as follows: in the limit of a vertical wave front, the density gradient has a large horizontal contribution. The inner product of the vector which are perpendicular is zero. So the buoyancy term goes to zero at the location where waves break. If the buoyancy term goes to zero, the original turbulence model, including the density, is regained and a fully turbulent solution of the flow field is calculated.
I hope this explanation makes everything clear.
It would be very nice if the buoyancy term could be implemented through fvOptions. This allows the user to switch easily between the traditional RANS models (including the density in the transport equations) and the buoyancy modified RANS models.
Best regards Brecht
- Developer
HI Brecht, Thanks for the detailed explanation, I think we have the same term in the buoyantKEpsilon extension of kEpsilon. Have a look.(buoyantKEpsilon.H)
If you'd like to contribute with the fvOption for adding the buoyant dissipation we can review the code and add it as your contribution.
As well, a small tutorial showing the benefit of it would be interesting if possible.
In case you want to contribute we'd need your full name and affiliation. The code templates are at :
OpenFOAM-plus/etc/codeTemplates
Thanks
Sergio