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/)
-   -   Rewriting twoPhaseEulerFoam in conservative form (https://www.cfd-online.com/Forums/openfoam-solving/71141-rewriting-twophaseeulerfoam-conservative-form.html)

kwardle November 2, 2011 13:47

Eric,
This has been somewhat fixed--as part of his work with me on a related solver, Henry has implemented a multiphase version of his MULES solver which improves the phase fraction bounding for the multiphase case by several orders of magnitude. I imagine this will be out in future versions of the code.
-Kent

alberto November 2, 2011 14:05

Interesting. Why do you need MULES in a multi-fluid solver, since MULES is typically used to track free surfaces?

Limiting alpha is done in most of the multi-fluid codes with re-normalization of the variable, and enforcement of the mass conservation principle. You can refer to the implementation of codes for nuclear applications like NEPTUNE CFD, or to other multiphase codes like MFIX.
Essentially, the idea (from NEPTUNE paper) is to solve for the phase fraction of all the phases, solve for the pressure equation based on total continuity and repeat until 1 - sum(alpha) < epsilon, being epsilon a very small number.
In this process some Author re-normalize alpha so that alpha = alpha/sum(alpha) < 1. It is a pretty standard approach, but it is also robust.

Best,

kwardle November 2, 2011 14:13

Quote:

Originally Posted by alberto (Post 330488)
Interesting. Why do you need MULES in a multi-fluid solver, since MULES is typically used to track free surfaces?

If I was not mistaken Eric's question was about multiphaseInterFoam. As for me, I am indeed trying to track free surfaces within the context of a multi-fluid solver which is why it is needed/used.

alberto November 2, 2011 14:18

My bad, sorry. I was misled by the title of the thread!

alberto November 2, 2011 14:23

@Kent Did you get the reply to your email?

wenxu May 13, 2015 11:40

Dear Alberto,

Now I am interested in QMOM and want to do research on this. I find that you have an openSource called OpenQBMM in gitHub. But I could not download it. Could you be so kind send it to me? My email: 981588592@qq.com

Regards,
Xu

vishal3 May 26, 2015 04:05

1 Attachment(s)
Quote:

Originally Posted by alberto (Post 240243)
Hello,

I started to work on an improved version of a two-fluid solver with the goal of dealing with gas-particle flows with the traditional kinetic theory closures for the particle phase and, eventually, in future, more advanced techniques.

At first I thought to work on a two-phase code, because there still are a few questions to be addressed before adding complexity to the problem. So the steps I plan to follow are:
  1. Write a two-fluid solver which does not rely on the phase-intensive formulation of the phase momentum equations. The phase intensive form is of great help in stabilizing the solution when the phase volume fraction tends to zero, but it introduces non-conservative terms, which might lead to problems in the solution under certain conditions (See for example Parks et al., Nuclear Engineering and Design, Vol 239, Issue 11, November 2009, Pages 2365-2371)
  2. Implement a pressure-based compressible solver for the particle phase, to deal with the strongly non-linear behaviour of the particle pressure. After studying the existing algorithms for gas-particle flows, I think a pressure based solver might be the easiest approach to implement in OpenFOAM(r), compared to volume fraction based approaches. Moreover, looking at the functional form of the granular pressure in the dense limit, where the pressure diverges (the flow becomes incompressible), it becomes clear that solving for the granular pressure instead than for the volume fraction directly and then obtain the pressure from the equation of state is less troublesome.
Now, in doing this, there are some problems that need to be solved:
  • Almost all the algorithms in the literature of multiphase flows are based on a staggered grid arrangement, while OpenFOAM uses colocated grids. This problem has been addressed already in twoPhaseEulerFoam, with Weller's pseudo-staggered approach, which relies on an appropriate use of the flux reconstruction to include certain contributions (gravity, drag, ...) in the momentum equation.
  • The phase momentum equation is singular when the phase volume fraction becomes zero. This problem does not exist in the phase-intensive formulation, but it appears again when we consider the conservative form. A possible workaround is to define regions in the computational domain where the volume fraction alpha is smaller than a quantity alphaMin, and proceed to the solution only where alpha > alphaMin. To do this in OpenFOAM, one way is to define flags, and set the fvMaxtrix up so that it returns U = 0 where alpha < alphaMin. This seems to work correctly almost everywhere, but not at the interface between two phases. In a few cells accross the interface, (See MFIX numerics guide, www.mfix.org), the volume fraction of the dispersed phase is small, and the central coefficient becomes zero (or nearly zero) but the right-hand side of the momentum equation is not zero due to the presence of the fluid-phase pressure gradient and of the gravity term. This leads to a velocity peak at the interface that disturbs the solution significantly (it does not make the code crash in my implementation, and it does not cause oscillations to propagate in the solution, but the velocity peak is clearly wrong and negatively affects the volume fraction field for example). The MFIX numerical guide suggests to fix the problem solving for an approximate momentum balance in the interface cells, which are identified by looking for places where the central coefficient is very small, but I still need to figure out how to implement it "the OpenFOAM way" :). If you have suggestions to resolve this problem in some way, help is welcome. To give an idea of the problem, I attach a picture of the velocity profile along the axis of a channel with particles at the top that are falling under gravity (beginning of the run)
http://dl.dropbox.com/u/659842/VelocityPeak.png

Currently I have a rough implementation with a fictitious equation of state (I'm assuming the granular temperature to be constant), without the fix that causes the velocity peak at the interface.

P.S. Of course the code will be released, as soon as it works :D






Dear Alberto,

I am working on same solver (twoPhaseEulerFoam) for bubble column. I am Simulating Hills case (1974) for cylindrical bubble column. I am describing my case in detail here.

I am running simulations where gas is sparged in the liquid column at superficial velocity of 64 mm/s at the inlet. When the gas rises throughout the column we have some gas hold up and slip velocity for bubbles or actual gas rise velocity at all the axial point in the column. If there is no mass transfer from gas to liquid, that is, no gas dissolved in the liquid, in order to have mass conservation of gas at any axial position in the column, superficial gas velocity (and hence the mass flux of gas) should be same throughout the column and must be equal to 64 mm/s. In other words, (local gas holdup * local bubble rise velocity) must be equal to that of the superficial gas velocity with which gas is entering the column. In order to observe this, I have plotted superficial gas velocity along the axial position in the column as shown in attachment. I have observed that, near inlet (for axial position (Z)<0.1) there is substantial reduction in the superficial velocity of gas, which is an indication of loss of mass for gas in that region. but as we start moving away from the inlet, it is observed that the superficial velocity of gas increases (or recovery of mass of gas) and finally reached the 64 mm/s at Z=0.7 and remains there. I tried to understand this behavior of gas in the column n meanwhile came across this post of yours. I wonder if that is the reason why I have loss of gas near inlet or is there any other reason??. What could be the other possibility? Please help me to get though this.


Thanking you...

masoudsh October 12, 2015 06:32

BubbleFoam limitations
 
I want to use bubblefoam solver but it prevents on my work, because of bubblefoam limitations.

BubbleFoam limitations

The diameter of the particles constituting the dispersed phase is assumed to be consistent. Aggregation, breakage and coalescence phenomena are not accounted for.

What is your suggestion?
DO you know any solver uses Euler mixture model ?

thank you

sola86 October 15, 2015 06:18

Hi, Alberto.
Recently, I try to use DQMOM method in Fluent to simulate a two-phase flow (water and gas). Because DQMOM method requires three second phases, I set three gas phases. Is this right ?
Besides,I don't know how to set the m4 and vof value of three second phases in boundary condition.

Best regards.

masoudsh October 15, 2015 14:28

BubbleFoam limitations
 
I want to use bubblefoam solver but it prevents on my work, because of bubblefoam limitations.

BubbleFoam limitations

The diameter of the particles constituting the dispersed phase is assumed to be consistent. Aggregation, breakage and coalescence phenomena are not accounted for.

What is your suggestion?
DO you know any solver uses Euler mixture model ?

thank you

vishal3 October 20, 2015 01:30

Hi Masoudsh

Which openfoam version are you using?
I think bubbleFoam solver is disconinued (though I am not sure) after OF170.
look into twoPhaseEulerFoam solver in the recent version of OF (OF231/OF240).
Hope it might work for you.

All the best

masoudsh October 27, 2015 18:06

Hi vishal

thank you from your suggestion.
how is multiphaseEulerFoam?

Best regard

vishal3 October 27, 2015 23:30

Hi masoudsh

Multiphaseeulerfoam can also do your job. But being specific about the solver, it is used when your system has more than two phases in it, for example gas-liquid-solid. Whereas twophaseeulerfoam is used only for two phase systems.

With kind regards

aee November 7, 2015 22:33

masoudsh,
I am no expert in this area, but have you considered the IATE diameter model in twoPhaseEulerFoam (i.e., recent OF, not Foam-ext)? If you don't need to resolve individual tiny bubbles, but want to keep track of bubble surface area, for example, it is an elegant solution. IATE accounts for bubble breakage, coalescence due to wake, etc.

At the other end of the scale, interFoam (incompressible) is useful for looking at individual bubbles if incompressibility isn't an issue (small pressure/depth gradient), but the grid must be much smaller than the smallest bubble.

masoudsh November 8, 2015 09:22

hello

what is IATE?
is it in twoPhaseEulerFoam?

thank you for reply to my question

aee November 8, 2015 14:15

IATE is "interfacial area transport equation"
Yes, it is available in twoPhaseEulerFoam.

See tutorials > multiphase > twoPhaseEulerFoam > laminar > bubbleColumnIATE and study the
constant > phaseProperties file.

IATE will also require the kappa.* and Theta.* files in the 0 folder, and a few other considerations (e.g., thermophysicals) depending on the model assumptions.

So far, it seems to be fairly realistic for air/water.

masoudsh May 27, 2016 10:06

thank you for reply


All times are GMT -4. The time now is 02:46.