Need some multiphase help!!
I am attempting a simple multiphase simulation (VOF). Its a 4 inch wide channel about 2.5 metres long, tilted very slightly and initially full with air.
H20 then flows in from one side (mass flow inlet) and exits out the opposite end (pressure outlet).
To visualise the flow I use a scalar scene with volume fraction of H20. My question is: where is the actual surface of the water? I assume that each cell contributes to the volume fraction like 60% water and 40% air is 0.6 volume fraction, but where would the water surface lie? At 100% water? 50% water? 80%?!
If this experiment were carried out in real life, there would surely not be this "fraction of phase volume", apart from perhaps air bubbles. Is there any way to translate this into the simulation? Do I need a finer mesh? I have about 2.5 million cells...
I don't know how familiar you are with the VoF but this is one of the drawbacks of the VoF method. Ideally, if we could solve partial differential equations analytically, the VoF method should give you a sharp interface that drops from 1 to zero as soon as you go from water to air. Unfortunately, that is not the case. Because of the element size, and numerical diffusion, you will get a smooth interface. Your goal is to have as sharp an interface as you can, so the selection of threshold doesn't change the actual interface location much. To do that, you need a fine mesh around where the interface is.
Now if you knew where the interface is going to be, you could create the mesh so that it becomes finer there. If not, you have to start with a regular mesh, solve the problem, and refine the mesh around the area that VoF is not 1 or 0. Redo the problem, and iterate through this to get the interface that you like. I'm very new to starCCM+. I would imagine you can setup an adaptive meshing scheme to automate this process, but I'm not sure, and if it is possible I don't know how to do it.
To go down the manual iteration path, the easiest way that I can think of is to create a derived part using the threshold option, and use water volume fraction to set the threshold. grab anything in between 0.9 and 0.1, and use that derived part to refine the mesh by giving it a smaller base size. I haven't tried this, so if it doesn't work, or if someone knows a better way to do this, let me know.
Ah I see! So if I refine the mesh around the expected water surface level then hopefully the gap between 0 and 1 will diminish, giving a more accurate range of values?
I am running a simulation that I have recreated in a channel, so I should be able to enhance the mesh around the expected water levels according to my physical results.
I will run the simulation overnight doing this by using a volume block and get back to you on the results. Also, using a derived part to refine the mesh is very interesting, I will look into trying that for some more complex simulations!
Many thanks :)
Hi again Triple_R,
Sorry for the late update, reasonable progress was made with the model:
Refining the mesh size improved the phase interface substantially, but maxed out the 8gb of ram that my PC currently uses. I purchased and installed another 8gb so hopefully the next model will improve further.
This model was designed as a preliminary test, to understand multiphase mixture flow, before moving onto a hydraulic jump model and finally a model of a large spillway.
Whilst the hydraulic jump is certainly feasible, at least technically, the spillway model is extremely large, approximately 50 metres wide at its largest point. I am quite certain that a model, with the phase accuracy I am aiming for/running at the moment, will be unable to run on the technology I have at hand.
It is possible that I may have access to a supercomputer in the coming weeks, but that is not certain, and I cannot rely on this.
Do you know if there are any alternatives to the VOF model/any other useful multiphase mixture models that could be used in this situation?
Thank you very much for your help
There are other methods for solving for the interfaces. One that I can think of right now is the level-set method. It is better at resolving the interface, but does not conserve mass as well as the VoF. Some codes try to mix these two and use both at the same time to conserve mass AND resolve the interfaces better.
Unfortunately, I'm too new to StarCCM+ to know if star has level-set capabilities or not. But there might be some other means to reduce the number of cells and the load on your machine. Can you create your grid in a way that the cells are more or less aligned with the free surface? For example, use a grid like:
I know this is a very simple geometry and flow situation, but you can always solve your problem on a coarse grid, and use your solution to look at where you will need mesh refinement. Again, another example, if the flow looks like:
(I burrowed the image from google images :-), it is not mine ), then, you can probably divide the solution domain as shown in:
so that you can get aligned cells.
Depending on what is the desired result, you will probably want to refine the grid on only a few of those partitions, and have a coarser grid on the others. Having an aligned grid will make it a lot easier for the software to find the interface, even if the grid is coarse (in the direction parallel to the interface)
I hope this helps.
I have just had a search and it appears that the level-set method is not available in Star-ccm+, and adaptive meshing is also not a current feature...
The suggestion to align the cells is a good idea! I will see how I get along with that, hopefully it will give me the extra reduction on load I need for now.
It seems that Fluent offer most of the features you have been mentioning, have you used that software before? I am contemplating getting in touch with them in the hopes that their software may be better suited to this model!
Again, thank you very much for the help!
Yes! I had used FLUENT a lot more, but my workplace switched from FLUENT to StarCCM+.
And you are absolutely right, FLUENT had a VoF-Level Set implementation as far as I can remember. You might want to take a look at FLUENT as well and see which one better suits you. I'm guessing this forum will be a good start to see if someone has already compared these two packages (and maybe even more packages) for the kind of problems that you are interested in.
Good luck :-)
|All times are GMT -4. The time now is 15:05.|