CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   Tomiyama wall lubrication force (http://www.cfd-online.com/Forums/openfoam/82931-tomiyama-wall-lubrication-force.html)

 Edy December 9, 2010 08:58

Tomiyama wall lubrication force

Hi Foamers,

I am developing a Euler-Euler solver for two-phase flow. For the moment I only consider an adiabatic case and no interfacial area concentration transport equation (IACTE). [At a later stage, I will implement boiling and IATCE but this is not my goal right now]

I implemented the following interfacial forces :
- Ishii Zuber drag
- Zuber virtual mass
- Gosman (Favre averaged) turbulent dispersion
- Tomiyama lift
- Tomiyama wall lubrication

My case is based on the DEDALE experiment performed at EDF, which consists of a upwards water flow in a vertical pipe, in which is injected gas bubbles. No heating is applied. I even makes it simpler cause i consider basically a 2D channel instead of a 3D pipe.

However, my wall lubrication force seems to be wrong cause for 0.6 mm diameter bubbles, i do not observe wall peaking (the void fraction is maximum at the wall, like if the wall lubrication force was not big enough to countereffect the lift). Then I tried to run a new simulation for 2mm diameter bubbles and my code crashed after 0.002s of simulation, the wall lubrication force had tremendously increased and made the gas velocity explode (500 m/s).

I am a bit confused about this Tomiyama wall lubrication force. Concerning the relative velocity which is needed for its calculation, is it the relative velocity for each local cell, or at the centerline location? Should it be the total magnitude of the relative velocity or only the part in the flow direction?

Here is what I implemented for this force :

Code:

```volScalarField AWallLubrication = wallLubricationa->AWL(alpha,DS,magUr);  //calls a volVectorField wallLubricationForce = AWallLubrication*(1/pow(distToWall,2)-1/pow(D-distToWall,2))*normal // I checked distToWall and D (the pipe diameter) and these fields are OK so the pb might be in AWL```
The function AWL is defined in the Tomiyama wall lubrication class as following :

Code:

```dimensionedScalar g     (         "g",         dimensionSet(0, 1, -2, 0, 0, 0, 0),         scalar (9.81)     );     volScalarField Eo = mag(g)*(phaseb_.rho()-phasea_.rho())*pow(DS,2.0)/phaseb_.sig();     volScalarField CwlEo = exp(-0.933*Eo+0.179);     forAll(Eo, celli)     {         if (Eo[celli] < 1.0)         {             CwlEo[celli] = 0.47;         }         else if (Eo[celli] >= 1.0 && Eo[celli] <= 5.0)         {             CwlEo[celli] = exp(-0.933*Eo[celli]+0.179);         }         else if (Eo[celli] > 5.0 && Eo[celli] <= 33.0)         {             CwlEo[celli] = 0.00599*Eo[celli]-0.0187;         }         else if (Eo[celli] > 33.0)         {             CwlEo[celli] = 0.179;         }     }     return 0.5*CwlEo*phaseb_.rho()*pow(Ur,2.0)*DS;  //DS is the bubble diameter```

Has anyone already implemented Tomiyama wall lubrication force? Or see what might be wrong in my implementation? Any other idea, suggestion is welcome. :)

Best,

/Edy

 holger_marschall December 9, 2010 16:37

Hi Edy,

nice! :)

• As I understand the wall lubrication force as it's modeled by Tomiyama (on the basis of Antal's suggestion) the relative velocity is dotted with the unit wall tangential vector and then the magSqr is taken. Afterwards the unit wall normal vector is multiplied in order to get the force counteracting the lateral lift force in radial direction.
• Furthermore, have you checked the direction of the lubrication force?
• I further suggest to suspend the lift force in cells next to walls.
• Have you considered an alternative implementation. E.g. the version implemented in CFX holds the dispersed phase fraction.
This will cause the expected wall peak, IMO.

Hope this helps!

best regards,

 juho December 9, 2010 17:11

Perhaps it would be better to implement the model proposed by Frank (2004). It is a version of the Tomiyama model for general geometries i.e. not just for circular pipes. This model is implemented in CFX (along with others). You can find more information on Frank's homepage: http://www.drthfrank.de
Here's one presentation: http://www.drthfrank.de/publications...op_Dresden.pdf

Quote:
 Originally Posted by holger_marschall (Post 286777) I further suggest to suspend the lift force in cells next to walls.
I definitely understand why you suggest this, but do you happen to have references for this kind of practice or examples of codes that do this?

 holger_marschall December 10, 2010 02:59

Quote:
 Originally Posted by juho (Post 286781) Perhaps it would be better to implement the model proposed by Frank (2004). It is a version of the Tomiyama model for general geometries i.e. not just for circular pipes. This model is implemented in CFX (along with others). You can find more information on Frank's homepage: http://www.drthfrank.de Here's one presentation: http://www.drthfrank.de/publications...op_Dresden.pdf
That's exactly the one I mean. Thanks! There is anothe model for wall lubrication by Larreteguy (based on a model of Lopez de Bertodano). This additionally proposes a drag correction in wall tangential direction.

Quote:
 Originally Posted by juho (Post 286781) I definitely understand why you suggest this, but do you happen to have references for this kind of practice or examples of codes that do this?
The wall lubrication force first and foremost has been introduced to counteract the lift force near walls in order to get a wall peak (as in experiments). This force prevents small bubbles from wanting to pass through the pipe walls due to the lateral bulk lift force. Moreover, there is quite some discussion on the physical significance (justification) and form (see above) of the wall lubrication force. So it's more straightforward to suspend the lift force near walls, claiming its validity in the bulk of the flow. The same discussion can be made on the bulk drag (i.e. in axial direction) since the drag coefficient model has been found for bulk flows.
We should consider to do so in OpenFOAM :)

@Edy: We have implemented quite a lot models for bubbly flows. Are you interested in sharing them? We could found a working group on the extend portal (www.extend-project.de) on the enhancement of bubbleFoam. I.e. adding proper turbulence models, a bench of interfacial force models, swarm correlations etc.

 juho December 10, 2010 03:42

Quote:
 Originally Posted by holger_marschall (Post 286826) The wall lubrication force first and foremost has been introduced to counteract the lift force near walls in order to get a wall peak (as in experiments). This force prevents small bubbles from wanting to pass through the pipe walls due to the lateral bulk lift force. Moreover, there is quite some discussion on the physical significance (justification) and form (see above) of the wall lubrication force. So it's more straightforward to suspend the lift force near walls, claiming its validity in the bulk of the flow. The same discussion can be made on the bulk drag (i.e. in axial direction) since the drag coefficient model has been found for bulk flows. We should consider to do so in OpenFOAM :)
I agree with you and I've considered suspending or damping the lift force near the walls myself. Perhaps as a function of bubble diameter and wall distance. Anyway, I think there is still quite a bit of room for improvement in these near wall models.

 holger_marschall December 10, 2010 03:56

Hi Juho,

best regards,

 juho December 10, 2010 04:10

Quote:
 Originally Posted by holger_marschall (Post 286838) Hi Juho, yes - closure modeling is a dirty business :) May I ask your topic of research? best regards,
It varies from project to project, but recently I've been looking into gas-liquid flows and heat transfer with the Euler-Euler approach.

 Edy December 10, 2010 06:29

Hi!

I see that you've been quite active on the forum yesterday evening. Thank you both for your very useful advices.

I had checked before and my wall lubrication force is in the proper direction. I also implemented the Antal wall lubrication model but have not tested it yet.

I was in the beginning a bit suspicious about your argument, consisting of suspending the lift force for near wall cells, cause it seemed to me kind of "cheating". But your explanation convinced me : since the wall lubrication force has been introduced in order to fit the experimental results and not out of mechanical modeling, i dont see why one could not "play" a bit with the lift force as well.

So I will try that, suspending or damping my lift force, keeping Tomiyama version in a first time. Have you already done that? If you have, did you suspend the lift only for cells in contact with the wall or for few layers of cells near the wall?

In a second time, I'll try the Frank formulation, whose geometry-independence makes it quite interesting, as you mentioned.

I'll let you know about the results as soon as I got some.

@Holger : How exactly work this working group? (in few words, I ll have a look at the webpage). I would be very interested, that's in my opinion the main advantage of OpenFOAM, to be able to share already implemented solvers between Foamers. Unfortunately, i cannot provide my current solver (I signed a confidentiality agreement with a company I am working with) but I'd be glad to exchange ideas and eventually my future pieces of code, if I am allowed to.

Best,

/Edy

 holger_marschall December 10, 2010 07:01

Hi Edy,

Quote:
 Originally Posted by Edy (Post 286869) I was in the beginning a bit suspicious about your argument, consisting of suspending the lift force for near wall cells, cause it seemed to me kind of "cheating". But your explanation convinced me : since the wall lubrication force has been introduced in order to fit the experimental results and not out of mechanical modeling, i dont see why one could not "play" a bit with the lift force as well. So I will try that, suspending or damping my lift force, keeping Tomiyama version in a first time. Have you already done that? If you have, did you suspend the lift only for cells in contact with the wall or for few layers of cells near the wall? In a second time, I'll try the Frank formulation, whose geometry-independence makes it quite interesting, as you mentioned.
I forgot to mention this, but I think it's useful to further clarify my suggestion: Frank's wall lubrication force model that is implemented in ANSYS CFX, is active only in a thin layer adjacent to the wall with a thickness of less than 5 bubble diameters! In order to stay within the validity of a two-fluid model approach you will have to stick to a mesh resolution that is in the same range, i.e. 5 bubble diameters at walls. However, a finer mesh resolution is required in the vicinity of the wall in order to take Frank's wall lubrication force in effect. This seems inconsistent. Therefore, I decided to suspend the lift force near walls.

Quote:
 Originally Posted by Edy (Post 286869) @Holger : How exactly work this working group? (in few words, I ll have a look at the webpage). I would be very interested, that's in my opinion the main advantage of OpenFOAM, to be able to share already implemented solvers between Foamers. Unfortunately, i cannot provide my current solver (I signed a confidentiality agreement with a company I am working with) but I'd be glad to exchange ideas and eventually my future pieces of code, if I am allowed to.
Sure you are most welcome! :) Let's enhance the model capabilities of bubbleFoam! The working group is just to discuss and exchange some ideas. For this prupose it holds the functionality of exchanging messages, files and group emails. We can even start a sub-project using the project management at -Extend in order to start concrete developments.

best,

 l_r_mcglashan December 10, 2010 07:20

I've put my surface forces library up on github:

https://github.com/lrm29/multiphaseSurfaceForces
https://github.com/lrm29/multiphaseTransport

I haven't really done much, but Antal/Frank wall lubrication forces are in there. Would be good to share this stuff as it's pretty simple to implement, but easy to make mistakes!

 Edy December 13, 2010 12:41

Hi,

Thanks Laurence for your models. Your Antal wall lubrication force will be useful to me. I have not yet implemented it because my results with Tomiyama are satisfying for the moment, and I first want to have a complete solver which is valid for pipe before eventually improve it and make it geometry independent.

As I said, here is the void fraction profile I get at a location z/D=55, which is pretty satisfyong compared to the DEDALE experiment. However my IAC and bubble diameter (DS) profiles are not good but the discrepancies for these two terms cancel out and give in the end a correct void fraction. Does any of you have an idea of what might cause the discrepancy on IAC and DS. In my IACTE, I used Hibiki-Ishii models for coalescence and breakup.

You can find to the following adress my profile predictions, as well as the experimental data.

http://dl.free.fr/jBPxNlvhz