CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Verification & Validation

interFoam - validation for bubble/droplet flows in microfluidics

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

Like Tree39Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 3, 2013, 09:36
Default interFoam - validation for bubble/droplet flows in microfluidics
  #1
Member
 
Duong A. Hoang
Join Date: Apr 2009
Location: Delft, Netherlands
Posts: 93
Rep Power: 16
duongquaphim is on a distinguished road
Send a message via Yahoo to duongquaphim
Dear all,

It is a bit ashamed but I would like to share one of our work on the validations of interFoam, titled "Benchmark numerical simulations of segmented two-phase flows in microchannels using the Volume of Fluid method". In this work, we presented three benchmark cases - the steady motion of bubbles in a straight two-dimensional channel, the formation of bubbles in two- and three-dimensional T-junctions, and the breakup of droplets in three-dimensional T-junctions - and provided guidelines to set appropriate numerical settings for a simulation of microbubble/microdroplet flows.

Please find here the link to the paper: http://dx.doi.org/10.1016/j.compfluid.2013.06.024

If you can not download the paper, I am more than happy to send you a copy of it.

With best regards,

Duong

wyldckat, ageorg, akidess and 15 others like this.

Last edited by duongquaphim; October 3, 2013 at 19:17.
duongquaphim is offline   Reply With Quote

Old   October 4, 2013, 13:52
Default
  #2
Senior Member
 
Kent Wardle
Join Date: Mar 2009
Location: Illinois, USA
Posts: 219
Rep Power: 21
kwardle is on a distinguished road
Quote:
Originally Posted by duongquaphim View Post

It is a bit ashamed but I would like to share one of our work on the validations of interFoam, titled "Benchmark numerical simulations of segmented two-phase flows in microchannels using the Volume of Fluid method".
No need to be ashamed. Thanks for sharing!
-Kent
duongquaphim likes this.
kwardle is offline   Reply With Quote

Old   January 9, 2014, 12:14
Default
  #3
Member
 
alighaffari
Join Date: May 2011
Posts: 31
Rep Power: 14
alighaffari is on a distinguished road
Hi Dear Duong
Thanks for your good paper.
I am new in interFoam. I have two simple questions.
1) how can we apply the smoother function (Eq.9 in your paper) in our problem? I think it can be set: system/fvSolution dictionary, PISO loop subsection was set with m corrections (nCorrectors)
is it true?
2) where should be determined the value of adjustable coefficient "Cγ in Eq.7"?
Thanks
Ali

mizzou likes this.
alighaffari is offline   Reply With Quote

Old   July 11, 2014, 04:32
Default
  #4
New Member
 
Bin Xu
Join Date: Apr 2012
Location: Singapore
Posts: 23
Rep Power: 13
norkistar is on a distinguished road
Could you please share the case setup for openfoam? Best regards
Multiphase Mikal likes this.
norkistar is offline   Reply With Quote

Old   January 28, 2015, 17:02
Default
  #5
Member
 
Duong A. Hoang
Join Date: Apr 2009
Location: Delft, Netherlands
Posts: 93
Rep Power: 16
duongquaphim is on a distinguished road
Send a message via Yahoo to duongquaphim
Dear all,

I just got a bit of free time lately to reorganize my data. Here you can find the code and the test cases I have run for my validation. Please be aware that all these validations have been performed with OF-1.6-ext.

Best regards,

Duong
Attached Files
File Type: zip VOF_smooth.zip (81.4 KB, 551 views)
File Type: zip steadily_moving_bubble.zip (9.9 KB, 372 views)
File Type: zip split_up_validation.zip (11.0 KB, 331 views)
File Type: zip bubble_generation.zip (10.0 KB, 396 views)
duongquaphim is offline   Reply With Quote

Old   February 17, 2015, 05:06
Default
  #6
Member
 
Pierre HORGUE
Join Date: May 2009
Posts: 33
Rep Power: 16
Pedro24 is on a distinguished road
Hi,

I'm not sure but I think that the function fvc::average already exists and do the same operation as your "smooth function".

In the OpenFOAM C++ doc, you can read:

volField = fvc::average(SurfaceField)
Area-weighted average a surfaceField creating a volField.

So you can do your smoothing by :

Code:
alpha_smoothed = fvc::average(fvc::interpolate(alpha));
Regards,

Pierre
Pedro24 is offline   Reply With Quote

Old   February 17, 2015, 06:15
Default
  #7
Member
 
Duong A. Hoang
Join Date: Apr 2009
Location: Delft, Netherlands
Posts: 93
Rep Power: 16
duongquaphim is on a distinguished road
Send a message via Yahoo to duongquaphim
Quote:
Originally Posted by Pedro24 View Post
Hi,

I'm not sure but I think that the function fvc::average already exists and do the same operation as your "smooth function".

In the OpenFOAM C++ doc, you can read:

volField = fvc::average(SurfaceField)
Area-weighted average a surfaceField creating a volField.

So you can do your smoothing by :

Code:
alpha_smoothed = fvc::average(fvc::interpolate(alpha));
Regards,

Pierre
Indeed you can also use that function. And it is much simpler I agree.

At the time I implemented that, I would like to have controls on the level of smoothing (averaging) and also to be able to implement different smoothers (which I did not find superior to that simple Laplacian). So that's why you have such a piece of code.

Best,

Duong
duongquaphim is offline   Reply With Quote

Old   September 30, 2015, 03:43
Default
  #8
New Member
 
Sripadaraja
Join Date: Sep 2015
Posts: 23
Rep Power: 10
Sripadaraja is on a distinguished road
Hi Duong,

I just downloded your file (bubble_generation). I am able to blockMesh.

Check topology

Basic statistics
Number of internal faces : 44
Number of boundary faces : 56
Number of defined boundary faces : 56
Number of undefined boundary faces : 0
Checking patch -> block consistency

Creating block offsets
Creating merge list


Further when I run "interFoam" solver I get this error.

paramesh@HP-WS3:~/OpenFOAM/paramesh-2.4.0/run/tutorials/incompressible/pimpleFoam/bubble_generation$ interFoam
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.4.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 2.4.0-f0842aea0e77
Exec : interFoam
Date : Sep 30 2015
Time : 12:12:41
Host : "HP-WS3"
PID : 10778
Case : /home/paramesh/OpenFOAM/paramesh-2.4.0/run/tutorials/incompressible/pimpleFoam/bubble_generation
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0



--> FOAM FATAL IO ERROR:
keyword PIMPLE is undefined in dictionary "/home/paramesh/OpenFOAM/paramesh-2.4.0/run/tutorials/incompressible/pimpleFoam/bubble_generation/system/fvSolution"

file: /home/paramesh/OpenFOAM/paramesh-2.4.0/run/tutorials/incompressible/pimpleFoam/bubble_generation/system/fvSolution from line 55 to line 132.

From function dictionary::subDict(const word& keyword) const
in file db/dictionary/dictionary.C at line 648.

FOAM exiting


What is the problem?



-Sripad
Sripadaraja is offline   Reply With Quote

Old   October 12, 2015, 03:28
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 Sripadaraja View Post
keyword PIMPLE is undefined
That's the problem. As Duong stated the case setup is for OF-1.6. You'll need to update the dictionaries for 2.4.0. Compare the case with the tutorial cases and you will fix the error quickly.
__________________
*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, 2015, 05:02
Default
  #10
New Member
 
Sripadaraja
Join Date: Sep 2015
Posts: 23
Rep Power: 10
Sripadaraja is on a distinguished road
Akidess. I notice the next error


PIMPLE: Operating solver in PISO mode

Reading field p_rgh



--> FOAM FATAL IO ERROR:
cannot find file

file: /home/paramesh/OpenFOAM/paramesh-3.0.0/run/tutorials/multiphase/interFoam/bubble_generation_trial/0/p_rgh at line 0.

From function regIOobject::readStream()
in file db/regIOobject/regIOobjectRead.C at line 73.

FOAM exiting
Sripadaraja is offline   Reply With Quote

Old   December 16, 2015, 05:59
Default
  #11
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
You are missing the file p_rgh. Please have a look at the interFoam tutorials.
__________________
*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   August 10, 2016, 07:56
Default
  #12
New Member
 
Devdutt Sharma
Join Date: Aug 2016
Posts: 1
Rep Power: 0
DevD_10 is on a distinguished road
hey.. do you still have these files?
I wanted to download them and i am unable to get the files from this link

Problem solved, able to download now.

Last edited by DevD_10; August 10, 2016 at 08:11. Reason: Problem solved, able to download now.
DevD_10 is offline   Reply With Quote

Old   December 18, 2016, 16:15
Default
  #13
Senior Member
 
abdikerim kurbanaliev
Join Date: Jun 2010
Location: Kyrgyzstan, Osh
Posts: 120
Rep Power: 15
kerim is on a distinguished road
Could you please share the copy of your paper? Best regards
kerim is offline   Reply With Quote

Old   April 20, 2017, 11:35
Default
  #14
New Member
 
Peter Favreau
Join Date: Apr 2017
Posts: 7
Rep Power: 8
pfavreau is on a distinguished road
Quote:
Originally Posted by duongquaphim View Post
Dear all,

I just got a bit of free time lately to reorganize my data. Here you can find the code and the test cases I have run for my validation. Please be aware that all these validations have been performed with OF-1.6-ext.

Best regards,

Duong
Hi,

I tried to update your solver to run on OpenFOAM 4.1. Unfortunately, I have obtained so much errors... Did you adapt your code to this version of OpenFOAM ? How can I achieve that ?

Best Regards,

Peter.
pfavreau is offline   Reply With Quote

Old   May 2, 2017, 04:11
Default
  #15
Member
 
Duong A. Hoang
Join Date: Apr 2009
Location: Delft, Netherlands
Posts: 93
Rep Power: 16
duongquaphim is on a distinguished road
Send a message via Yahoo to duongquaphim
Hi,

I think that it should be quite straightforward to adapt/implement the Laplacian solver in interFOAM version. However, I did not work on this topic for a while, so I do not know any details to tell you. The only thing I could think about is the difference in library name and the change of alpha field.

Duong
duongquaphim is offline   Reply With Quote

Old   May 19, 2017, 11:22
Default
  #16
New Member
 
Peter Favreau
Join Date: Apr 2017
Posts: 7
Rep Power: 8
pfavreau is on a distinguished road
Thank you for the reply. I will try to update the solver, if someone is interested by this update, please contact me, I will share.

Best regards,

Peter
pfavreau is offline   Reply With Quote

Old   May 24, 2017, 06:37
Default
  #17
Senior Member
 
floquation's Avatar
 
Kevin van As
Join Date: Sep 2014
Location: TU Delft, The Netherlands
Posts: 252
Rep Power: 20
floquation will become famous soon enough
Quote:
Originally Posted by pfavreau View Post
Thank you for the reply. I will try to update the solver, if someone is interested by this update, please contact me, I will share.

Best regards,

Peter
Have a look at the following.


OF-4.x implementation of 'vofsmooth':
I have implemented Duong's "vofsmooth" in OF-4.x.
It was implemented using OF's run-time selection mechanism and a dynamic library trick, such that it should work with any solver (that uses OF's libinterfaceProperties.so: inter(DyM)Foam, compressibleInter(DyM)Foam, multiphaseInter(DyM)Foam, interPhaseChange(DyM)Foam and very likely some more.)
[Disclaimer: I have only tried inter(DyM)Foam in my work.]

See the README.md on GitHub:
https://github.com/floquation/OF-kva...faceProperties
rasool_soofi likes this.
floquation is offline   Reply With Quote

Old   June 21, 2017, 06:18
Default
  #18
New Member
 
Peter Favreau
Join Date: Apr 2017
Posts: 7
Rep Power: 8
pfavreau is on a distinguished road
Thanks a lot for sharing your code :-)

Best regards,

Peter
pfavreau is offline   Reply With Quote

Old   June 21, 2017, 10:30
Default
  #19
New Member
 
Peter Favreau
Join Date: Apr 2017
Posts: 7
Rep Power: 8
pfavreau is on a distinguished road
Quote:
Originally Posted by floquation View Post
Have a look at the following.


OF-4.x implementation of 'vofsmooth':
I have implemented Duong's "vofsmooth" in OF-4.x.
It was implemented using OF's run-time selection mechanism and a dynamic library trick, such that it should work with any solver (that uses OF's libinterfaceProperties.so: inter(DyM)Foam, compressibleInter(DyM)Foam, multiphaseInter(DyM)Foam, interPhaseChange(DyM)Foam and very likely some more.)
[Disclaimer: I have only tried inter(DyM)Foam in my work.]

See the README.md on GitHub:
https://github.com/floquation/OF-kva...faceProperties
It's weird, but when I compile your code it works. Bun when I'm running the damBreak case, it returns the following error :

Selecting incompressible transport model Newtonian
Selecting incompressible transport model Newtonian
Selecting curvatureModel vofsmooth
kva: curvatureModel::read(vofsmooth);
kva: curvatureModels::vofsmooth::read();
kva: curvatureModel::read(vofsmooth);
#0 Foam::error:rintStack(Foam::Ostream&) at ??:?
#1 Foam::sigSegv::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
Erreur de segmentation (core dumped)

Any idea ??
pfavreau is offline   Reply With Quote

Old   June 21, 2017, 11:38
Default
  #20
Senior Member
 
floquation's Avatar
 
Kevin van As
Join Date: Sep 2014
Location: TU Delft, The Netherlands
Posts: 252
Rep Power: 20
floquation will become famous soon enough
That had certainly puzzled me for some time as well, because the code is correct... However, since I am a self-educated fool (which I bet most of us are) whose messing with dynamic libraries, I was only thinking in terms of code. But although there is nothing wrong with the code, I did mess up the binary-compatibility, as I didn't know that any such thing (ABI) existed.

I am working on a proper "fix", which I should have soon. (That is, I should regain the binary-compatibility.) For the time being, you can easily work around this, as I described right here:
https://github.com/floquation/OF-kva...rties/issues/2
That solution boils down to recompiling your solver; or rather compiling a clone of your solver that is linked against my library.
floquation is offline   Reply With Quote

Reply

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
Setting BCs for Riverine Flows using Interfoam kflora OpenFOAM Running, Solving & CFD 38 July 27, 2022 07:51
CFX problem in ubuntu (linux) Vigneshramaero CFX 0 July 13, 2012 11:22
CFX-Pre problem, pls help!!! cth_yao CFX 0 February 17, 2012 01:52
validation for densely packed channel flows shefali Main CFD Forum 1 February 8, 2011 04:35
Validation tests for 3-D flows Alexey Main CFD Forum 1 January 6, 2000 00:48


All times are GMT -4. The time now is 16:10.