|
[Sponsors] |
Topological changes for simulation of dissolution |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
November 29, 2017, 18:31 |
Topological changes for simulation of dissolution
|
#1 |
Senior Member
Thomas Oliveira
Join Date: Apr 2015
Posts: 114
Rep Power: 12 |
Hi all,
I am studying the dissolution of porous media, and simulating the transport in the pore space and the reaction with the walls in 3D cartesian meshes. The attached figure illustrates a possible mesh. The blue region in subfigure 1 is the simulation domain; the red lines are patches where different boundary conditions are applied; the white regions don't exist in the mesh but are places where cells can be created if dissolution happens. At each timestep, I calculate the amount of matter dissolved from each face. After the amount dissolved from one face is large enough, I want to add the whole adjacent cell (in white) to the domain. The subfigures 1, 2, 3 and 4 depict four possible geometries that can be reached as dissolution progresses. They are in order but are not consecutive because for each face just one cell can be added at a time. Could you please help me understand how to do this in OpenFOAM? I believe that it is easier to do that than to change the shape of the cells. Is that correct? One alternative solution would involve considering all the cells (blue and white) in the domain since the beginning, and adapting the equations I solve in a way that renders the flow and transport through the white cells negligible. However, this doesn't seem to be a good idea because the porosity of the media I am interested in is around 20%, which means that the blue cells correspond to around 20% of the total cells (blue+white). Solving the flow and transport for all the cells would significantly increase the size of the problem. Best regards, Thomas Oliveira |
|
December 6, 2017, 11:48 |
buffer some solid cells around the flow domain
|
#2 |
New Member
Ali Q Raeini
Join Date: Feb 2010
Posts: 24
Rep Power: 16 |
I would say one efficient way to implement this is to generate some adjacent solid cells as buffer (cache) around your flow domain: let say by applying a min (void/fluid is zero) filter on your image twice before creating the openfoam mesh. Then run the simulations, with an additional infinity (high) viscous term for the solid parts to make the solid cells' velocity converge to zero. Once the face for which a solid cell should be dissolved is on a boundary patch (probably after hundreds of time steps), remap the mesh to the 3D voxel image and re-mesh for openfoam, with two new buffer layers added, and so on. This approach increases your mesh size, by less than 50% based on my rule of thumb calculations, not by a factor of 5. This, I guess, would be faster than re-meshing too frequently.
|
|
December 6, 2017, 12:07 |
|
#3 |
Senior Member
Thomas Oliveira
Join Date: Apr 2015
Posts: 114
Rep Power: 12 |
Dear Ali,
If I understood correctly, you suggested that I re-mesh the whole updated pore space of the image, instead of adding cells via topological changes. It is worth considering this alternative but I believe it would be cheaper to make topological changes, if possible. The insight you gave is very valuable to reduce the computational cost, specially if I don't find a way of changing the topology of the mesh. Thank you, Thomas Oliveira |
|
December 6, 2017, 14:35 |
|
#4 |
New Member
Ali Q Raeini
Join Date: Feb 2010
Posts: 24
Rep Power: 16 |
I should leave it up to its experts to comment about topological changes, but anyway ...
First, the fact that openfoam uses ordered continues arrays to store mesh faces, with internal faces before boundary faces etc, adding new ones to an existing mesh is going to be inevitably expensive as well: it require reallocation of memory and complex data mapping which is a costly operation. Second, because you have a 3D structured image as a background mesh, generating a mesh of the new cells is simple enough. So the question is whether there is an efficient openfoam function that can add these to an existing mesh and update whatever necessary. mergeMeshes and stitchMesh openfoam utilities are where you can look for the answer. I have no experience with them, neither know about their efficiency, but I am interested to know the answer too ! |
|
January 1, 2018, 16:56 |
|
#5 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Greetings to all!
I've come here from a PM that Thomas sent me a month or so ago. This is a fairly complex topic and I don't know much about it. The only information I'm aware of is from a workshop session at OFW11, listed here: http://openfoam-extend.sourceforge.n...s/courses.html Look for the session "Advanced dynamic mesh motion". If I remember correctly, it's either in the presentation and/or the cases somewhere a tutorial case that demonstrates topological changes. Best regards, Bruno
__________________
|
|
Tags |
dissolution, topological changes |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Solid-liquid dissolution | Divyaprakash | STAR-CCM+ | 0 | February 20, 2015 11:54 |
rhoCentralDyMFoam with topological changes | jimteb | OpenFOAM Programming & Development | 0 | October 14, 2014 12:40 |
small question about the functionalities of topological changes in OpenFoam | ngj | OpenFOAM Running, Solving & CFD | 2 | February 28, 2013 11:02 |
manual decomposition for topological changes | kdneroorkar | OpenFOAM | 15 | December 10, 2011 07:28 |
nitrogen dissolution | vikas | FLUENT | 0 | September 27, 2008 01:50 |