CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

bubblefoam totally failed on unstructured mesh.

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

Like Tree1Likes

Reply
 
LinkBack Thread Tools Display Modes
Old   December 26, 2012, 12:04
Default
  #21
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
sharonyue is on a distinguished road
Quote:
Originally Posted by alberto View Post
May I know why you are trying to use a tetrahedral mesh?

Because I want to simulate the velocity field in a stirred tank which has two or more complex impeller and other things. the liquid is xanthan gum. and the air was injected. ofcourse I want to use hex mesh. but its too hard the create it. the image has been attached.
Wish someday I can fly to IOWA..haha
I will try to make a fine tet mesh and update later,now its very late in my country~but if you are interested in my research just ask me I will give you a detailed reply~
Attached Images
File Type: jpg r.jpg (21.4 KB, 43 views)
sharonyue is offline   Reply With Quote

Old   December 26, 2012, 12:07
Default
  #22
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,907
Rep Power: 27
alberto will become famous soon enoughalberto will become famous soon enough
For your type of flow you will need to consider non-Newtonian flow models too, which are not available in twoPhaseEulerFoam.
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats.
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   December 26, 2012, 12:11
Default
  #23
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
sharonyue is on a distinguished road
Quote:
Originally Posted by alberto View Post
For your type of flow you will need to consider non-Newtonian flow models too, which are not available in twoPhaseEulerFoam.
..............I just thought it could be set just like interFoam.. oh, I am facing a real problem.
sharonyue is offline   Reply With Quote

Old   January 2, 2013, 22:06
Default
  #24
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
sharonyue is on a distinguished road
I think I should post it here, sorry.


More details see here,twoPhaseEulerFoam - sudden enlargement of circular pipe validation case
Quote:
I am sorry about that question. because it looks like there is no substantial change to the result.but I dont know if its still because of the mesh.


So I refine the mesh, now the cell is half than that cell in the other thread.so the total cell number reachs to 1,79 million,its too many, so I shorten the height, the other thing is not changed.the total cells number is about 55000.

I attached my image.I think that dont need to depict it.My primary language is not english so~.

btw,I turn to the other thread,I am sorry for that.

Thanks for you consistent attention.Alberto
Code:
Courant Number mean: 0.0039261 max: 0.319883
Max Ur Courant Number = 0.397983
deltaT = 0.002
Time = 0.008

MULES: Solving for alpha1
MULES: Solving for alpha1
Dispersed phase volume fraction = 8.32216e-05  Min(alpha1) = -3.02366e-18  Max(alpha1) = 1
GAMG:  Solving for p, Initial residual = 0.0171367, Final residual = 0.000609333, No Iterations 1
time step continuity errors : sum local = 2.04118e-05, global = -1.65081e-05, cumulative = -2.06546e-05
GAMG:  Solving for p, Initial residual = 0.00123443, Final residual = 8.21305e-09, No Iterations 12
time step continuity errors : sum local = 2.75416e-10, global = -5.95165e-11, cumulative = -2.06547e-05
ExecutionTime = 20.71 s  ClockTime = 21 s

Courant Number mean: 0.00430036 max: 0.423144
Max Ur Courant Number = 0.452263
deltaT = 0.002
Time = 0.01

MULES: Solving for alpha1
MULES: Solving for alpha1
Dispersed phase volume fraction = 0.000108438  Min(alpha1) = -4.18974e-18  Max(alpha1) = 1
GAMG:  Solving for p, Initial residual = 0.0240778, Final residual = 0.000665494, No Iterations 1
time step continuity errors : sum local = 2.28141e-05, global = -1.13576e-05, cumulative = -3.20123e-05
GAMG:  Solving for p, Initial residual = 0.00362172, Final residual = 8.3694e-09, No Iterations 12
time step continuity errors : sum local = 2.8619e-10, global = -5.54905e-11, cumulative = -3.20123e-05
ExecutionTime = 31.58 s  ClockTime = 31 s

Courant Number mean: 0.00473514 max: 0.539752
Max Ur Courant Number = 0.623292
deltaT = 0.00142857
Time = 0.0114286

MULES: Solving for alpha1
MULES: Solving for alpha1
Dispersed phase volume fraction = 0.000129096  Min(alpha1) = -9.55797e-13  Max(alpha1) = 1
GAMG:  Solving for p, Initial residual = 0.036045, Final residual = 0.00127238, No Iterations 1
time step continuity errors : sum local = 2.27111e-05, global = -1.7439e-05, cumulative = -4.94513e-05
GAMG:  Solving for p, Initial residual = 0.002945, Final residual = 5.42404e-09, No Iterations 13
time step continuity errors : sum local = 9.72319e-11, global = -2.11643e-11, cumulative = -4.94513e-05
ExecutionTime = 36.55 s  ClockTime = 36 s


Courant Number mean: 0.000966892 max: 0.412464
Max Ur Courant Number = 0.469807
deltaT = 0.000136854
Time = 0.029042

MULES: Solving for alpha1
MULES: Solving for alpha1
Dispersed phase volume fraction = 0.3376  Min(alpha1) = -7.3195e-15  Max(alpha1) = 1.00001
GAMG:  Solving for p, Initial residual = 9.81394e-06, Final residual = 7.26256e-07, No Iterations 1
time step continuity errors : sum local = 3.91702e-08, global = 7.41876e-11, cumulative = -2.8009e-06
GAMG:  Solving for p, Initial residual = 3.71368e-06, Final residual = 8.62789e-09, No Iterations 7
time step continuity errors : sum local = 4.65332e-10, global = -5.75839e-12, cumulative = -2.80091e-06
ExecutionTime = 284.29 s  ClockTime = 285 s

Courant Number mean: 0.00247628 max: 0.490122
Max Ur Courant Number = 0.13124
deltaT = 9.56469e-05
Time = 0.0675132

MULES: Solving for alpha1
MULES: Solving for alpha1
Dispersed phase volume fraction = 0.3376  Min(alpha1) = -2.83721e-15  Max(alpha1) = 1
GAMG:  Solving for p, Initial residual = 3.71895e-06, Final residual = 1.61786e-07, No Iterations 2
time step continuity errors : sum local = 4.21222e-09, global = -5.40208e-12, cumulative = -2.80081e-06
GAMG:  Solving for p, Initial residual = 2.05989e-06, Final residual = 6.36106e-09, No Iterations 6
time step continuity errors : sum local = 1.65604e-10, global = 6.10213e-13, cumulative = -2.80081e-06
ExecutionTime = 1619.52 s  ClockTime = 1622 s
Attached Images
File Type: jpg 4.jpg (30.6 KB, 22 views)
File Type: jpg 5.jpg (31.9 KB, 20 views)
File Type: jpg 6.jpg (76.9 KB, 20 views)
File Type: jpg 7.jpg (71.1 KB, 19 views)
sharonyue is offline   Reply With Quote

Old   January 9, 2013, 05:22
Default
  #25
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
sharonyue is on a distinguished road
Um....looks like this problem still exists.
sharonyue is offline   Reply With Quote

Old   March 15, 2013, 04:24
Default
  #26
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
sharonyue is on a distinguished road
Its been a long while.

But until in FOAM 2.2.0, twoPhaseEulerFoam and bubbleFoam still cannot solve tet mesh.
sharonyue is offline   Reply With Quote

Old   May 1, 2013, 02:43
Default
  #27
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 742
Rep Power: 9
sharonyue is on a distinguished road
Hi guys,

A little success.Regards to twoPhaseEulerFoam. I spent several days learning snappyhexmesh, and this solver can deal with this mesh.
Attached Images
File Type: jpg alpha.jpg (22.4 KB, 53 views)
File Type: jpg 1.jpg (74.4 KB, 52 views)

Last edited by sharonyue; May 1, 2013 at 03:25.
sharonyue is offline   Reply With Quote

Old   August 14, 2016, 11:02
Default
  #28
New Member
 
DANG
Join Date: Apr 2016
Location: Lyon 1, France
Posts: 18
Rep Power: 2
doubledang is on a distinguished road
Quote:
Originally Posted by sharonyue View Post
Hi guys,

A little success.Regards to twoPhaseEulerFoam. I spent several days learning snappyhexmesh, and this solver can deal with this mesh.

Hi, sharonyue!

I am also facing the same problem with this thread,
I also tried to use snappyHexMesh to generate a more or less okay mesh for a stirred tank, but it turned out there were always prism elements.
So, I am wondering did you manage to get rid of prisms in your case?
If so, how did you make it?

Many thanks!

Regards,
doubledang is offline   Reply With Quote

Old   August 14, 2016, 22:08
Default
  #29
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,907
Rep Power: 27
alberto will become famous soon enoughalberto will become famous soon enough
Quote:
Originally Posted by doubledang View Post
Hi, sharonyue!

I am also facing the same problem with this thread,
I also tried to use snappyHexMesh to generate a more or less okay mesh for a stirred tank, but it turned out there were always prism elements.
So, I am wondering did you manage to get rid of prisms in your case?
If so, how did you make it?

Many thanks!

Regards,
I am not sure what solver you are using and in what version of OpenFOAM, but twoPhaseEulerFoam has been deeply modified in recent releases.

I would suggest you use OpenFOAM 4.x (Foundation), and take a look at reactingTwoPhaseEulerFoam, which has been much more robust in my experience.

Successfully using tet meshes is a question of choosing the appropriate schemes, so it would be useful to see what you are using in fvSchemes / fvSolution. If they come from the tutorials, it may not be ideal.

I hope this helps.
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats.
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.

Last edited by alberto; August 14, 2016 at 22:09. Reason: typo
alberto is offline   Reply With Quote

Old   August 15, 2016, 18:54
Default
  #30
New Member
 
DANG
Join Date: Apr 2016
Location: Lyon 1, France
Posts: 18
Rep Power: 2
doubledang is on a distinguished road
Quote:
Originally Posted by alberto View Post
I am not sure what solver you are using and in what version of OpenFOAM, but twoPhaseEulerFoam has been deeply modified in recent releases.

I would suggest you use OpenFOAM 4.x (Foundation), and take a look at reactingTwoPhaseEulerFoam, which has been much more robust in my experience.

Successfully using tet meshes is a question of choosing the appropriate schemes, so it would be useful to see what you are using in fvSchemes / fvSolution. If they come from the tutorials, it may not be ideal.

I hope this helps.
Hi Alberto,

Very happy to have your help here.
You just helped me a lot in learning OpenQBMM a while ago, I am Dang.....
As you know, I need to develop a two-phase flow solver based on OpenQBMM,
Now I am struggling on that...
I solved the above problem by creating pure Hex mesh for Rushton turbine using blockMesh.
and also changed some settings in fvSchemes/fvSolution after searching around in this platform.
But I still have two difficulties:
1. I will mainly use multiple pitch blade turbines, which are far more difficult to generate Hex mesh by blockMesh. I noticed your group have done wonderful job on this recently by using Pointwise (9th International Conference on Multiphase Flow). In a presentation by Xiaofei Hu, your mesh is so impressive, could you please shed some lights as regard to how to add/mesh zero-thickness blades/walls in pointwise?

2. I also tested multiphaseEulerFoam in a gas-liquid stirred tank, but failed to inject gas from a sparger by using the attached "fvOptions" file. This file is okay for twoPhaseEulerFoam. Do you have some suggestions on this?

By the way, I used both FOAM.3.0.1 and 2.4.

Many thanks in advance!

Best regards,
Attached Files
File Type: txt fvOptions.txt (1.9 KB, 2 views)
doubledang is offline   Reply With Quote

Old   August 15, 2016, 23:49
Default
  #31
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,907
Rep Power: 27
alberto will become famous soon enoughalberto will become famous soon enough
Quote:
Originally Posted by doubledang View Post
Very happy to have your help here.
You just helped me a lot in learning OpenQBMM a while ago, I am Dang.....
As you know, I need to develop a two-phase flow solver based on OpenQBMM,
Now I am struggling on that...
Yes, I remember.
I am working on a similar problem (bubble columns) with a student of mine, but the code isn't public yet.

Quote:
1. I will mainly use multiple pitch blade turbines, which are far more difficult to generate Hex mesh by blockMesh. I noticed your group have done wonderful job on this recently by using Pointwise (9th International Conference on Multiphase Flow). In a presentation by Xiaofei Hu, your mesh is so impressive, could you please shed some lights as regard to how to add/mesh zero-thickness blades/walls in pointwise?
A zero-thickness surface in Pointwise is simply a face (domain) in a 3D block, so you need to create the domain for each blade, mesh it, and typically project/extrude or connect to another face to build the 3D block.

We have worked on very large-scale industrial reactors, with complex stirrers, which were too tedious to be meshed in a CAD-like environment. We obtained excellent results, comparable to those in Pointwise, with snappyHexMesh, once we figured the settings out, and properly defined the STL (if you use SolidWorks, feel free to maximize the export quality).

Quote:
2. I also tested multiphaseEulerFoam in a gas-liquid stirred tank, but failed to inject gas from a sparger by using the attached "fvOptions" file. This file is okay for twoPhaseEulerFoam. Do you have some suggestions on this?
I have not used fvOptions to simulate the sparger. In our case, we mesh the actual sparger because it is big enough to alter the flow.

Quote:
By the way, I used both FOAM.3.0.1 and 2.4.
Our cases were mostly done with reactingTwoPhaseEulerFoam/reactingMultiphaseEulerFoam in OpenFOAM-dev, which is currently in OpenFOAM 4.0. My post-doc definitely knows these technicalities better than me, but I am quite sure she didn't use 3.0 much.

Regards,
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats.
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   August 18, 2016, 11:32
Default
  #32
New Member
 
DANG
Join Date: Apr 2016
Location: Lyon 1, France
Posts: 18
Rep Power: 2
doubledang is on a distinguished road
Quote:
Originally Posted by alberto View Post
Yes, I remember.
I am working on a similar problem (bubble columns) with a student of mine, but the code isn't public yet.

A zero-thickness surface in Pointwise is simply a face (domain) in a 3D block, so you need to create the domain for each blade, mesh it, and typically project/extrude or connect to another face to build the 3D block.

We have worked on very large-scale industrial reactors, with complex stirrers, which were too tedious to be meshed in a CAD-like environment. We obtained excellent results, comparable to those in Pointwise, with snappyHexMesh, once we figured the settings out, and properly defined the STL (if you use SolidWorks, feel free to maximize the export quality).

I have not used fvOptions to simulate the sparger. In our case, we mesh the actual sparger because it is big enough to alter the flow.

Our cases were mostly done with reactingTwoPhaseEulerFoam/reactingMultiphaseEulerFoam in OpenFOAM-dev, which is currently in OpenFOAM 4.0. My post-doc definitely knows these technicalities better than me, but I am quite sure she didn't use 3.0 much.

Regards,

Hi Alberto,

Thanks for your kind reply.
I have tried hard to get rid of prisms by using snappyHexMesh, but still be bothered by them. Do you have some suggestions on this? According to your experiences, which parameters in snappyHexMeshare are crucial to your success?
Is it possible because of you use a large scale tank?
While I work on a lab-scale tank with ~ 0.3 m in diameter (I used Salome to generate STL file).

BTW, I played with twoPhaseEulerFoam these days, but have no clear idea about
"maxFullyDispersedAlpha" and "maxPartlyDispersedAlpha" under "blending" in "phaseProperties". Could you explained them?

Thanks!


Best,
doubledang is offline   Reply With Quote

Old   August 19, 2016, 22:37
Default
  #33
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,907
Rep Power: 27
alberto will become famous soon enoughalberto will become famous soon enough
Quote:
Originally Posted by doubledang;6[LIST=1
[/LIST]14572]
I have tried hard to get rid of prisms by using snappyHexMesh, but still be bothered by them. Do you have some suggestions on this? According to your experiences, which parameters in snappyHexMeshare are crucial to your success?
We make the STL separating the following parts in different STL files:
  • Tank
  • Each impeller
  • Parts of the shaft between impellers
  • Shaft in the top of the reactor (from outside the rotating zone to the top of the tank)

This allows to specify different refinement levels. We also use the implicit feature detection, which seems to better conform the mesh to the surface in all of our cases. I would recommend you create a fine-enough blockMesh box, to start from a decent mesh resolution, rather than a very coarse one.

Quote:
Is it possible because of you use a large scale tank?
While I work on a lab-scale tank with ~ 0.3 m in diameter (I used Salome to generate STL file).
We just submitted a paper where we used snappyHexMesh with a tank whose diameter is smaller than yours, and we obtained a good mesh.

Quote:
BTW, I played with twoPhaseEulerFoam these days, but have no clear idea about
"maxFullyDispersedAlpha" and "maxPartlyDispersedAlpha" under "blending" in "phaseProperties". Could you explained them?
Blending is used to stabilize the solution when there is phase inversion. This is achieved by blending the contribution of the phases to the momentum exchange term. The thresholds you refer to are parameters of the blending function you choose to use for the force model. I would stick to the defaults, if you simulate gas-liquid systems, since they have been tested for those.
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats.
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   August 21, 2016, 09:54
Default
  #34
New Member
 
DANG
Join Date: Apr 2016
Location: Lyon 1, France
Posts: 18
Rep Power: 2
doubledang is on a distinguished road
Quote:
Originally Posted by alberto View Post
We make the STL separating the following parts in different STL files:
  • Tank
  • Each impeller
  • Parts of the shaft between impellers
  • Shaft in the top of the reactor (from outside the rotating zone to the top of the tank)

This allows to specify different refinement levels. We also use the implicit feature detection, which seems to better conform the mesh to the surface in all of our cases. I would recommend you create a fine-enough blockMesh box, to start from a decent mesh resolution, rather than a very coarse one.



We just submitted a paper where we used snappyHexMesh with a tank whose diameter is smaller than yours, and we obtained a good mesh.



Blending is used to stabilize the solution when there is phase inversion. This is achieved by blending the contribution of the phases to the momentum exchange term. The thresholds you refer to are parameters of the blending function you choose to use for the force model. I would stick to the defaults, if you simulate gas-liquid systems, since they have been tested for those.
Hi Alberto,
Thanks very much for your kind reply.
The information is helpful!

Best regards,
doubledang is offline   Reply With Quote

Old   August 23, 2016, 18:17
Default
  #35
New Member
 
DANG
Join Date: Apr 2016
Location: Lyon 1, France
Posts: 18
Rep Power: 2
doubledang is on a distinguished road
[/QUOTE]
Quote:
Originally Posted by alberto View Post
We make the STL separating the following parts in different STL files:
  • Tank
  • Each impeller
  • Parts of the shaft between impellers
  • Shaft in the top of the reactor (from outside the rotating zone to the top of the tank)

This allows to specify different refinement levels. We also use the implicit feature detection, which seems to better conform the mesh to the surface in all of our cases. I would recommend you create a fine-enough blockMesh box, to start from a decent mesh resolution, rather than a very coarse one.

We just submitted a paper where we used snappyHexMesh with a tank whose diameter is smaller than yours, and we obtained a good mesh.

Blending is used to stabilize the solution when there is phase inversion. This is achieved by blending the contribution of the phases to the momentum exchange term. The thresholds you refer to are parameters of the blending function you choose to use for the force model. I would stick to the defaults, if you simulate gas-liquid systems, since they have been tested for those.

Hi, Alberto,

I think it's better to open a new thread to disccuss the reactingMultiphaseEulerFoam issues.
So, I opened a new thread at the following link:

Bounding Issues in reactingMultiphaseEulerFoam

Hope you could take a look.

Best regards,
Attached Files
File Type: gz 0.tar.gz (2.3 KB, 2 views)
File Type: gz ReactingMultiphaseEulerFoam.tar.gz (151.0 KB, 2 views)

Last edited by doubledang; August 24, 2016 at 05:12.
doubledang is offline   Reply With Quote

Reply

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
how to set periodic boundary conditions Ganesh FLUENT 13 January 22, 2014 05:11
Mesh motion with Translation & Rotation Doginal CFX 2 January 12, 2014 07:21
Unstructured Mesh ICEM on a cube jerome_ ANSYS 0 May 30, 2012 05:34
2D Mesh Generation Tutorial for GMSH aeroslacker Open Source Meshers: Gmsh, Netgen, CGNS, ... 12 January 19, 2012 04:52
snappyHexMesh won't work - zeros everywhere! sc298 OpenFOAM Native Meshers: snappyHexMesh and Others 2 March 27, 2011 21:11


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