CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Defining Interface as wall (

Hectux May 29, 2009 05:31

Defining Interface as wall

I am using interFoam with two fluids in a channel.

is it possible to define an interface beetween the two fluids as a wall BC?
I want to avoid convection beetween the two phases.

Or can anyone tell me wehere to find the sourcecode regarding the interface calculation and/or calculcation of the BCs?

Best regards

Hectux June 3, 2009 03:39

3 Attachment(s)
I ran several cases with segmented flow types.

My problem is. Actually I am expecting internal circulations in the segments because the interface should be - as described in my literature - "a sharp boundary with no flow through it."

But my flow looks like the pictures attached.

I have chosen a realistic surface tension of 7.46 mN/m.
The wall is no-slip.
Solver: interFoam.

I do not know what's wrong. The convection looks like it goes through the interface.

jaswi June 4, 2009 12:09

Dear Adam

I have read your message as well. Here is all I can say...

Yes, I have worked with the interFoam but i do not understand what exactly you are trying to setup. As far as my understanding goes the interface between two fluids (in case of interfoam) is not something you can apply boundary conditions to. One can apply BC to an interface when it is explicitly defined and tracked. Also please excuse me of my stupid question but I do not see what do you mean by wall boundary condition on the interface.

When you define a two phases in interfoam , it is represented by the scalar field gamma. And if you want to apply some boundary condition on the interface then you have to explicitly look for the cells where your interface lies and then modify accordingly. That will require some implementation effort.

Once again please specify what is your physical setup ?
What do you mean by saying that there should be no convection between the fluids ?
Do you mean the convection of concentration of a species ?

Frankly speaking my friend, I am a bit confused by your problem setup and cannot say much in this case.

Best Regards

Hectux June 5, 2009 03:41

Need the relative velocity
I think I know where the problem is.

The simulation is correct. There is no flux through the interface. The problem is:

The vectors show me the absolute velocity. As the slugs (segments) move in x-direction (from left to right) all vector arrows are rightist.
What I need to see is the relative velocity field.

But how the get the relative velocity of one phase (gamma=1) to e.g. the other face (gamma=0)?
Then I should see the velocity field in the phase gamma=1 without the overlaid translational movement to the right.

jaswi June 5, 2009 06:50

Dear Adam


The interFoam uses VOF method i.e. the velocity has a single field representation. If you would like to have relative velocity at the interface then multiplying the velocity of cells at the interface with the volume fraction will give you the velocity of the heavier phase. For the start just mutliplying the complete velocity field volVectorField U with the complete volScalarField gamma and that will give you the velocity field for the heavier phase. May be this is what you need.

Hope that was what you were looking for

Hectux June 5, 2009 09:26

Works good but.....
Ok. Thats a start.

I am really thankful.

As I am a newbie in OpenFOAM I copied the some stuff from the vorticity utility and added the rest as I thought it was right.

My code snipplet of the important calculation is now - as you sad - like this:

volVectorField relU
U * gamma


This works. I now have only the vectors of my phase gamma=1 and the other vectors have the length 0 cos I multiplied it with gamma=0,

BUT! I still have one question.

U is a vector field and accourdingly U * gamma. I would now subtract from every vector in the new field relU (=U * gamma) a constant vector (e.g. (-1 0 0)).

How can I do this?

I cannot write something like this:
U * gamma - (1 0 0)
cos on the left side I got a field and on the right one a vector.

Hectux June 8, 2009 04:45

Got it.

I just created a Vector Field for the Mesh with setFields which expresses the translative movement of the segments.

Then I could substract the vector fields from each other and I only got the relative velocity field within the segments. Which is a recirculation :)

All times are GMT -4. The time now is 10:37.