CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions

[isoAdvector] IsoAdvector: A new interface advection scheme for interFoam type calculations

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree65Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 21, 2016, 08:07
Default IsoAdvector: A new interface advection scheme for interFoam type calculations
  #1
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 84
Rep Power: 17
roenby will become famous soon enough
Dear FOAM'ers

During the past almost two years, we have been developing a new concept for sharp interface advection, called IsoAdvector. The scheme has been implemented as a proof-of-concept code in OpenFOAM, and tested with a series of standard advection test cases.

The conclusion so far is that the scheme performs much better than MULES, CICSAM and HRIC both on "pretty" and "ugly" meshes, and also allows maxCo much closer to 1 without significant loss of accuracy.

A paper explaining the new IsoAdvector concept and documenting its performance is submitted to the new journal Royal Society Open Science (RSOS). A preprint is available here:

http://arxiv.org/abs/1601.05392

For some movies, see:
https://www.youtube.com/channel/UCt6...8TTgz1iUX0prAA

Once the RSOS paper is out, the IsoAdvector code will be released as open source at:

https://github.com/isoAdvector (empty at the time of posting)

Naturally, for the scheme to be of practical interest, it must be implemented in an interFoam type solver. This will be the focus of our work in the coming months.

If you have any questions or are interested in collaborating on the testing, further development or application of the code, please do not hesitate to contact me (jro [at] dhigroup dot com).

Best regards,
Johan Roenby

Ps: This work is part of my postdoc project "Breaking the Code of Breaking Waves". For more information about this, please visit: http://roenby.com/postdoc/
roenby is offline   Reply With Quote

Old   March 8, 2016, 02:22
Default
  #2
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 550
Rep Power: 14
Phicau is on a distinguished road
Excellent work Johan, I cannot wait to see it in "real" action.
Phicau is offline   Reply With Quote

Old   March 8, 2016, 05:03
Default Water droplet falling in air
  #3
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 84
Rep Power: 17
roenby will become famous soon enough
Thanks, Pablo

There's a lot of devils-in-details, but I am slowly starting to integrate IsoAdvector in interFoam. Attached is a teaser demonstrating how IsoAdvector seems to outperform MULES in keeping the surface of a 2D water droplet sharp as it is released in air. Note that in cells within the outer green contour the mass of water is higher or equal to the mass of air (due to density aspect ratio 1:1000). With MULES the "surface smearing induced vapor" behind the falling droplet actually has a visible effect on the wake flow pattern (it becomes wider with larger eddies shed off).

I'll keep you posted.

Disclaimer: This is preliminary work and I do not claim the flow in the figure to be physically accurate. I only show it to demonstrate the difference in surface sharpness between IsoAdvector and MULES.
Attached Images
File Type: jpg sharpFallingDropletpptx.jpg (56.2 KB, 480 views)
roenby is offline   Reply With Quote

Old   June 10, 2016, 04:29
Default IsoAdvector with significantly reduced calculation times
  #4
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 84
Rep Power: 17
roenby will become famous soon enough
Dear FOAM'ers

I have just submitted a revised version of the RSOS manuscript: "A Computational Method for Sharp Interface Advection". Please find it here:

http://arxiv.org/abs/1601.05392

Since the first version, I have reorganised and profiled the isoAdvector code, so it is now significantly faster. As can be seen e.g. in Table 1f on page 15 of the new manuscript, IsoAdvector is now slightly faster than both the HRIC and CICSAM implementations, and 2-4 times faster than MULES. Still with the same superior quality of the solutions.

A damBreak video, demonstrating the difference in interface sharpness between IsoAdvector and MULES, can be found here:

https://www.youtube.com/watch?v=AARnZrrIsEA

Cheers,
Johan
roenby is offline   Reply With Quote

Old   June 18, 2016, 00:33
Default
  #5
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 853
Rep Power: 23
arjun will become famous soon enough
@Johan

You compared this isoAdvector against CICSAM from fluent, it was good but I keep wondering why you did not compare it against geo reconstruct.
Geo reconstruct is very similar to the scheme you are adding that is it cuts the cell to the volume equivalent of volume fraction.

Also if you have access to latest fluent versions they also have vof plus level set coupled just for this sharp interface thing. (Actually they also have third option too for sharper interphase, i forgot the name)

I feel it would be better if you had compared against these two rather than their old scheme of CICSAM.

Good luck.

Arjun
arjun is offline   Reply With Quote

Old   June 18, 2016, 16:57
Default Re: Why not compare with FLUENT's Geo-Reconstruct VOF
  #6
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 84
Rep Power: 17
roenby will become famous soon enough
Dear Arjun

Thank you for your question and interest in the isoAdvector scheme.

First, let me clear out a misunderstanding: None of the results in "A Computational Method for Sharp Interface Advection"[1] were obtained using commercial codes.

I do not have access to codes like Fluent and STAR-CCM+. The careful reader of the first paper draft[2] will note that I only mention these commercial codes as examples of codes that provide the CICSAM and HRIC schemes for interface flow simulations. Nowhere do I write that we actually used these codes to obtain the CICSAM and HRIC reference results in the paper.

Since both reviewers (like you) got the impression that commercial codes had been used to produce the reference results in [2], I have now added the following sentence to the revised version of the paper (p. 12 in [1]):

Quote:
“For the HRIC and CICSAM calculations, we use our own implementations of the schemes in OpenFOAM. The schemes are available together with isoAdvector code in the repository [13], where all setup files for the following test cases may also be found.”
So, to make a long story short: I do not have access to FLUENT, and therefore cannot test their geo reconstruct scheme.

I would be very interested in seeing how this scheme performs on some of the simple disk advection test cases with a uniform velocity field on structured and unstructured meshes (Section 4.1 in [1]). Is this something you could maybe provide? The setup should be fairly simple, I guess, if you are already familiar with the code.

I’ve been searching a bit for details about how the Geo-Reconstruct method in Fluent works. Basically, the only source I have been able to find is their manual[3], which only says that it is a generalization of the Youngs method[4] to unstructured meshes (If anyone is aware of more detailed documentation of the method, please let me know about it). Looking through Youngs method as described in [4], I realized, that this is the same as saying that they do not want to reveal any details about how Geo-Reconstruct works, except that it involves a geometric reconstruction of the interface. This is fair enough, I guess, if ANSYS sees the scheme as one of their competitive advantages. But one could argue that because ANSYS have not documented the method in a scientific paper makes the method de-facto non-existing from a scientific perspective.

I would also like to stress that isoAdvector is not just another implementation of PLIC in an unstructured framework. I firmly believe that some genuinely new ideas have been introduced with the scheme. Allow me to quote from the conclusion of the revised manuscript (p. 25 of [1]):

Quote:
“The novelty in the reconstruction step is the usage of efficient isosurface calculations to estimate the distribution of fluids inside computational cells. This is a very robust method even on unstructured meshes. It avoids the gradient calculations traditionally used in geometric VOF reconstruction step, which may cause problems, because the numerically estimated gradient is a cell volume averaged Dirac delta-function.

In the interface advection step, the novelty is the division of the time step into sub time intervals on which we can analytically calculate the volume fraction flux through a mesh face under the assumption that the interface is moving steadily across the face during the interval. In the development of this procedure, no assumptions are made on the shape of a face, and therefore also the advection step is by design applicable on arbitrary meshes.”
I hope this answers your question.

Kind regards,

Johan

[1] http://arxiv.org/abs/1601.05392v2
[2] http://arxiv.org/abs/1601.05392v1
[3] https://www.sharcnet.ca/Software/Flu...ug/node935.htm
[4] Youngs, D. L. “Time-Dependent Multi-Material Flow With Large Fluid Distortion”, 1982.
olivierG and amachado like this.
roenby is offline   Reply With Quote

Old   June 18, 2016, 23:04
Default
  #7
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 853
Rep Power: 23
arjun will become famous soon enough
Johan

Thank you for replying and explaning why you did not compare it against geo reconstruct. It makes sense now.

I too do not have access to fluent or ccm. Fluent 6.3 is last fluent i used. But I am quite aware of what they do (as per their theory guides) since I have followed them from their version 4.

Fluent people delibrately miss key points in their theory, it has been always like this. Most of their description of their method is very clear (as long as details are also present in public domain) but when it comes to specifics of things present only in their solver they are very vague.

In case of geo reconstruct though their hint is better than other times. This is what I understood from their discription:
1. calculate gradient of volume fraction.
2. From this gradient get the normal of suface.
3. Find the location where it cuts in volume equivalent to volume fraction.
4. Find normal and tengential velocity components.
5. Advect in three velocity directions to determine how much volume goes to neighbours.
6. make adjustments , like bounding etc.
7. Advect.

anyway, I agree your method has significant differences, this is why wished to see how much it improves over geo reconstruct.

PS: For those who are interested here is link to youngs paper.

https://www.researchgate.net/profile...daaacd1f0b.pdf
roenby likes this.
arjun is offline   Reply With Quote

Old   November 18, 2016, 04:15
Default
  #8
Senior Member
 
Olivier
Join Date: Jun 2009
Location: France, grenoble
Posts: 272
Rep Power: 14
olivierG is on a distinguished road
hello,

Any new about isoAdvector and your interFoam solver based on this ?
Will this method be on github finally ?

By the way, since i have access to Fluent 17.2, i can make a bench with geo reconstruct, hybrid level set method if you still need it.

regards,
olivier
olivierG is offline   Reply With Quote

Old   November 18, 2016, 04:20
Default
  #9
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 84
Rep Power: 17
roenby will become famous soon enough
Hi Olivier

The paper will be published and the code will be released on Wednesday next week (23 November 2016).

Best,
Johan
roenby is offline   Reply With Quote

Old   November 23, 2016, 16:24
Default
  #10
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 84
Rep Power: 17
roenby will become famous soon enough
Hey guys - it's out... please see here.
cedric_duprat, arjun, JonW and 4 others like this.
roenby is offline   Reply With Quote

Old   December 7, 2016, 22:53
Default
  #11
Member
 
Join Date: Jul 2010
Posts: 55
Rep Power: 12
ashkan is on a distinguished road
Hi Johan,

First of all, thank you for your very intersting and indeed highly useful work. I noted the new 'interFlow" solver to replace 'interFoam" and was just wondering is it possible to use it with interDyMFoam?

Many thanks in advacnce
Ashkan
ashkan is offline   Reply With Quote

Old   December 8, 2016, 11:31
Default
  #12
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 84
Rep Power: 17
roenby will become famous soon enough
Hi Ashkan

Dynamic mesh support is not yet implemented. On the to-do list, but cannot say when it will be done. Hopefully within the next few months. Keep an eye on the commits in the github repo.

Kind regards,
Johan
roenby is offline   Reply With Quote

Old   December 11, 2016, 15:32
Default
  #13
Member
 
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 7
kal1943335 is on a distinguished road
Hi Johan,
First of all, Thank you very much for your contribution to the openfoam community. By the way, I was trying to install interFlow solver and noticed that it's only available for three versions of openFoam. I'm using openFoam 2.3.0 and would prefer to install on that. I have seen you mentioned that it can be installed in other versions with slight modifications. Can you please let me know what kind of modifications have to be done in order to solve it in openFoam 2.3.0.

Thank you again for your time.

Kalpana
kal1943335 is offline   Reply With Quote

Old   December 13, 2016, 09:42
Default
  #14
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 853
Rep Power: 23
arjun will become famous soon enough
Hi

could you point me to this test case? I recently implemented W-THINC in FVUS/Wildkatze solver and wish to see how that does. So far THINC seems to be very sharp and maintains sharpness over long periods of time.

I am curious how it would handle this as THINC still is a finite volume scheme like CIP and schemes like that.

Arjun

Quote:
Originally Posted by roenby View Post
Thanks, Pablo

There's a lot of devils-in-details, but I am slowly starting to integrate IsoAdvector in interFoam. Attached is a teaser demonstrating how IsoAdvector seems to outperform MULES in keeping the surface of a 2D water droplet sharp as it is released in air. Note that in cells within the outer green contour the mass of water is higher or equal to the mass of air (due to density aspect ratio 1:1000). With MULES the "surface smearing induced vapor" behind the falling droplet actually has a visible effect on the wake flow pattern (it becomes wider with larger eddies shed off).

I'll keep you posted.

Disclaimer: This is preliminary work and I do not claim the flow in the figure to be physically accurate. I only show it to demonstrate the difference in surface sharpness between IsoAdvector and MULES.
arjun is offline   Reply With Quote

Old   December 15, 2016, 09:47
Default
  #15
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 84
Rep Power: 17
roenby will become famous soon enough
Hey Arjun

Try this one: fallingDisc.tar.gz

The width of the interface with MULES and cAlpha = 1 can also be seen if you run the damBreak case and plot e.g. the 0.999-contour and the 0.001-contour.

I'd be interested in seeing some result plots on how THINC performs in this respect.

Best,
Johan

Quote:
Originally Posted by arjun View Post
Hi

could you point me to this test case? I recently implemented W-THINC in FVUS/Wildkatze solver and wish to see how that does. So far THINC seems to be very sharp and maintains sharpness over long periods of time.

I am curious how it would handle this as THINC still is a finite volume scheme like CIP and schemes like that.

Arjun
roenby is offline   Reply With Quote

Old   December 15, 2016, 15:51
Default
  #16
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 84
Rep Power: 17
roenby will become famous soon enough
Quote:
Originally Posted by kal1943335 View Post
Hi Johan,
First of all, Thank you very much for your contribution to the openfoam community. By the way, I was trying to install interFlow solver and noticed that it's only available for three versions of openFoam. I'm using openFoam 2.3.0 and would prefer to install on that. I have seen you mentioned that it can be installed in other versions with slight modifications. Can you please let me know what kind of modifications have to be done in order to solve it in openFoam 2.3.0.

Thank you again for your time.

Kalpana
Just tried to compile the isoAdvector code with OF-2.3.0 simply by renaming the OpenFOAM-2.2.0 directories in isoAdvector/applications and isoAdvector/src to OpenFOAM-2.3.0. The "src" stuff compiles without problems. InterFlow gives an error related to the many API changes introduced in the twoPhaseMixture formulation from OF-2.1.x to 2.2.x on to 2.3.x.

If you want to get an overview of these changes have a look at this file:
https://github.com/OpenFOAM/OpenFOAM...m/Make/options
and the corresponding URL with 2.3.x replaced by 2.2.x and by 2.1.x. Also look at the createFields.H and interFoam.C files and locate the twoPhaseMixture stuff in them to see the difference.

An easier approach would probably be to simply build interFlow-2.3.0 by copying interFoam-2.3.0 and then line by line introduce all the changes you can observe I introduced to get from interFoam-2.2.0 to interFlow-2.2.0.

If you are not in a hurry, I'd advise you to just do something else for a few months and then someone will probably have made a 2.3.0 compatible interFlow version while you were lying on the beach drinking margaritas ;-)

Best,
Johan
roenby is offline   Reply With Quote

Old   December 15, 2016, 20:05
Default
  #17
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 853
Rep Power: 23
arjun will become famous soon enough
Quote:
Originally Posted by roenby View Post
Hey Arjun

Try this one: Attachment 52622

The width of the interface with MULES and cAlpha = 1 can also be seen if you run the damBreak case and plot e.g. the 0.999-contour and the 0.001-contour.

I'd be interested in seeing some result plots on how THINC performs in this respect.

Best,
Johan
Thank you. I will try this.

So far THINC has worked amazing, it is able to maintain that 1 or 1.5 cell thickness even after running say 300000 times steps and with no sign of breaking down.

On youtube here is one example I run with thinc
https://www.youtube.com/watch?v=dGMN_OeuO24

I will try the falling disk too, as i understand the set up.
arjun is offline   Reply With Quote

Old   December 16, 2016, 03:27
Default
  #18
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,379
Rep Power: 26
akidess will become famous soon enough
Quote:
Originally Posted by arjun View Post
Thank you. I will try this.

So far THINC has worked amazing, it is able to maintain that 1 or 1.5 cell thickness even after running say 300000 times steps and with no sign of breaking down.

On youtube here is one example I run with thinc
https://www.youtube.com/watch?v=dGMN_OeuO24

I will try the falling disk too, as i understand the set up.
One second into the YouTube movie, you get an extreme zigzag shape on the top fluid surface. Can that be physical? To me it looks like a numerical artifact which I've also seen with MULES and overly compressive settings.
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
akidess is offline   Reply With Quote

Old   December 16, 2016, 04:41
Default
  #19
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 853
Rep Power: 23
arjun will become famous soon enough
Quote:
Originally Posted by akidess View Post
One second into the YouTube movie, you get an extreme zigzag shape on the top fluid surface. Can that be physical? To me it looks like a numerical artifact which I've also seen with MULES and overly compressive settings.
No it is alright, I also felt so but I have run lots of test cases.
I can produce this zig yag you talk about if I only use THINC (without the blending)

This scheme is a hybrid, it is blend with CICSAM and the reason for blending is this zig zag that comes due to compression. So when the shape is along the face it uses THINC and when nterface angle increases it uses CICSAM.

I am also running an industrial test case with it and not seen that compressive artifact.

This is one of the example of this test case that come from industry

https://www.youtube.com/watch?v=ir1tpV_JhiM
arjun is offline   Reply With Quote

Old   December 16, 2016, 09:18
Default
  #20
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,379
Rep Power: 26
akidess will become famous soon enough
That case is so violent it's difficult to judge by just looking at the video (though I'm sure you had some other quantities to compare to, and I believe you know what you are doing). On your 3cm video (https://www.youtube.com/watch?v=3NRh-uVJ4Ac) there seem to be some similar artifacts close to the walls near the outlet.
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
akidess is offline   Reply With Quote

Reply

Tags
interface, interfoam, isoadvector, multiphase, unstructured mesh, vof

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


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 05:49
rhoPimpleFoam hardship petrus OpenFOAM Running, Solving & CFD 0 October 7, 2016 02:41
Wrong flow in ratating domain problem Sanyo CFX 17 August 15, 2015 06:20
interFoam/kOmegaSST tank filling with printStackError/Mules simpomann OpenFOAM Running, Solving & CFD 3 February 17, 2014 17:06
T Junction Stability ignacio OpenFOAM Running, Solving & CFD 5 May 2, 2013 10:44


All times are GMT -4. The time now is 20:15.