Venturi pipe flow VOF convergence issue
Posted: Wed Sep 21, 2022 5:33 pm
Dear All,
one year ago I discovered Code_Saturne and used it for axisymmetric simulations of internal flows in Venturi pipes used for steel bars cooling. In particular, the steel bar was represented by the bottom moving wall with imposed wall temperature (just for sensitivity analysis purposes).
This year, I'd like to extend the model to account for cavitation and then for boiling in Code_Saturne 7.0.
Concerning the cavitation, I'd like to include it in the model because I've increased the inlet water flows and as a result I achieve a high speed increase and higher pressure drops, going below absolute zero at the Venturi necks.
To begin with, I switched on the VoF model via GUI ("Homogeneout Eulerian - VoF model" -> "Vaporization/Condensation Merkle model"), but it didn't work because the GUI doesn't foresees an input field to set the ivolf2 variable.
So, I copied to SRC and edited the cs_user_boundary_conditions.f90 in order to set ivolf2=0 (full water).
In order to have the VoF module working, despite the VoF was already set in the GUI, I had also to copy to SRC and edit the cs_user_parameters-base.c file, setting there all the parameters for the activation of the VoF.
So far so good!
Now, if I run the case unfortunately the simulation doesn't converge.
In the run_solver.log I read a Warning about the Void fraction resolution, asking for very tiny time steps, but I wasn't able to find a working setting.
The simulation diverges because of the near outlet high local pressure and speeds.
I tried also to change the solver parameters but without success.
I also tried to apply the "No mass transfer" VoF model, deactivating the Merkle option in the user_subroutine
//vof_param->vof_model = CS_VOF_ENABLED | CS_VOF_MERKLE_MASS_TRANSFER;
and activating only the Standard option
vof_param->vof_model = CS_VOF_ENABLED;
In this case the calculation converges but unfortunately the result is not good because void fractions remain unchanged and the pressure turns to go down to negative values. Moreover, the velocity field result turns out to be different respect to the one achieved with the "Standard Eulerian single phase" model, so I don't understand what the CS_VOF_ENABLED option is doing.
My questions are:
1) Can you help me in finding the mistakes with the VoF+Merkel solution stability?
2) How can I have the "No mass transfer" working?
You can find the example herein below attached. Thank you in advance,
Lorenzo
one year ago I discovered Code_Saturne and used it for axisymmetric simulations of internal flows in Venturi pipes used for steel bars cooling. In particular, the steel bar was represented by the bottom moving wall with imposed wall temperature (just for sensitivity analysis purposes).
This year, I'd like to extend the model to account for cavitation and then for boiling in Code_Saturne 7.0.
Concerning the cavitation, I'd like to include it in the model because I've increased the inlet water flows and as a result I achieve a high speed increase and higher pressure drops, going below absolute zero at the Venturi necks.
To begin with, I switched on the VoF model via GUI ("Homogeneout Eulerian - VoF model" -> "Vaporization/Condensation Merkle model"), but it didn't work because the GUI doesn't foresees an input field to set the ivolf2 variable.
So, I copied to SRC and edited the cs_user_boundary_conditions.f90 in order to set ivolf2=0 (full water).
In order to have the VoF module working, despite the VoF was already set in the GUI, I had also to copy to SRC and edit the cs_user_parameters-base.c file, setting there all the parameters for the activation of the VoF.
So far so good!
Now, if I run the case unfortunately the simulation doesn't converge.
In the run_solver.log I read a Warning about the Void fraction resolution, asking for very tiny time steps, but I wasn't able to find a working setting.
The simulation diverges because of the near outlet high local pressure and speeds.
I tried also to change the solver parameters but without success.
I also tried to apply the "No mass transfer" VoF model, deactivating the Merkle option in the user_subroutine
//vof_param->vof_model = CS_VOF_ENABLED | CS_VOF_MERKLE_MASS_TRANSFER;
and activating only the Standard option
vof_param->vof_model = CS_VOF_ENABLED;
In this case the calculation converges but unfortunately the result is not good because void fractions remain unchanged and the pressure turns to go down to negative values. Moreover, the velocity field result turns out to be different respect to the one achieved with the "Standard Eulerian single phase" model, so I don't understand what the CS_VOF_ENABLED option is doing.
My questions are:
1) Can you help me in finding the mistakes with the VoF+Merkel solution stability?
2) How can I have the "No mass transfer" working?
You can find the example herein below attached. Thank you in advance,
Lorenzo