|
[Sponsors] |
[isoAdvector] IsoAdvector: A new interface advection scheme for interFoam type calculations |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 16, 2016, 11:09 |
|
#21 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,290
Rep Power: 34 |
Quote:
This is why earlier it used HRIC and now it is using CICSAM. The testing on it is still going on. I would even work on that dam break case to acertain about what you pointed out. Acuracy at the moment is quite important specially this 3cm case as the experimental values and numerical errors are in similar values there is not scope for making any errors. |
||
December 16, 2016, 13:58 |
|
#22 | |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
Quote:
Thank you very much for your comments. I'll check those files. I wish I could wait for someone else to compile it for 2.3.0, but I'm in a little hurry. I have installed of4.0 version to check and i'm trying to transfer my modifications to your solver. thank you again for your reply, Kalpana. |
||
January 20, 2017, 06:54 |
IsoAdvector update
|
#23 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
There is an update of the isoAdvector code on github:
Here is an overview of what is changed:
Johan |
|
May 30, 2017, 13:27 |
|
#24 | ||
New Member
Alex Machado
Join Date: Feb 2014
Location: Brazil
Posts: 8
Rep Power: 12 |
Dear Johan Roenby,
First of all, thanks for your remarkable work and for sharing it with us. I have made some modifications in interFlow code, in order to consider dynamic mesh. So I have a kind of interDyMFlow. My objective is just to test the code with solid body motion, but the modifications made in the code may enable remeshing and other stuff. Even though the results with my version of the interDyMFlow seem to be good, the most problem is mass conservation, in this case, volume conservation. The simulated problem was 10 sec, at the end I have this message in the log: Quote:
Thus, my question is what to do to improve that. My results can be found here: https://www.youtube.com/watch?v=f8oIkOsDk50 Quote:
|
|||
May 31, 2017, 07:04 |
|
#25 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
Dear Alex
That is awesome! Moving mesh capabilities has been on my todo list for a very long time now. Are you willing to share your modifications? Regarding the mass conservation, first let me say, loosing 0.1% of volume in 10 secs with 1e-4 sec time steps in my opinion is not that bad and will probably be good enough for many applications. Do you know the corresponding number for you MULES simulation? That said, isoAdvector is only strictly mass conserving if you run with clip = false and snapAlphaTol = 0. This in turn may lead to build up of unboundedness (probably more likely for larger time steps). I think it might also be the case that if you have very small time steps (which you do with max alphaCo = 0.056027) then the brute force clipping is done many more times per simulation second than if you went with time steps in the range maxAlphaCo = 0.1-0.5. Another thing to keep in mind is that the p_rghFinal tolerance in fvSolution is also important here since it controls the accuracy with which the volumetric fluxes through the faces of a cell sum to zero as they should in incompressible flow. If this tolerance is loose then the fluxes (phi) that isoAdvector is working with are not conservative and one cannot expect strict conservation from isoAdvector either. So in summary: First things to try are playing with time step size, clip, snapAlphaTol, p_rghFinal tolerance. Let us know if any of this works for you. Kind regards, Johan Ps: You could check if the volume conservation problem is caused by the moving mesh by running two versions of the discInUniFlow case: 1) One where the mesh is stationary, 2) One where the mesh moves in some predefined manner. In both these cases the sum of phi's for a cell will be exactly zero as it should (taking the face normal directions properly into account). If they give the same mass conservation accuracy, chances are that it is the phi's calculated in the PISO loop that mess up volume conservation when isoAdvector is coupled with the p-U solver. |
|
June 5, 2017, 16:11 |
|
#26 | |
New Member
Alex Machado
Join Date: Feb 2014
Location: Brazil
Posts: 8
Rep Power: 12 |
Hi Johan,
Sorry for the delay, I want to share the code. But I would like to know what is the best way to do that, in order to preserve the modifications. github? could we use the same isoAdvector repository? I have tested interDyMFlow with prescribed U, using the discInUniFlow case, as you said. The deviation from initial alpha volume is -3.5994679952449e-09% after 3 sec. The results were good. Please see the gif attached. For this case, the fvSolution setup was: Quote:
Thus, It seems to me the PISO loop is jeopardizing the volume conservation. There's more research to be done in this part. PS: I also ran the discInUniFlow case with slow angular velocity (1e-12), and the volume conservation was even better (5.112134860854e-11%). Thanks, Alex prescribedU_interDyMFlow.gif |
||
June 7, 2017, 21:52 |
|
#27 | |
New Member
Alex Machado
Join Date: Feb 2014
Location: Brazil
Posts: 8
Rep Power: 12 |
There is another issue concerning interpolation methods.
I can't run the simulations with the other schemes, (CICSAM, HRIC and interfacevof). With HRIC I can run but the results don't make sense, it is extremely diffusive. "I have been seen this message: Quote:
Alex |
||
June 19, 2017, 04:12 |
|
#28 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
Hi Alex
Sorry for not getting back to you before now. I've been busy with the integration of isoAdvector into OpenFOAM+ which should be released as a new solver in v1706+. You can follow the development here: https://develop.openfoam.com/Communi...commits/master Good to see that your dynamic mesh implementation preserves the volume conservation very well. The shape preservation also looks good until the mesh motion changes direction where there is some distortion in the shape. Regarding sharing of your dynamiMesh version of isoAdvector, you could fork the isoAdvector project on github, put your modifications/additions into a new branch and make a merge request. If you prefer, you could also send me your code via e-mail and I will try to incorporate it (when I have the time). It is basically up to you. Of course, you will be acknowledged in the README for your contribution. I don't have time right now to fix the HRIC etc. issue you mention. I've created an issue on github (https://github.com/isoAdvector/isoAdvector/issues/8) and will try to fix it at a later time. Best regards, Johan |
|
June 19, 2017, 11:23 |
|
#29 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Hi all,
just came across the isoAdvector scheme and wonder if you will contribute that scheme to the OpenFOAM toolbox in order to enable it for everybody or lets say - already available in the original source files?
__________________
Keep foaming, Tobias Holzmann |
|
June 20, 2017, 02:35 |
|
#30 |
Senior Member
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 30 |
Which OpenFOAM toolbox? ;-) Considering the contributors most likely candidates would be foam-extend or ESi-OpenFOAM+.
__________________
*On twitter @akidTwit *Spend as much time formulating your questions as you expect people to spend on their answer. |
|
June 20, 2017, 04:03 |
|
#31 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
Hi Tobias
Short answer: yes. Long answer: I am currently collaborating with ESI-OpenCFD to integrate isoAdvector into OpenFOAM-v1706+ (i.e. openfoam.com). So stay tuned... There are a number of reasons why I have not felt comfortable contributing the code to the OpenFOAM Foundation (i.e. openfoam.org): 1. The requirement for giving up the copyright of my contribution (or rather DHI's copyright). I am aware of the reasoning behind this requirement. Might consider it if it wasn't for 2. and 3. 2. The almost hostile attitude of the Foundation towards the OpenFOAM community and its contribution. 3. Their reputation of not respecting basic best practices in author acknowledgement (see e.g. [1]). ESI-OpenCFD have been very helpful and friendly in the code integration process and I believe they are genuinely interested in (and are able and willing to allocate resources for) facilitating a true open source community around their version of OpenFOAM. In my view, this effort has a huge potential for accelerating CFD development with community driven high quality contributions being continuously fed into the code. This is already working in the foam-extend version, but this community suffers to some degree from lack of base funding for code maintenance and community organisation. As I see it, the ideal solution would be a merge of foam-extend and OpenFOAM+ both in terms of code and community. KR, Johan [1] Original OpenFOAM author(s)? |
|
June 20, 2017, 07:10 |
|
#32 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Thanks for your information.
Good to know. However it is an interesting point that you mention. I am working with FOAM for more than 7 years now and I feel very sad about all the different versions and pro's/cons to that. I am always wondering when I join some FOAM User meetings, most of the people are using the Foundation version rather than ESI or Extend, especially based on the fact that these are user meetings I would expect that most of them are using the extend version. However, this is something which everyone has to decide him- or herself. I guess in point #1 there are cons and pros to give the copyrights to the Foundation. I understand it and I have to give my copyright to them too, whenever I put a patch of feature. But if I think about all the actual work that I do in my spare time for the community, which is free accessible, I am not sure if all people are respecting the Copyrights. But this is another story. To your second and third point I cannot say anything about that. I am always wondering why Henry and Hrv were good friends (Dedicated to ... in their PhD.'s) and now its something complete different. But as I said, I cannot say anything about that only if I would had the chance to talk to Henry and Hrv personally about that topic which will never happen. All in all, I see that we will not have that contribution to the Foundation version which is understandable. Thanks for the reply (:
__________________
Keep foaming, Tobias Holzmann |
|
June 21, 2017, 10:10 |
|
#33 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,290
Rep Power: 34 |
Quote:
It seems Henry Weller created FOAM in 1989 and Hrv showed up in imperial college in 1993, so there was three year of development in FOAM before Hrv joined in. So as far as I am concerned, i am of opinion that Henry Weller is original author of FOAM (because 3 years is significant time). PS: According to someone who was there when Hrv was doing phd, Hrv was using FOAM for his phd, which seems to be correct way of putting it as in 1996 Hrv dedicates phd to Henry. (does not sound like a equal contribution to me from it). PS2: I am writing FVUS for last 2 years and it is already a big code with lots of model. Now if i hire some developer to work further, i won't like it if he claims to be the original co-author. |
||
July 6, 2017, 00:35 |
|
#34 |
Member
YS
Join Date: Jan 2010
Posts: 96
Rep Power: 16 |
Hello there,
I'd much appreciate if any of you could share with me the status of incorporating the Moving mesh capabilities in isoAdvector. Many thanks! |
|
January 30, 2018, 15:17 |
Adaptive mesh refinement with InterFlow
|
#35 |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
Dear all,
I modified interFlow solver to include dynamic mesh utility (following the steps in interDyMFoam). I managed to compile the solver without errors. However, I'm getting following warnings and error when I tried damBreakWithObstacle case. PHP Code:
Thank you in advance, Kalpana |
|
January 30, 2018, 18:40 |
|
#36 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
Hi Kalpana
You get an error message from the function Foam:olyBoundaryMesh::whichPatch(int) saying: "given label 16843009 greater than the number of geometric faces 132443" Apparently the fvMesh object which is referenced in the isoAdvector class is not properly updated, when the mesh is update by the function Foam::dynamicRefineFvMesh::update() Maybe this is related to the fact that the hexRef8 object that the dynamicRefineFvMesh class uses to do the cell cutting works on a polyMesh and not an fvMesh? I experienced a similar problem and worked around it by moving the consturction of the isoAdvection class from createFields.H to alphaEqn.H. This causes the isoAdvection object to be constructed and destroyed at every time step, which is computationally suboptimal, but works for now. If you managed to solve this properly, please let me know what you did so we can get it into the isoAdvector code. Best, Johan |
|
January 30, 2018, 20:15 |
|
#37 | |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
Quote:
I gave a quick try on what you suggested. I moved the isoAdvection constructor to .C file. Now I'm not getting that error. However, I'm getting the warning PHP Code:
PHP Code:
Thank you again, Kalpana |
||
January 31, 2018, 04:16 |
|
#38 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
Hi Kalpana
The isoAdvection construction should not take place in a ".C" file. It should be in the alphaEqn.H file as I wrote. Within the "{}" brackets so it is destroyed properly at each time step. Also make sure that if your surfCellTol is set to 1e-6 then your p_rghFinal should be lower, e.g. 1e-8 to avoid isoAdvector isocutting cells that are not surface cells but are just cells with bad volume conservation (sum(phi) != 0). Cheers, Johan |
|
January 31, 2018, 09:31 |
|
#39 | |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
Quote:
I have an older version where you used alpha equation inside the .C file. I'll check the latest version. Thank you again for your suggestions. Kalpana |
||
January 31, 2018, 11:57 |
|
#40 |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
Hi Johan,
I managed to use the current version of interFlow and combined the modification required to use adaptive mesh refinement. As you suggested I removed the constructor from createFields (createFields/createIsoAdvection.H) and included in alphaEqn.H as follows. PHP Code:
PHP Code:
PHP Code:
Thank you again, Kalpana |
|
Tags |
interface, interfoam, isoadvector, multiphase, unstructured mesh, vof |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Other] simulation of closing the gate using moving mesh | simin_ds | OpenFOAM Meshing & Mesh Conversion | 8 | April 12, 2019 06:49 |
rhoPimpleFoam hardship | petrus | OpenFOAM Running, Solving & CFD | 0 | October 7, 2016 03:41 |
Wrong flow in ratating domain problem | Sanyo | CFX | 17 | August 15, 2015 07:20 |
interFoam/kOmegaSST tank filling with printStackError/Mules | simpomann | OpenFOAM Running, Solving & CFD | 3 | February 17, 2014 18:06 |
T Junction Stability | ignacio | OpenFOAM Running, Solving & CFD | 5 | May 2, 2013 11:44 |