CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Programming & Development (
-   -   interFoam and alphaEqn.H (

pablodecastillo April 25, 2012 04:50

interFoam and alphaEqn.H

Why in alphaEqn.H is it not added alpha1 = max(min(alpha1, scalar(1)), scalar(0)); i mean this artificial bounded?


Phicau April 25, 2012 05:55


MULES solver ensures boundedness, that is why the last 2 inputs are 0 and 1, the bounds of alpha1. This is achieved by the use of limiters.

The final result may show values greater than 1 or lower than 0, but with differences of the order of 10^-5, which is negligible.


santiagomarquezd May 1, 2012 08:52

Using an artificial bounding of this kinds leads to a non-phase-preserving algorithm due it 'cuts' with having in account the conservative properties of the alpha equation. In other words you will lose or gain mass.


pablodecastillo May 7, 2012 13:57

But looking for steady state loss or gain mass is not going to be relevant or yes?


santiagomarquezd May 8, 2012 12:59

Hhmm, I don't know, but since the solver is unsteady probably it will blow up before reach the steady state due mass preservation problems.


Saideep March 28, 2016 10:47

Hi guys,

I guess this is the most relevant thread I found to post the following question and hope anyone of you could help me out.
The alphaEqn.H file has evolved from 2.2 version to 2.3 version. I can understand the 2.2 version of the code but I cant follow most part of the 2.3 version of alphaEqn. Can you help me out?

What does the following code indicate?
fvScalarMatrix alpha1Eqn
+ fv::gaussConvectionScheme<scalar>
upwind<scalar>(mesh, phi)
).fvmDiv(phi, alpha1)

The later part is from the older version for advection of alpha with velocity and relative velocity terms.

I tried to use the older version into this but alpha is no more bounded between 0 and 1.


santiagomarquezd April 16, 2016 21:00

Hi Saideep, the new version of alphaEqn is based on operator splitting techniques to obtain a semi-implicit solver. The code you posted corresponds to the first-order bounded predictor of alpha which is lately corrected by a high-order corrector:


All times are GMT -4. The time now is 01:03.