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

TwoPhaseEulerFoam Documentation

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

Like Tree8Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 28, 2007, 09:37
Default Hello everyone, Does anyone
  #1
New Member
 
Paul Mathis
Join Date: Mar 2009
Posts: 8
Rep Power: 17
paul is on a distinguished road
Hello everyone,

Does anyone have an documentation (ie. journals/theses) on the twoPhaseEulerFoam solver?

Thank you in advance,

Paul Lucente
Luttappy, HappyS5 and jbjb like this.
paul is offline   Reply With Quote

Old   September 28, 2007, 09:57
Default Hello Paul, the solution algo
  #2
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Hello Paul,
the solution algorithm is explained in Henrik Rusche's Ph.D. thesis:

http://powerlab.fsb.hr/ped/kturbo/Op...chePhD2002.pdf

The algorithm was actually developed for bubble flow, and the resulting solver was bubbleFoam, of which twoPhaseEulerFoam is an extension.

If you need more information, ask here :-)

Regards,
A.
Luttappy and HappyS5 like this.
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
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   October 1, 2007, 12:00
Default Alberto, I'm having problem
  #3
New Member
 
Paul Mathis
Join Date: Mar 2009
Posts: 8
Rep Power: 17
paul is on a distinguished road
Alberto,

I'm having problems with the particle-particle magnitude force (PPMagf) equation, which is in the alphaEqn.H file.

I am very new with this software as well as this type of fluid dynamics. I'm using the bed example and changing it to a liquid-solid settling model. When I include the packing limiter I get a Floating exception error (I'm assuming a division by zero). When I turn the packing limiter off the solids fraction rises above the packing limit and in some other locations I also get a negative solids fraction.

Do you have any suggestions?

Thank you,
Paul
paul is offline   Reply With Quote

Old   October 1, 2007, 14:09
Default Dear Paul, I know these probl
  #4
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Dear Paul,
I know these problems, and only a significant change in the solution algorithm can reduce them reliably. You can find some more information about this searching the discussion board, and in the MFIX documentation www.mfix.org.

About your case, if you need to simulate settling, there is also another solver in openFOAM: settlingFoam. Some theoretical background is here:

http://powerlab.fsb.hr/ped/kturbo/Op...BrennanPhD.pdf

With kind regards,
Alberto
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
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   October 2, 2007, 13:25
Default Sorry about all these question
  #5
New Member
 
Paul Mathis
Join Date: Mar 2009
Posts: 8
Rep Power: 17
paul is on a distinguished road
Sorry about all these questions.

The kineticTheoryModel.C file refers to a paper (ie. Line 226 - "particle pressure - coefficient in front of Theta (Eq. 3.22, p. 45)). I was wondering if you happen to know what paper they are refering to.

Thank you again,

Paul
paul is offline   Reply With Quote

Old   October 2, 2007, 14:32
Default Hello Paul, that annotation j
  #6
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Hello Paul,
that annotation just means you calculate the "coefficient" of the granular pressure you have to put in the term:

fvm::SuSp(-((PsCoeff*I) && dU), Theta_)

of the transport equation for the granular temperature.

The coefficient is simply Ps/Theta_, because Theta_ is already present in the SuSp, as a separate argument, being the variable you solve for.

With kind regards,
Alberto
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
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   October 3, 2007, 13:42
Default Hello Alberto, I'm still cu
  #7
New Member
 
Paul Mathis
Join Date: Mar 2009
Posts: 8
Rep Power: 17
paul is on a distinguished road
Hello Alberto,

I'm still curious to know what paper they are refering to. I've tried searching for this bed example on the internet I haven't been able to find it. I'm curious because there a few other references to this paper in that same kineticTheoryModel.C file.
Basically I would like to get a better understanding of the solution steps.

Thank you again,

Paul
paul is offline   Reply With Quote

Old   October 3, 2007, 14:26
Default The reference is Berend Van Wa
  #8
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
The reference is Berend Van Wachem Ph.D. thesis I think, who is a professor at Chalmers University now.

With kind regards,
Alberto
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
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   June 4, 2008, 08:15
Default Alberto, You said it would
  #9
Member
 
Juho Peltola
Join Date: Mar 2009
Location: Finland
Posts: 89
Rep Power: 17
juho is on a distinguished road
Alberto,

You said it would need a significant change in the solution algorithm to overcome the overpacking problems.

Have you outlined what the significant change should be? Even roughly?

I have to use a very small timestep to keep the packing under alphaMax. Down to 1e-6s, whitch makes the calculation impossibly slow.

Even with the packing limiter enabled it will overpack. I've actually got the limiter kicking in at 1e-2 before the alphaMax to get slightly longer steps.

In the kineticTheory.C the call for G0 is limited by min(alpha,alphaMax - 1e-2). I tried a limit of (alphaMax - 1e-3), but it made things even worse.

Juho
juho is offline   Reply With Quote

Old   June 4, 2008, 15:25
Default Hello Juho, the problems yo
  #10
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Hello Juho,

the problems you're facing are due to the explicit treatment of the granular pressure in the current solver.

To my knowledge, there are mainly two approaches used to stabilize the solution when the particle phase reaches the packing limit, at least in well known codes (FLUENT, MFIX, ...).

The first one is to make the particulate phase incompressible when the packing is reached, which means you solve a pressure equation for the particulate phase too. You then use the granular pressure predicted by the kinetic theory when the flow is not packed, and the pressure given by the pressure equation when the flow is packed.

The second solution is the one adopted in MFIX (see details in their documentation on www.mfix.org, or in Mathijs Goldschmidt, "Hydrodynamic Modelling of Fluidised Bed Spray Granulation", Twente University Press), where a particle phase fraction correction equation is used instead of the continuity equation for the particulate phase, to sensitize it to the granular pressure.

Both these algorithms are based on SIMPLE, with internal iterations to be able to apply under-relaxation. Probably the first one is the less intrusive to implement, but you need to find a way to workaround the singularity in the pressure equation you have when the particulate phase fraction tends to zero.

If you need further information, just ask or drop an email.

Regards,
Alberto
SHUBHAM9595 likes this.
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
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   June 5, 2008, 02:11
Default Thank you! I'll look into t
  #11
Member
 
Juho Peltola
Join Date: Mar 2009
Location: Finland
Posts: 89
Rep Power: 17
juho is on a distinguished road
Thank you!

I'll look into those to see if I get a handle on how to implement them. Studying MFIX documentation ja transientSimpleFoam at the moment. I may have to bother you again...

Although at the moment there's no overpacking in areas of interest with timestep of 3e-5s.

Regards,
Juho
juho is offline   Reply With Quote

Old   December 17, 2008, 09:26
Default Dear Foamers, I found some
  #12
Member
 
sradl's Avatar
 
Stefan Radl
Join Date: Mar 2009
Location: Graz, Austria
Posts: 82
Rep Power: 18
sradl is on a distinguished road
Dear Foamers,

I found some inconsistencies between the actual OpenFOAM implementation (TwoPhaseEulerFoam as well as bubbleFoam) and the PhD Thesis of Rusche. It is about the treatment of pressure.

In the PhD of Rusche he discusses on p. 121 the boundary conditions for pressure at walls. He states that he removes the hydrostatic pressure from the total pressure to simplify the pressure boundary condition, i.e., to use zeroGradient. By doing so, the gravity term in the continuous phase equation vanishes (his Eqn. 3.71) and the pressure is replaced by the "modified mixture pressure" p* = p - rho_b . g . x.

However, in the current OF implementations the gravity term is still included (not in UEqn.H but later in the pEqn.H where it is added via the phiDrag-terms). Also, the results include the hydrostatic pressure, but still are using the zeroGradient BC for pressure.

So I have the following questions:

- why the current implementation works with zeroGradient BC, as it should not.

- Rusche's definition of p* = p - rho_b . g . x is generally not applicable to a mixture, as the pressure gradient is proportional to rho_b . g . eps_b. So I don't see the rationale why p* is defined as it is.

I'd appreciate any clarification on this,

br
Stefan Radl
sradl is offline   Reply With Quote

Old   December 20, 2008, 00:09
Default @ Rusche's definition of p* =
  #13
Member
 
Heng Xiao
Join Date: Mar 2009
Location: Zurich, Switzerland
Posts: 58
Rep Power: 17
xiao is on a distinguished road
@ Rusche's definition of p* = p - rho_b . g . x is generally not applicable to a mixture, as the pressure gradient is proportional to rho_b . g . eps_b. So I don't see the rationale why p* is defined as it is.

No... the pore fluid pressrue gradient is proportional to rho_b * g, no matter what the volume fraction of the fluid is. I work on porous media and this issue used to confuse me as well.

Just think of this example, a container like this with thin top and thick bottom,

xx |FF| xx
xx |FF| xx
xx |FF| xx h1
xx |FF| xx
___xxx ____
|FFFFFFFFF|
|FFFFFFFFF|
|FFFFFFFFF| h2
|_________|

What would be the pressure at the bottom? It is rho_fluid * (h1 + h2);

Now, suppose the thin neck is surounded by solid

|SS|FF|SSS|
|SS|FF|SSS|
|SS|FF|SSS| h1
|SS|FF|SSS|
___ xx ____
|FFFFFFFFF|
|FFF Fluid|
|FFFFFFFFF| h2
|_________|

and thus the top and the bottom has the same width, what would be the pressure at the bottom? again, rho_fluid * (h1 + h2).

Finally, if on the top part, the fluid and the solid are not completely separated but mixed instead, what would be the pressure at the bottom?
Again, rho_fluid * (h1 + h2).

Sorry for my drawing...
F --> fluid
S ---> solid
X --> void

Hope this helps. If not, I will draw a PDF figure.
drop me a line.

nomadzju AT gmail.com

best,
Heng
xiao is offline   Reply With Quote

Old   December 20, 2008, 08:35
Default Hi Heng, thanks for the ide
  #14
Member
 
sradl's Avatar
 
Stefan Radl
Join Date: Mar 2009
Location: Graz, Austria
Posts: 82
Rep Power: 18
sradl is on a distinguished road
Hi Heng,

thanks for the idea how to argue. Your example nicely illustrates the issue and is of course correct.

However, in a bubble flow the situation is like this:

|FFFFFFFFF|
|FFFFFFFFF|
|FF|xxx|FF|
|FF|xxx|FF|
|FFFFFFFFF|
|FFFFFFFFF|
|FFFFFFFFF|
|FFFFFFFFF|
|_________|

and buoyancy will drive the bubble up and from a simple force balance the (mean) pressure at the bottom must be rho_b . g . eps_b . h. This makes also sense to me when I consider the liquid to be very viscous, i.e., that no relative motion between the bubble and the liquid occurs.

The same can be done for your example when considering the buoyancy force that is acting on the void and you'll get rho_fluid * (h1 + h2) as detailed by you.

The thing is that the void in you case is connected to the wall, i.e., your bottle that can take up a force.

Please correct me if I'm wrong.

I think why Rusche is using this definition is that he pushes the effect of the buoyancy force into the dynamic pressure p*. This in the end makes sense to me - However I'm still curious about the implementation in OpenFOAM.

br
Stefan Radl
sradl is offline   Reply With Quote

Old   December 22, 2008, 10:54
Default hmm... you are right. Indeed,
  #15
Member
 
Heng Xiao
Join Date: Mar 2009
Location: Zurich, Switzerland
Posts: 58
Rep Power: 17
xiao is on a distinguished road
hmm... you are right. Indeed, the two-fluid (gas/liquid) problem and the porous media problem is different since in the two-fluid problem, both phase can have pressure, while for the porous media problem, on the fluid can have pressure. This issue is very tricky. I need to think more about it.
xiao is offline   Reply With Quote

Old   October 29, 2009, 21:55
Default Thanks Alberto
  #16
Member
 
Shane
Join Date: Oct 2009
Posts: 52
Rep Power: 16
sircorp is on a distinguished road
Thanks Alberto

The background study information is of great help for my project. Basically I am trying to model a Three Phase System simultaneously where materials goes phase changed from Solid to Liquid then to gases.

I am new to this field, hence I have penlty to learn and contribute too.

sircorp
sircorp is offline   Reply With Quote

Old   October 29, 2009, 22:26
Default
  #17
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Quote:
Originally Posted by sircorp View Post
Thanks Alberto

The background study information is of great help for my project. Basically I am trying to model a Three Phase System simultaneously where materials goes phase changed from Solid to Liquid then to gases.

I am new to this field, hence I have penlty to learn and contribute too.

sircorp
You are more than welcome. What kind of system are you considering, if you can tell?

Mass transfer is not currently implemented in twoPhaseEulerFoam / bubbleFoam, and there is some stability problem to manage dense particle phases since the implementation of the particle pressure is not robust.

I have some draft algorithm to fix the problem with the particle pressure implementation, and I'm working (very slowly, it is spare time work) on a fully conservative implementation of a multi-fluid solver, with the idea of creating a tool with all the bits for multiphase simulations. It is useless to hide the fact it will take time to have it ready, given the reason I wrote above.

Best,
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
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   November 3, 2009, 04:01
Default Multiphase System
  #18
Member
 
Shane
Join Date: Oct 2009
Posts: 52
Rep Power: 16
sircorp is on a distinguished road
Thanks Alberto
(Input will be highly appreciated)
My problem is dealing with pressurised multiphase system in which gas is heat carrier. System may solidify when cold. At any given time only two phases (either gas/liquid or gas/solid) are available. However in real world all three phases are availale during melting or freezing.

To simplify the system, solid phase will be treated as liquid phase all the time with zero velocity(momentum equations)(X,Y,Z component).

Basically gas is additive to a liquid which solidifies or melts depending on the total heat of interaction between gas and solid(liquid). I am trying to understand the emulsion system(or colloidal system to be precise) which "may" be pretty close to real world gas/liquid system.

I am new to CFD. However I am spending most of time to understand at the basics of fundamental equations to built some base. I have started to simplify the system.

1) Heat transfer takes place only between gas and liquid. Gas phase never freezes. When liquid solidifies, gas velocity changes accordingly but still remain in gas phase.

2) No heat transfer take place from or to the wall of the system.

3) No chemical reaction taking inside the system.

4) System is missible(gas solibility in liquid at max 10% but decreases with temperature) but will be treated immissible to make life easier. Missibility of 10% is possible.

5) Both Liquid or Gas Specific Heat is Temperature Dependent. Effect of pressure will be built in density. Density is function of temeptature.
sircorp is offline   Reply With Quote

Old   November 3, 2009, 04:21
Default Quadrature-based moment method for gas-particle flows
  #19
Member
 
Shane
Join Date: Oct 2009
Posts: 52
Rep Power: 16
sircorp is on a distinguished road
Well Alberto

Wonderful presentation by you at The Annual Kinetic FRG Meeting on

"Kinetic Description of Multiscale Phenomena"
September 21st-25th, 2009
University of Maryland - College Park

sircorp
sircorp is offline   Reply With Quote

Old   November 3, 2009, 12:47
Default
  #20
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Quote:
Originally Posted by sircorp View Post
Thanks Alberto
(Input will be highly appreciated)
My problem is dealing with pressurised multiphase system in which gas is heat carrier. System may solidify when cold. At any given time only two phases (either gas/liquid or gas/solid) are available. However in real world all three phases are availale during melting or freezing.

To simplify the system, solid phase will be treated as liquid phase all the time with zero velocity(momentum equations)(X,Y,Z component).

Basically gas is additive to a liquid which solidifies or melts depending on the total heat of interaction between gas and solid(liquid). I am trying to understand the emulsion system(or colloidal system to be precise) which "may" be pretty close to real world gas/liquid system.

I am new to CFD. However I am spending most of time to understand at the basics of fundamental equations to built some base. I have started to simplify the system.

1) Heat transfer takes place only between gas and liquid. Gas phase never freezes. When liquid solidifies, gas velocity changes accordingly but still remain in gas phase.

2) No heat transfer take place from or to the wall of the system.

3) No chemical reaction taking inside the system.

4) System is missible(gas solibility in liquid at max 10% but decreases with temperature) but will be treated immissible to make life easier. Missibility of 10% is possible.

5) Both Liquid or Gas Specific Heat is Temperature Dependent. Effect of pressure will be built in density. Density is function of temeptature.
Hi,

interesting problem! In practice to do that with OpenFOAM the main steps are:
  • Include heat transfer, which is relatively easy. The fact that thermodynamic properties depend on temperature is not a problem. If you start from twoPhaseEulerFoam, you have to change the solution algorithm to account for variable density however, since the code assumes constant density.
  • Include the mass transfer (you said you want to neglect it, but you might need to include it in the end). This leads to change the solution algorithm of the whole multiphase set of equations, since you have to add a source term to the phase continuity equation and to the momentum equation.
  • Account for solidification
The first two changes are well documented in the literature. You might want to take a look at papers about simulation of nuclear reactors using Eulerian multiphase model for an idea of the kind of numerics used in such a kind of applications (See recent papers from Jeong and Park on Nuclear Engineering and Design, for example "A semi-implicit numerical scheme for transient two-phase flows on unstructured grids"). You can find also some useful information in the literature on chemical reactors, but the details of the implementation are hard to find, since most of the works were done using commercial codes.
Finally, two good references for robust Eulerian multiphase code implementations are:
  • Vasquez, S. A., Ivanov, V. A. (2000), A phase coupled method for solving multiphase problems in unstructured meshes. In: Proceedings of ASME FEDSM'00: ASME 2000 Fluids Engineering Division Summer Meeting, Boston.
Both the references suggest algorithms that are not straightforward to implement in OpenFOAM right now (coupled solver required).

Please, let me know if you need further information.

P.S. Thank you for your comment on my presentation!
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
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

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
TwoPhaseEulerFoam sara OpenFOAM Running, Solving & CFD 2 November 6, 2008 19:26
Bug in twoPhaseEulerFoam alberto OpenFOAM Bugs 2 May 20, 2008 21:25
TwoPhaseEulerFoam Bug alondono OpenFOAM Bugs 1 February 19, 2008 20:01
Bug in twoPhaseEulerFoam wallfunctions alberto OpenFOAM Bugs 1 February 9, 2007 14:15
TwoPhaseEulerFoam newbee OpenFOAM 0 March 27, 2006 08:41


All times are GMT -4. The time now is 17:44.