|
[Sponsors] |
Breakup of VOF droplets due to adaptive mesh refinement |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
November 3, 2022, 11:23 |
Breakup of VOF droplets due to adaptive mesh refinement
|
#1 |
New Member
Dennis Thuy
Join Date: Apr 2022
Posts: 12
Rep Power: 4 |
Hi,
I want to use adaptive mesh refinement for the simulation of droplets in OpenFOAM v2106. I am using the interIsoFoam solver, combined with dynamicRefineFvMesh, which should refine based on the volume fraction field of the VOF simulations. When performing a simple case of advection of droplets, I found that the adaptive mesh refinement causes breakup of the droplets near the interface. This is problematic since I am ultimately interested in the droplet size distribution of a spray. So far, I have found three parameters that seem to influence the shattering of the droplets: the refineInterval, maxRefinement in the dynamicMeshDict, and the reconstructionScheme for alpha in fvSolution. In short, they have the following effect: - refineInterval: Droplets are more likely to breakup when the number of timesteps between remeshing is larger. I have varied this parameter between 1 and 5. - maxRefinement: Droplets are more likely to breakup when the maximum refinement is larger. I have varied this parameter between 1 and 3. - reconstructionScheme: Droplets are more likely to breakup when the isoAlpha scheme is used, as compared to plicRDF. Higher values of the previous two parameters are allowed when using plicRDF. A comparison of the performance of these schemes can be seen in the figures, with maxRefinement = 2 and refineInterval = 3. The comparison of the reconstructionSchemes also shows worrysome behavior of the surface after the first mesh refinement. For both schemes, the droplets do not have a smooth surface anymore after refinement. This is more pronounced for isoAlpha than for plicRDF. It is my suspicion that this causes the issue of the breakup of the droplets. In the final image, the differences can clearly be seen. I will be glad to take any suggestions as to how I can avoid this behavior. In my opinion, the surface of the droplets should stay smooth when applying the adaptive mesh refinement, but I don't know how to achieve this. I have attached my complete case for those interested. Thank you for your insights! |
|
November 16, 2022, 09:02 |
|
#2 |
New Member
Jun Liu
Join Date: Jan 2020
Posts: 3
Rep Power: 6 |
Hi Dennis,
Have you found the reason/solution for this problem. I recently also tried running interIsoFoam with ARM and encountered the same issue you mentioned. I applied interIsoFoam with the same AMR configuration to test a rising bubble case and a droplets' collision case. The combination runs well for the rising bubble case, but badly for the droplets' collision case. In the collision case, I observed the same unphysical scattered small droplets as you displayed in your results. Hm, I don't know how to insert images into the reply. If you want to know more about my cases, PM me plz. BR, Jun Last edited by Jun_93; November 16, 2022 at 11:57. |
|
November 21, 2022, 10:58 |
|
#3 |
New Member
Dennis Thuy
Join Date: Apr 2022
Posts: 12
Rep Power: 4 |
Hi Jun,
Thanks for your reply. Have you tried running your case with both the iso-Alpha and the plicRDF reconstruction scheme? Do you observe the same difference that I do? After reading the publication by Scheufler & Roenby on the different surface reconstruction schemes (https://www.sciencedirect.com/scienc...269?via%3Dihub), I have a hypothesis as to why iso-Alpha shows the shattering and plicRDF does not. In section 3.3 you can read that plicRDF uses the surface normal obtained in a previous time step as an initial guess in the surface reconstruction of the current time step. Iso-Alpha does not do this, and calculates the surface normals independently every time step. When applying the first refinement to the spheres, it seems that the smoothness of the surface is not exactly preserved (see my previous post). However, since plicRDF uses the surface normals of the previous time step (where the surface was still smooth), it is able to suppress this. The iso-Alpha scheme is not able to do so, since it does not use this information. This hypothesis leads to a question, which I am currently trying to answer: Does the shattering also occur when the VOF interface is not initiated by a setFieldsDict entry? In other words, if we have an inlet of alpha=1 into a domain with initially alpha=0 everywhere, will we also observe the shattering? I would expect not, since in this case the cells at the interface are already refined before the interface enters the domain. I am investigating this with a case of cylindrical jet breakup (see attached image). So far, I have not observed the shattering for iso-Alpha, nor for plicRDF. However, results are still preliminary. Please let me know if my train of thought makes any sense to you! |
|
July 12, 2024, 05:33 |
Same problem with bubbles
|
#4 |
New Member
Mohammad Karimi Zand
Join Date: Jan 2021
Posts: 3
Rep Power: 5 |
Dear Dennis,
Have you found a solution for this problem? I am trying to execute AMR on a free rising bubble and I am facing the same problem. I am using interIsoFoam so it is set on plicRDF and it does not solve my problem. When the mesh gets refined/unrefined it generates unrealistic alpha values inside (like liquid pockets inside the bubble) or outside the bubble (smaller satellite bubbles). I have solved the issue for the inside by not letting the mesh to unrefine for values higher than 0.5 and there are no more liquid pockets. But I cannot solve the issue of smaller bubbles generated downstream. P.S An interesting thing to mention. Increasing the background liquid viscosity (from water up to 5 or 10 times) seems to resolve the issue!! But that’s not gonna be the way for me. |
|
July 12, 2024, 07:11 |
Two potential solutions
|
#5 |
New Member
Dennis Thuy
Join Date: Apr 2022
Posts: 12
Rep Power: 4 |
Hi,
I think I did manage a solution. It is my suspicion that these small 'inclusions' of the opposite phase are related to the recombination of cells in the AMR. This recombination can cause the value of alpha to deviate slightly from 0 or 1, and this seems to happen cumulatively, until at some point the surfCellTol is exceeded. When this happens, isoAdvector will start to see these cells as interface cells, thus creating these inclusions. I believe there are two ways to avoid this behavior:
Hope this helps you. Kind regards, Dennis |
|
July 12, 2024, 08:49 |
|
#6 | ||
New Member
Mohammad Karimi Zand
Join Date: Jan 2021
Posts: 3
Rep Power: 5 |
Hi Dennis,
Thank you very much for your reply. Yes I agree with the first solution that you mentioned. That solves the problem for inside the bubble. Now I tried the second solution, and here is how it went: Setting the snapTol to surfCellTol's default value (1e-10) does not seem to make much changes. Setting the surfCellTol to snapTol's default value (1e-12) aggravates the problem. Would you mind taking a look at my files to see if I am doing something wrong here? DynamicMeshDict: Quote:
fvSolution Quote:
|
|||
Tags |
amr, isoadvector, surface, vof simulation |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] snappyHexMesh can't create refimenet region | clktp | OpenFOAM Meshing & Mesh Conversion | 3 | February 27, 2022 10:26 |
problem with parallel calculations OF8 mpirun | otaolafr | OpenFOAM Programming & Development | 0 | January 5, 2021 08:33 |
[snappyHexMesh] snappyHexMesh does not create any mesh except one for the reference cell | Arman_N | OpenFOAM Meshing & Mesh Conversion | 1 | May 20, 2019 18:16 |
[snappyHexMesh] Error snappyhexmesh - Multiple outside loops | avinashjagdale | OpenFOAM Meshing & Mesh Conversion | 53 | March 8, 2019 10:42 |
[mesh manipulation] Importing Multiple Meshes | thomasnwalshiii | OpenFOAM Meshing & Mesh Conversion | 18 | December 19, 2015 19:57 |