CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Calculating Interface Area with InterFoam (

gopala August 23, 2007 15:47

Hello, I am interested in i

I am interested in implementing Mass and Heat transfer across the interface using VOF (interFoam solver), which requires an accurate description of the interfacial area in each cell. Can someone suggest a way to calculate the interfacial area using the present interFoam VOF implementation?

Thanks in advance,

jaswi August 24, 2007 05:58

Hi Vinay Check out this li
Hi Vinay

Check out this link in the forum


fabian_roesler February 26, 2009 08:34

The links seems to be dead. C
The links seems to be dead.
Can anybody post the correct link of the discussion?
Thanks allot in advance.



romant February 17, 2010 11:32

interface area
Did you ever find a solution to the problem of calculating the interface area within the cell?

nimasam July 31, 2010 05:34

hi friends
did you find any way to calculate interface area ?

romant July 31, 2010 08:25

never found one

I tried finding a solution, but I in the end created a model to simulate and predict the size of the interface area. I assumed that the size of the cell is regular. Then calculated the area that is double diagonal within the a regular cell (in this case a cube then) and varied the size of the interface area with the amount of alpha1 within the cell, max at 0.5 alpha1 and full size of the double diagonal area.

Of course this can be made better. Additional information that can be used within such a model can be the velocity, the angle at which the interface is within the cell and the irregularity of the cell.

nimasam July 31, 2010 10:36

hi roman
could you please describe ur method step by step or mathematically because i didnt get what you said :) it was ambiguous for me

thanks in advance

romant July 31, 2010 10:50

mathematical method
assume a regular cell. in the case of a hexahedral cell this means, a cube with sides of length a. This length is obtainable by using the volume of a cell,V , and taking the third root.

You can put a plane diagonally through the cube. The size of this plane is given by

Amax =√(3) * V^(2/3)

When the cell is now filled with phase 1, you can read the alpha1 value. The maximum area, Amax, is now varied based on the alpha1 value. with

A = Amax*2 * alpha1; 0 ≤ α < 0.5
A = Amax*2(1-alpha1); 0.5 ≤ α ≤ 1

The code that I used for this is


Foam::phaseChangeTwoPhaseMixtures::AlbaNovaInterface::interfaceArea() const
    // return the interfacial area based on model for interfacial area
    // returns dimensions Area

    // model based on regular volume cells, taking the largest cut area
    // as maximum for area, linear increase and decrease with alpha
    const volScalarField& cellVolume =
    volScalarField limitedAlpha1 = min(max(alpha1_, scalar(0)), scalar(1));

    const dimensionedScalar
            areaFactor("areaFactor",dimensionSet(0,2,0,0,0,0,0), 0.0);

    volScalarField interfaceArea = alpha1_ * areaFactor;
    volScalarField maxArea = alpha1_ * areaFactor;

    maxArea = sqrt(3.0)*pow(cellVolume,(2.0/3.0));
    return tmp<volScalarField>
      (neg(limitedAlpha1-0.5)*maxArea*2.0*limitedAlpha1) +
        (pos(limitedAlpha1-0.5)*maxArea*(-2.0*( limitedAlpha1 - 1.0)))


I know that the code is not the cleanest and strictest code. For example at the part where the field with the interface areas are created, but it was at a time I didn't know too much yet :-)

nimasam August 1, 2010 02:53

thank roman but could please tell me how could u get "cellVolu" in ur code ?

romant August 1, 2010 05:29

create an accessible volume field

I created a volume field in createFields.H


// create access for cell volumes during runtime
    // needed by AlbaNovaInterface

    volScalarField cellVolu
    dimensionedScalar("zero", dimVolume, 0.0)
    cellVolu.internalField() = mesh.V();

this is now available throughout the runtime. It is never written, but is readable.

vigneshTG October 30, 2014 04:43

Length of the interface
Dear All,

I know this thread is old but, I would like to know how to calculate the length of the interface in interfoam ?

romant October 30, 2014 04:47

One way if determining the interface size has been described in the previous posts. A length would not be a real size for a cells, as a cell 3D and you need an area.

vigneshTG October 30, 2014 11:08


Originally Posted by romant (Post 516588)
One way if determining the interface size has been described in the previous posts. A length would not be a real size for a cells, as a cell 3D and you need an area.

Thank you !! Now i get it

Kanarya June 8, 2015 08:13

HI Foamers,

I am trying to implement Roman's code but I have following error:
PHP Code:

In file included from alphaEqnSubCycle.H:35:0,
from myInterConPhaseChangeFoam.C:83:
alphaEqn.HIn function ‘int main(intchar**):
alphaEqn.H:86:3error‘mDotCondense’ was not declared in this scope
mDotcAlphal*(1-alpha1); // multiply by (1-alpha1) because given back that way
In file included from alphaEqnSubCycle.H:40:0,
from myInterConPhaseChangeFoam.C:83:
alphaEqn.H:86:3error‘mDotCondense’ was not declared in this scope
mDotcAlphal*(1-alpha1); // multiply by (1-alpha1) because given back that way
In file included from myInterConPhaseChangeFoam.C:61:0:
usr/local/OpenFOAM/OpenFOAM-2.1.0/src/finiteVolume/lnInclude/readTimeControls.H:38:8warningunused variable ‘maxDeltaT’ [-Wunused-variable]
scalar maxDeltaT =
make: *** [Make/linux64GccDPOpt/myInterConPhaseChangeFoam.oError 1 

Can you help me?

romant June 8, 2015 10:18

I think to understand how the code is implemented, you need to take a look at how the other models for cavitationFoam are implemented. Different models could be chosen in version 1.7 for which this model was created. I am not sure what it looks like today (as of version 2.3 or 2.4).

The models that I implemented were not hard coded into the solver but where as all the other models selectable.

hojjat.m September 1, 2015 10:47

Calculating interface area of a jet
Hi Foamers,

I am running some simulations on a jet impacting a quiescent pool with interFoam. I was wondering if there is any way that we can calculate the interfacial area of a jet at the impact location.

Thanks in advance.

wyldckat September 1, 2015 15:36


Originally Posted by jaswi (Post 198783)


Originally Posted by fabian_roesler (Post 198784)
The links seems to be dead.
Can anybody post the correct link of the discussion?

6 years too late, but here's the recovered link that I found via

hojjat.m September 1, 2015 17:43

Bruno thanks for the reply, but I am only interested in the interface area of the jet at the impinging location. The method described will calculate the interface area all over the pool and the bubbles beneath the surface, which I am not interested.


wyldckat September 12, 2015 15:38

Greetings Hojjat,

Originally Posted by hojjat.m (Post 562055)
but I am only interested in the interface area of the jet at the impinging location.

If the impact location was a wall (water jet moving through the air onto a wall), it would be fairly easy. If the interface area was between two different fluids in a three fluids simulation, it would be doable.
Problem is that you want to calculate the impact area between two fluids of the same ... er, wait, is it a jet of a fluid different from the quiescent fluid in the pool?

In other words: without a clear picture/image of what you're trying to calculate, I don't know if it's even possible at all.
At best, I can imagine it would be possible to calculate the area in a cross section of the domain that is operating at a certain flow speed for a specific phase.

Best regards,

All times are GMT -4. The time now is 14:50.