CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM News & Announcements > OpenFOAM Announcements from Other Sources

IsoAdvector release

Register Blogs Community New Posts Updated Threads Search

Like Tree14Likes
  • 14 Post By roenby

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 23, 2016, 07:25
Default IsoAdvector release
  #1
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 92
Rep Power: 20
roenby will become famous soon enough
Dear foam’ers

Today we release the first version of our new geometric Volume-of-Fluid (VOF) algorithm for general meshes, isoAdvector:

https://github.com/isoAdvector/isoAdvector

The performance of and conceptueal ideas behind the method are described in the paper, “A computational method for sharp interface advection” just published in Royal Society Open Science:

http://dx.doi.org/10.1098/rsos.160405

We hope the large part of the CFD community working with interfacial flows will benefit from the improved accuracy and interface sharpness obtained with isoAdvector.

The isoAdvector code and concept are still under development. Therefore, if you test the code, we would appreciate if you could give us a few lines of feedback with description of your case setup and the effect isoAdvector has on your runs. The best way to give feedback is to write a post on cfd-online.com/Forums/openfoam/ under the relevant category and tag the post 'isoadvector'.

Kind regards,
Johan Roenby
roenby is offline   Reply With Quote

Old   November 24, 2016, 04:45
Default
  #2
Senior Member
 
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16
Andrea_85 is on a distinguished road
Hi Johan,

It looks a very interesting and promising work for the whole CFD community dealing with interfacial flows. I ll test the code as soon as possible!

I have just a side question. You probably know that one of the biggest problem reported by the interFoam users is the appearance of spurious velocity in the vicinity of the interface in case of surface tension-dominated two phase flows. The origin of these non physical velocity are manifold: inaccuracies in the interface normal vector calculation, inconsistent discrete balance between pressure gradient and surface tension but also inacuraccies coming from the advection step (difficult to get second order convergence with standard compression schemes as MULES). Did you observe any improvement on this side using isoAdvector with respect to MULES? Do you think we can tale advantages from isoAdvector to improve the calculation of the normal vector at the interface (maybe using the isosurface instead of differentiating alpha1...but here i am just guessing)?

Best,

Andrea
Andrea_85 is offline   Reply With Quote

Old   November 24, 2016, 05:37
Default
  #3
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 92
Rep Power: 20
roenby will become famous soon enough
Dear Andrea

Thanks for you question, which is indeed a very good one.

So, did I observe any improvement on the appearance of spurious velocity in the vicinity of the interface in case of surface tension-dominated two phase flows using isoAdvector?

The short answer is "No". The long one follows below:

My field of application is large breaking ocean wave with no attempt of resolving all droplets and bubbles down to scales where surface tension is relevant. In our wave simulations, setting the surface tension to zero or its physical value has no effect at all.

We do, however, experience strange kinematics at the interface. These are altered when using isoAdvector for advection because of the razor sharp interface. Mostly for the better in my experience so far, but I still don't have solid documentation for this.

Anyway, the main problem persists. Which in my understanding is the somewhat naive way the existence of a density jump is dealt with (or rather, not dealt with) in ther pressure-velocity coupling, i.e. in the PISO loop. Some very interesting work on treating this more consistenly has been done by Vuko Vukcevic in his PhD with Prof. Jasak at University of Zagreb (still not published, I think). They use the "Embedded free surface method" which seems to kill the spurious velocities in our type of flows without surface tension. I have some alternative ideas, which I am currently working on, about how to exploit the subcell fluid distribution information obtained with isoAdvector to solve the problem. And, yes, working with the normal of the "isoface" rather than doing a gradient calculation is definitely one of the tricks which I hope will improve things.

For you surface tension people, I believe you will also need an improved estimate of the curvature, right? This information is somehow contained in the difference in surface normal direction between adjacent surface cells. Hmm... still thinking about how to cook this up in a consistent and robust way for general meshes...

I hope this sort of answers your questions.

Cheers,
Johan
roenby is offline   Reply With Quote

Old   November 25, 2016, 11:57
Default
  #4
Senior Member
 
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16
Andrea_85 is on a distinguished road
Dear Johan

this definitely answers my question..
Another short one, does it support axisymmetric meshes?

Best,

andrea
Andrea_85 is offline   Reply With Quote

Old   November 28, 2016, 07:21
Default
  #5
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 92
Rep Power: 20
roenby will become famous soon enough
I have not tried isoAdvector with an axisymmetric case. I don't see why it shouldn't work, though. If you try it with an axisymmetric case, I'd like to know if it works at it should.

Cheers,
Johan
roenby is offline   Reply With Quote

Old   November 28, 2016, 07:53
Default
  #6
Senior Member
 
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16
Andrea_85 is on a distinguished road
I asked because i tried simulating an axisymmetric bubble in a microchannel and i got floating point error, but i am not 100% sure i set up everything correctly. The mesh is non-uniform, more refined close to the channel wall with a maximum aspect ration of about 30. The same case works with interFoam but i got a lot of alpha diffusion in the non-uniform mesh region.

I ll try to play a bit with the isoAdvector options to see if i can get rid of the error. Ill let you know

Best,
Andrea
Andrea_85 is offline   Reply With Quote

Old   December 16, 2016, 05:20
Default Great work!!!
  #7
New Member
 
Xinze
Join Date: Mar 2009
Location: Shenyang, China
Posts: 14
Rep Power: 17
Xinze is on a distinguished road
Firstly, Thank you very much for your sharing these state of the art work.

Today, I git the latest codes from github.com

I compiled the code based on OF-4.1. No any error.

I tested your run directory, it works perfectly.

Then I re-run a case using interFlow, which has been tested using interFoam, and I obtained the following a lot of warnings.

"
--> FOAM Warning :
From function void Foam::isoAdvection::timeIntegratedFlux()
in file isoAdvection/isoAdvection.C at line 205
mag(n0) = 4.4512e-13 < 1e-6*minMagSf_ for cell 483737
--> FOAM Warning :
From function void Foam::isoAdvection::timeIntegratedFlux()
in file isoAdvection/isoAdvection.C at line 205
mag(n0) = 2.24526e-13 < 1e-6*minMagSf_ for cell 483877
--> FOAM Warning :
From function void Foam::isoAdvection::timeIntegratedFlux()
in file isoAdvection/isoAdvection.C at line 205
mag(n0) = 4.22936e-12 < 1e-6*minMagSf_ for cell 486725
"

Will these warnings change the correct of numerical solution or any effect? How to circumvent these warnings? I have read the code in isoAdvection.C and I known these warnings come from the cell cut is too either full or empty, but in physics will this process change the conversion of momentum/mass?

Another question is after using isoAdvector method whether Adapt Refine Method, such as interDyMFoam family, will loose the significance.

Finally, is there any plan to extend this method into mulphaseInterFlow, compressibleMulphaseInterFlow?

Best,
XZ
Xinze is offline   Reply With Quote

Old   December 18, 2016, 09:19
Default
  #8
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,273
Rep Power: 34
arjun will become famous soon enougharjun will become famous soon enough
Quote:
Originally Posted by Andrea_85 View Post
Hi Johan,

It looks a very interesting and promising work for the whole CFD community dealing with interfacial flows. I ll test the code as soon as possible!

I have just a side question. You probably know that one of the biggest problem reported by the interFoam users is the appearance of spurious velocity in the vicinity of the interface in case of surface tension-dominated two phase flows. The origin of these non physical velocity are manifold: inaccuracies in the interface normal vector calculation, inconsistent discrete balance between pressure gradient and surface tension but also inacuraccies coming from the advection step (difficult to get second order convergence with standard compression schemes as MULES). Did you observe any improvement on this side using isoAdvector with respect to MULES? Do you think we can tale advantages from isoAdvector to improve the calculation of the normal vector at the interface (maybe using the isosurface instead of differentiating alpha1...but here i am just guessing)?

Best,

Andrea

A small comment on this issue. In starccm+ Samir added something called momentum dissipation which seems to reduce this spurious velocities greatly.
I did have small talk with samir and my understanding is that he adds a dissipation term that try to balance the force imblance due to density difference.

I don't know the exact formulation but there was a ppt where Samir (and milovan peric) presented this. I will try to search it. If I find i will attach to it.
arjun is offline   Reply With Quote

Old   December 19, 2016, 04:21
Default
  #9
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 29
akidess will become famous soon enough
Quote:
Originally Posted by arjun View Post
A small comment on this issue. In starccm+ Samir added something called momentum dissipation which seems to reduce this spurious velocities greatly.
I did have small talk with samir and my understanding is that he adds a dissipation term that try to balance the force imblance due to density difference.

I don't know the exact formulation but there was a ppt where Samir (and milovan peric) presented this. I will try to search it. If I find i will attach to it.
Reminds me a lot of this paper by Denner et al:
Denner, F., Evrard, F., Serfaty, R., van Wachem, B. G. M., Jan. 2017. Artificial viscosity model to mitigate numerical artefacts at fluid interfaces with surface tension. Computers & Fluids 143, 59-72.
URL http://dx.doi.org/10.1016/j.compfluid.2016.11.006
__________________
*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 19, 2016, 08:36
Default
  #10
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,273
Rep Power: 34
arjun will become famous soon enougharjun will become famous soon enough
Quote:
Originally Posted by akidess View Post
Reminds me a lot of this paper by Denner et al:
Denner, F., Evrard, F., Serfaty, R., van Wachem, B. G. M., Jan. 2017. Artificial viscosity model to mitigate numerical artefacts at fluid interfaces with surface tension. Computers & Fluids 143, 59-72.
URL http://dx.doi.org/10.1016/j.compfluid.2016.11.006

Thank you for the paper. You are right it is along the lines what it mentions, though I am not aware of exact details.
I will try what this paper mentions and see how it goes.
arjun is offline   Reply With Quote

Old   January 27, 2017, 13:03
Default
  #11
Senior Member
 
Pei-Ying Hsieh
Join Date: Mar 2009
Posts: 334
Rep Power: 18
phsieh2005 is on a distinguished road
Hi, Johan,

Is there a short descriptions (steps) on how to install isoAdvector and run cases?

Thanks!

Pei-Ying
phsieh2005 is offline   Reply With Quote

Old   April 20, 2017, 12:15
Default
  #12
Cyp
Senior Member
 
Cyprien
Join Date: Feb 2010
Location: Stanford University
Posts: 299
Rep Power: 18
Cyp is on a distinguished road
Hi Johan et al.,

I read your paper and tried isoAdvector. Very interesting work. To follow up with Andrea question, I have a question regarding the coupling with Navier-Stokes and the computation of surface tension force. Do you use the original approach of interFoam to compute the normal to the interface in every cell or do you compute the normal based on the isoface you computed during the advection of the interface? (seems to me that the second approach will be more accurate).

For info, I tried the code (interFlow) on the static droplet case (a droplet in a square box without any flow), and the results are completely unphysical (not only we have spurious velocities but we also have a fragmentation of the droplet..

Cheers,
Cyprien
Cyp is offline   Reply With Quote

Old   April 20, 2017, 15:04
Default
  #13
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 92
Rep Power: 20
roenby will become famous soon enough
Hi Cyprien

I have not altered the surface tension implementation of interFoam in the interFlow solver since focus was more on the isolated interface advection problem in my postdoc and because surface tension is of minor importance in my type of applications. You can have a look here to confirm that the surface tension contribution to the flux source term in the pressure poisson equation is indeed unaltered:

https://github.com/isoAdvector/isoAd...terFlow/pEqn.H

I now realise that a lot of interFoam users are dealing with surface tension dominated flow problems and that the sharper interface obtained with isoadvector might make the snGrad(rho) more noisy. I'd really like to dive into this problem but for now I am unfortunately very short of time for anything that is not essential to my own line of work. One thing you could try is to work with snGrad(smoothedCopyOfAlpha1) instead of snGrad(alpha1) in the surface tension force term. As far as I remember, one of the guys in the first Free Surface Flows session at OFW11 had success with this approach. If you do try it out then please let us know if it works.

Kind regards,
Johan


[Moderator note: There was a line of discussion below that was moved to a new thread: https://www.cfd-online.com/Forums/op...hangefoam.html ]

Last edited by wyldckat; August 27, 2017 at 08:42. Reason: see "Moderator note:"
roenby is offline   Reply With Quote

Old   September 21, 2017, 04:17
Default
  #14
Senior Member
 
A CFD free user's Avatar
 
A-A Azarafza
Join Date: Jan 2013
Posts: 226
Rep Power: 14
A CFD free user is on a distinguished road
Hi Cyprien,

I also faced the same problem while simulating a droplet approaching a fiber using interFoam. The droplet moves haphazardly without any physical meaning . Unfortunately, I have not been able to solve the issue yet.

Anything new in this, would be highly appreciated in advance.

Cheers,
Abouzar
__________________
Regard yours
A CFD free user is offline   Reply With Quote

Old   October 22, 2017, 13:39
Default
  #15
Senior Member
 
sandy
Join Date: Feb 2016
Location: .
Posts: 117
Rep Power: 10
saddy is on a distinguished road
hello everyone
i am seeking advice how to add isoadvector to intercondensatingevaporatingfoam

do i simply follow steps of change from interfoam to interflow solver or is there some additional steps of change??

i am using openfoam -v1612+ from ESI, i can also use -v1706+
saddy is offline   Reply With Quote

Old   July 28, 2018, 00:29
Default
  #16
New Member
 
Tongwei-Zhang
Join Date: Jan 2018
Posts: 5
Rep Power: 8
fireztw is on a distinguished road
Quote:
Originally Posted by roenby View Post
Dear foam’ers

Today we release the first version of our new geometric Volume-of-Fluid (VOF) algorithm for general meshes, isoAdvector:

https://github.com/isoAdvector/isoAdvector

The performance of and conceptueal ideas behind the method are described in the paper, “A computational method for sharp interface advection” just published in Royal Society Open Science:

http://dx.doi.org/10.1098/rsos.160405

We hope the large part of the CFD community working with interfacial flows will benefit from the improved accuracy and interface sharpness obtained with isoAdvector.

The isoAdvector code and concept are still under development. Therefore, if you test the code, we would appreciate if you could give us a few lines of feedback with description of your case setup and the effect isoAdvector has on your runs. The best way to give feedback is to write a post on cfd-online.com/Forums/openfoam/ under the relevant category and tag the post 'isoadvector'.

Kind regards,
Johan Roenby
Hi Roenby:For your paper about select isovalue, i can't understand it.can you give me explain please, or other date/paper about it ,thank you for your contribution on isoadvector and share,following is part of my problem in your paper.
As argued in §2.1, the correct isovalue to use is the one recovering the cell volume fraction. That is, we should find f ∗ such that α˜( f ∗) = αi. In the current implementation, f ∗ is found by the following procedure. First, we geometrically calculate α˜(f) for the vertex values, f1, ... , fN. Of these, we then find the closest value below and above f ∗, say, fk and fl, such that f ∗ ∈ [fk, fl]. On this interval, we know that α˜( f) varies monotonically like a cubic polynomial. Thus, evaluating α˜( f) geometrically at two points between fk and fl, we have four equations for the four polynomial coefficients. The resulting linear 4 × 4 Vandermonde matrix system we solve using LU decomposition. With a polynomial expression for α˜( f) at hand, we can use Newton’s root finding method to efficiently find f ∗ such that | ˜α( f ∗) − αi| < , where  is a user-specified tolerance, typically set to  = 10−8. In rare cases, the LU solution does not give useful coefficients because the 4 × 4 matrix is ill-conditioned, so the method does not converge. In these cases, we use Newton’s root finding method with direct geometric evaluation of α˜(f) instead of the much cheaper polynomial evaluation.
fireztw is offline   Reply With Quote

Old   July 28, 2018, 09:17
Default
  #17
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 92
Rep Power: 20
roenby will become famous soon enough
Hi Tongwei-Zhang


Have a look at my isoAdvector related papers, which can be found here.



Else, please try to be much more specific about what exactly it is you don't understand.



Kind regards,
Johan
roenby is offline   Reply With Quote

Old   July 29, 2018, 04:38
Default
  #18
New Member
 
Tongwei-Zhang
Join Date: Jan 2018
Posts: 5
Rep Power: 8
fireztw is on a distinguished road
Quote:
Originally Posted by roenby View Post
Hi Tongwei-Zhang


Have a look at my isoAdvector related papers, which can be found here.



Else, please try to be much more specific about what exactly it is you don't understand.



Kind regards,
Johan
Hi Roenby
Thanks for your advice! I browse your works on researchgate roughly. I will read it in detail
About PLIC in openfoam, its implementation is easy?Is there any related openfoam code about it.
I want to research geometric surface reconstruction algorithm by openfoam
thank you for your suggestion!
fireztw is offline   Reply With Quote

Old   July 29, 2018, 16:51
Default
  #19
Member
 
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 92
Rep Power: 20
roenby will become famous soon enough
Quote:
Originally Posted by fireztw View Post
About PLIC in openfoam, its implementation is easy?

As always this depends on your background and qualifications. But I doubt there is more than a handful of people in the world (if any) who would call implementation of PLIC in OpenFOAM easy :-)
roenby is offline   Reply With Quote

Old   July 29, 2018, 20:16
Thumbs up
  #20
New Member
 
Tongwei-Zhang
Join Date: Jan 2018
Posts: 5
Rep Power: 8
fireztw is on a distinguished road
Quote:
Originally Posted by roenby View Post
As always this depends on your background and qualifications. But I doubt there is more than a handful of people in the world (if any) who would call implementation of PLIC in OpenFOAM easy :-)
Hi Roenby

In your paper-Accurate and efficient surface reconstruction from volume fraction data on
general meshes. The method of "plic-RDF-N" was reported, Is this the implementation of PLIC in OpenFOAM?
fireztw is offline   Reply With Quote

Reply

Tags
isoadvector


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



All times are GMT -4. The time now is 07:00.