CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   TwoPhaseEulerFoam Documentation (https://www.cfd-online.com/Forums/openfoam-solving/58178-twophaseeulerfoam-documentation.html)

sircorp November 5, 2009 04:01

Thanks Dr. Alberto

(I am new to CFD and hence please bear with me if I ask some very stupid/silly question(s). Thanks for help in references. All three references are of "DIRECT" help for my project. Katerina Mousa gave some insight into role of bubbles in bubble-liquid CFD. She addressed nicely.)

1) Your feedback on variable density is highly appreciated. I am working on Molten Salt + Gaseous systems. Yes molten salt density will be a function of temperature and system will have a temeprature gradient( around 200 degree from top to bottom.) I should have experimental data ready in one years(once our prototype system is ready).

2) Regarding mass transfer equations, I am trying to take one step at a time(being new to CFD). I believe it will be highly complex to develop mass transfer equations. Three to Four variables will be there
i) Density(variable density along the height of the chamber)
ii) Solubility of gases in the system will be temeprature dependent. Also it will not be linear.
iii) To keep the puping load low, high heat transfer, bubble size is important. I need to work below turbulent velocity. Gas velocity will be pretty low and molten system will flow under gravity from bottom to top and vice versa. Temperature gradient will be a continuous feature of the system.
iv) It is assumed system is not stirred.

v) Freezing of system is of paramount importance to use Latent Heat. However, to include Latent Heat, that will be be distant away for me.

Thanks

sircorp.

alberto November 5, 2009 11:14

Very happy to be of some help!

Quote:

Originally Posted by sircorp (Post 235169)
2) Regarding mass transfer equations, I am trying to take one step at a time(being new to CFD). I believe it will be highly complex to develop mass transfer equations. Three to Four variables will be there

Yes. My point was simpler. If you plan to include mass transfer in the future, my suggestion is to think to the solution algorithm so to include the necessary terms already. It does not matter what will be the exact final formulation or if you won't use them (set them to zero), but you will save a lot of time in development and testing later.

Best,

sircorp November 5, 2009 16:41

Quote:

Originally Posted by alberto (Post 234984)
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! :)


Thanks Dr. Alberto

I am going through the recommonded study. I am new to CFD and may ask very basic questions time to time.

I did answer this email earlier but it seems it ended in separate forum.

Sircorp

alberto November 5, 2009 16:50

Quote:

Originally Posted by sircorp (Post 235267)
Thanks Dr. Alberto

I am going through the recommonded study. I am new to CFD and may ask very basic questions time to time.

Great! Feel free to ask any question.

Best,

sircorp November 6, 2009 02:57

TwoPhaseEulerFoam Documentation
 
Thanks Alberto

The article by Jeong and Park , "A semi-implicit numerical scheme for transient two-phase flows on unstructured grids" has helped me enormously. I have started going through the other cited references.

As per project, I MUST use Fluent and TRNSYS together to model the system.


sircorp

alberto November 6, 2009 09:18

Quote:

Originally Posted by sircorp (Post 235309)
As per project, I MUST use Fluent and TRNSYS together to model the system.

I think it is actually an advantage for you to use FLUENT, since you are starting now with CFD, and also because their multi-phase models are robust and much more developed than what is currently in OF. So, you won't have to worry about too many details of the numerical implementation for now.

Best,

chai November 19, 2009 03:57

hello Alberto
I am interested in the solution algorithme in twoPhaseEulerFoam. but it really confuses me.

In the Ueqn.H, the l.h.s of the momentum equation for phase A is

(scalar(1) + Cvm*rhob*beta/rhoa)*
(
fvm::ddt(Ua)
+ fvm::div(phia, Ua, "div(phia,Ua)")
- fvm::Sp(fvc::div(phia), Ua)
)
- fvm::laplacian(nuEffa, Ua)
+ fvc::div(Rca)
+ fvm::div(phiRa, Ua, "div(phia,Ua)")
- fvm::Sp(fvc::div(phiRa), Ua)
+ (fvc::grad(alpha)/(fvc::average(alpha) + scalar(0.001)) & Rca)


what's meaning of this term " (scalar(1) + Cvm*rhob*beta/rhoa) "?
After reading the Ph.D thesis of Henrik Rusche, I still can’t find any term which is similar to “(scalar(1)+Cvm*rhob*alpha/rhob)”.

I am new to two-fluid method, please bear with me if this question is silly.

Thank you.

Chai

nscurtu November 20, 2009 07:58

Bugs in twoPhaseEulerFoam
 
Hi,

by reading the Master thesis of Juho Peltola I understand why the twoPhaseEulerFoam with using the kinetic theory for granular flows gives unphysical results.

It seems that Juho introduces some modifications of the code.

My question is in what way the modified twoPhaseEulerFoam is accessible for OpenFoam users.

Best,
Nicoleta

alberto November 20, 2009 09:26

Quote:

Originally Posted by chai (Post 236861)
what's meaning of this term " (scalar(1) + Cvm*rhob*beta/rhoa) "?

It is simply a way to rewrite the equation. If you set Cvm = 0, you get the momentum equation without virtual mass effect, while if you have Cvm != 0, you include the virtual mass effect.

Best,

sircorp November 20, 2009 22:57

For those who are for a Learning Phase, an exceptionally good reading is "Dynamic Simulation of dispersed gas-liquid two-phase flow using discrete bubble model". by Delnoij and Lammers et al.

(I am also new to CFD and is trying to raise my head above water). Thanks to Alberto's help I am able to make some ground.

alberto November 20, 2009 23:31

Quote:

Originally Posted by sircorp (Post 237127)
For those who are for a Learning Phase, an exceptionally good reading is "Dynamic Simulation of dispersed gas-liquid two-phase flow using discrete bubble model". by Delnoij and Lammers et al.

(I am also new to CFD and is trying to raise my head above water). Thanks to Alberto's help I am able to make some ground.

Thanks Shane, but you are doing the work of learning. I just suggested some reading ;)

For Nicoleta, if you are interested in a partial description of the numerical methodology used in bubbleFoam/twoPhaseEulerFoam, and in particular on the phase intensive formulation of the momentum equation, you can read the following paper:

  • P. J. Oliveira, R. I. Issa, Numerical aspects of an algorithm for the Eulerian simulation, of two-phase flows, International Journal of Numerical Methods in Fluids, 2003; 43:1177–1198 (DOI: 10.1002/fld.508)

The details of the implementation in OpenFOAM(r) are described in an internal report of OpenCFD(r) and are summed up in Henrik Rusche PhD thesis, where you can also find the reference to the internal report I am referring to.

The basic ideas behind the solution algorithm are the following
  • do not include the pressure gradient in the momentum predictor, which is not solved (only a Jacobi iteration is done to find a guess of the velocity before solving for the pressure equation based on the mixture)
  • move the gravity and the explicit part of the drag term to the pressure equation (this approach is known in the literature as semi-implicit coupling)
  • solve the pressure equation to enforce mass conservation for the mixture
  • do not correct the velocity field directly, instead correct the flux
  • obtain the velocity correction from a reconstruction of the flux correction
The last two steps are the key point, if you want to have a stable solution when sharp interfaces with large density gradients are present.

Side note: all this was explained in one contribution to the documentation project :D

Best,

sircorp November 21, 2009 20:29

Confusion:

1) As per my reading over the last few months I was made to believe that in gas-liquid fluidized bed, smaller the bubble particle size, more the heat transfer between gas and liquid(keeping velocity, density and other parameters same).

2) Also with the increase of the pressure(I mean in pressurised fluidized bed), the bubble size of gas decreases with the increase of the pressure and limits to maximum 6 MPa above which no change oserved in heat transfer coefficient between gas and liquid.

3) The effect of Viscosity is not clear to me at all. BIG CONFUSION. According to Xukun Luo et al in "High presure three phase fluidization system declares other way i.e. Heat Transfer decreases with increase of Viscosity".(A similar claim made by Xukun Luo et al on page 2433 penultimate paragraph

sircorp April 19, 2010 20:57

Gas Liquid Heat Transfer
 
Does some one can guide me to find Heat Transfer Equations of Bubbling Gas through a Liquid Column.

Sircorp

Edy October 29, 2010 06:20

Hi Sefan Radl,

I am actually quite confused about the implementation of the pressure in twoPhaseEulerFoam which is different than what Rusche explains in his thesis.

If "p" in the solver represents the modified pressure, why then gravity still appears (as a term transfered from the UEqn.H to the pEqn.H)?

I hope that you found the answer to this question after this long time and that you'll be able to help me.

Thanks in advance!
Best,

Edy

alberto October 31, 2010 23:36

bubbleFoam / twoPhaseEulerFoam do not solve for the modified pressure, but for the actual pressure. You can easily obtain the pressure equation used in the code dividing each continuity equation by the corresponding phase material density and summing them up.

Further information here: http://openfoamwiki.net/index.php/Bu...ssure_equation

Best,

Edy November 1, 2010 07:55

Hi Alberto,

Thanks a lot for your answer and link. I just started using OF and there are still many things that are unclear to me... :)

Your link was quite useful and now I understand, i think, the role of the pressure equation. However i still have few questions :

1) Tell me if I am wrong but the terms to be transfered to the pressure equation are the one in which appears a gradient term, cause letting gradient terms in the RHS of the momentum equation would cause numerical calculation problems such as oscillations and loss of continuity. Am i right? Then I understand why the pressure gradient and the turbulent dispersion force (in which appears grad(alpha)) are transfered, but why the gravity g too??

2) Since twoPhaseEulerFoam considers the actual pressure, the BC at the wall should not be zeroGradient, right? I think I'd better use buoyantPressure, but then I have an issue concerning the density to use. The wall is ,in my case, heated and void fraction can be relatively high, so taking the liquid density does not appear as the best solution to me. Perhaps to take a kind of mixture density would be more appropriate. I do not really know how this BC patch works...

I would be very grateful if you could provide some insight into these two issues.
Thanks a lot!

Best regards,

/Edouard

Edy November 1, 2010 08:20

Hi again!

Still concerning my first question, I noticed in bubbleFoam and twoPhaseEulerFoam that the drag term (not the turbulent drag also called turbulent dispersion) is transfered to the pressure equation, though it does not contain any gradient... Why is this term transfered and not the lift for example, or any other interfacial force?

Thank you very much for your help!
Best,

/Edouard

alberto November 1, 2010 12:26

Quote:

Originally Posted by Edy (Post 281640)
The pressure equation. However i still have few questions :

1) Tell me if I am wrong but the terms to be transfered to the pressure equation are the one in which appears a gradient term, cause letting gradient terms in the RHS of the momentum equation would cause numerical calculation problems such as oscillations and loss of continuity. Am i right? Then I understand why the pressure gradient and the turbulent dispersion force (in which appears grad(alpha)) are transfered, but why the gravity g too??

The gravity term, as well as the explicit part of the drag term are "transferred to the pressure equation" since they are included in the interpolation formula to stabilize the numerical procedure when there are sharp changes in the volume fraction. Some Author called this "improved Rhie-Chow interpolation".

Quote:

2) Since twoPhaseEulerFoam considers the actual pressure, the BC at the wall should not be zeroGradient, right? I think I'd better use buoyantPressure, but then I have an issue concerning the density to use. The wall is ,in my case, heated and void fraction can be relatively high, so taking the liquid density does not appear as the best solution to me. Perhaps to take a kind of mixture density would be more appropriate. I do not really know how this BC patch works...
The buoyantPressure BC is exactly a zeroGradient BC if p is not p_rgh. You might want to take a look at the code.

Best,

Edy November 2, 2010 12:31

Hi Alberto,

Thanks again for taking some time and answer my questions!

Ok, so transferring the explicit part of the drag term to the pEqn will stabilize the procedure. I am trying to understant all that because I am modeling a two phase Eulerian model for nucleate subcooled boiling. And therefore I have additional terms in my momentum equations due to phase change. But I dont know if they should be kept there or transfered to the pEqn... How to guess that transferring some terms will stabilize the procedure?

Do you have any advice?

Anyway, thanks a lot, your previous posts have been quite helpful.

Best,

/Edouard

alberto November 2, 2010 12:39

What is the form of these terms? Do they change quickly with the phase fraction?

Best,


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