|
[Sponsors] |
[isoAdvector] Volume conservation issues isoAdvector with Adaptive Mesh Refinement |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
March 30, 2023, 10:36 |
[isoAdvector] Volume conservation issues isoAdvector with Adaptive Mesh Refinement
|
#1 | |
New Member
Dennis Thuy
Join Date: Apr 2022
Posts: 11
Rep Power: 4 |
Dear Foamers,
I’m using the compressibleInterIsoFoam solver in combination with adaptive mesh refinement (AMR) for simulations of droplet breakup in a shock tube (2D). Instead of the standard AMR library, I use the library by Rettenmaier et al. (https://www.sciencedirect.com/scienc...699?via%3Dihub), which allows quadtree refinement for 2D simulations. Since I am using OpenFOAM version 19.06, I use the version of this AMR library that is ported to ESI version by Henning Scheufler (https://github.com/HenningScheufler/multiDimAMR). In my simulation, I am experiencing several issues that seem to be related to the combination of isoAdvector with AMR. In my simulations, I use the plicRDF surface reconstruction scheme. The interface of the droplet has three levels of refinement compared to the base grid. Refinement happens based on the local magnitude of the reconstructed distance function (RDF). As can be seen in the attached figure ‘dropletHoles.jpg’, holes appear inside the droplet as it is deforming. The formation of these holes triggers a massive loss in liquid volume in the simulations (up to 20%). These holes do not form when performing the simulation without AMR. The formation of these holes is related to the surface cell tolerance that is used in isoAdvector (surfCellTol in fvSolution). As shown in the attached ‘alphaDeviation.jpg’, there exist cells inside the droplet, whose alpha value deviates slightly from 1, within the surfCellTol. alphaDeviation denotes the magnitude of these deviations. As time progresses and the droplet deforms, this deviation can be seen to progress inwards into the droplet, and increase in magnitude. This seems to be caused by the continuous merging of refined cells behind the leading edge of the droplet. At some point, this alphaDeviation reaches a value larger than the surfCellTol. Suddenly, these internal cells are seen as interface cells by the solver, and the reconstruction scheme starts to enforce the interface in these cells, creating the holes. As the merging of cells inside the droplet seems to cause the issue, I proceeded to adapt the refinement criteria for the AMR. In addition to refining the surface based on the RDF magnitude, all cells with volume fraction larger than 1E-3 are also refined, resulting in refinement throughout the droplet. This indeed prevents the creation of holes. It comes with a different issue however. As shown in ‘volumeConservation.jpg’, at the moment when the first breakup occurs (see dropletBreakup.jpg), a significant increase in the (normalized) liquid volume occurs. The combination of the AMR and isoAdvector seems to perform very well in the first stage of the simulation, volume is conserved there. Only from the moment of breakup onwards, issues start to occur. For comparison, I performed the same simulation with compressibleInterDyMFoam. This case is perfectly volume conservative. To me, this indicates that the cause of the issue must lie in the difference between interDyMFoam and interIsoFoam when AMR is applied to them. When studying the source code for both solvers, it seems that this difference lies in the surface reconstruction that is required for interIsoFoam when the mesh changes, which is not required in interDyMFoam. I referred to the paper by Henning Scheufler and Johan Roenby (https://www.sciencedirect.com/scienc...269?via%3Dihub) on the reconstruction schemes for some more detail. In the section on the plicRDF method (3.3), the following is written regarding the calculation of the surface normal: Quote:
Kind regards, Dennis |
||
Tags |
amr, isoadvector, openfoam 2106, surface reconstruction, volume conservation |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How to use "translation" in solidBodyMotionFunction in OpenFOAM | rupesh_w | OpenFOAM Running, Solving & CFD | 5 | August 16, 2016 05:27 |
[snappyHexMesh] SnappyHexMesh for internal Flow | vishwa | OpenFOAM Meshing & Mesh Conversion | 24 | June 27, 2016 09:54 |
[mesh manipulation] Importing Multiple Meshes | thomasnwalshiii | OpenFOAM Meshing & Mesh Conversion | 18 | December 19, 2015 19:57 |
[blockMesh] BlockMesh FOAM warning | gaottino | OpenFOAM Meshing & Mesh Conversion | 7 | July 19, 2010 15:11 |
Adaptive Mesh Refinement using Finite Volume | mayank | Main CFD Forum | 0 | October 14, 2002 02:02 |