CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Programming & Development (
-   -   multiphaseEulerFoam for packed bed reactor (

yanxiang November 20, 2012 16:44

multiphaseEulerFoam for packed bed reactor
2 Attachment(s)

I am working on a two phase flow in packed bed reactor. Since the solid phase is not moving, I thought I can basically force it fixed by setting corresponding velocity to zero at each time step. So I did. In the UEqn.C, I added after line 9 so it became


    volVectorField& U = phase.U();

    if ( == "water")
        U = U*0;

    volScalarField nuEff(sgsModel->nut() + iter().nu());

It compiled OK. I took the bubbleColumn as the test case (tutorials/multiphase/multiphaseEulerFoam/bubbleColumn) and changed the property of the water phase to that of a solid (taken from tutorials/multiphase/twoPhaseEulerFoam/bed) but left the other phase (gas phase) unchanged. Initial conditions are shown in the attached picture t0.png. alphawater is really alphasolid in this case. Since the solid phase velocity is forced to be zero, I would expect it not moving. However, the solution shows that the solid phase is compressed till the volume fraction is 0.9. The sum of the two phases, indicated by alphasum, is, however, 1 (with slight deviation at some points due to numerical errors). I played around with the diamterModel parameters, it stayed the same.

So why would the solid phase compress itself if the velocity is zero and the alpha equations depend on that? What do I miss?


yanxiang November 20, 2012 18:45

I think I figured out what went wrong myself.

So the solution procedures of the alpha equations in multiphaseEulerFoam is similar to the ones presented in Rusche's thesis (Eqn 3.58), only adding more equations. So with this equation, even Ua = 0, alpha_a still changes. Change this to the straightforward solution of the equations should solve the problem, but also would possibly introduce unboundedness.

yanxiang November 21, 2012 17:11

Ok. Seems like nobody is really interested in this topic.

So anyway, my last post was wrong. The fact that the solid phase is compressed has nothing to do with how the alpha equations are solved. I implemented the straightforward solution of those, but what I got is simply worse. Compression still, and unboundedness. So for this simple two phase case, the solution is basically not to solve the alpha equations. alpha_solid = alpha_solid0, and alpha_gas = 1- alpha_solid.

kwardle December 14, 2012 13:51

Maybe it is not that no one is interested, just not fast enough to respond in 1 day...
If you are only looking at two phases, why not try with twoPhaseEulerFoam? Did you try to change the order that your phases are defined in transportProperties? Perhaps that way you would have the solid phase be the dependent as you have suggested should be the case.
I guess, fundamentally I don't see why multiphaseEulerFoam is the correct approach for you. Is there a reason why a porous approach does not work. Just some thoughts.

yanxiang December 14, 2012 15:36

Dear Kent,

Thanks for the reply, and for comforting. I wasn't patient enough.

You are right about the twoPhaseEulerFoam. I have discontinued any effort of trying to make the multiphaseEulerFoam work. It is not such a trivial task to do. So instead, I switch to twoPhaseEulerFoam and so far I have made some progress. However, just to clarify, there really is three phases, i.e., a static solid phase and flowing gas and liquid phases.

The porous media model isn't ideal because what I am interested in is the liquid distribution within the bed, whereas the porous media model implemented in OF only considers uniform porosity. I have implemented my own variable porous media model, but I still favor the multi-fluid approach as it provides more flexibility and to some degree is closer to the real physics because it accounts for the interactions between phases.

Now I am facing another issue. There is a brief discussion here:

So the issue is basically that I can't seem to limit the volume fraction within 0 and 1. I would appreciate it if you could help me with that.


All times are GMT -4. The time now is 12:43.