- **OpenFOAM**
(*http://www.cfd-online.com/Forums/openfoam/*)

- - **Equilibrium thru Interface**
(*http://www.cfd-online.com/Forums/openfoam/109477-equilibrium-thru-interface.html*)

Equilibrium thru Interface1 Attachment(s)
Hi Foamers!
I'm having a little bit of trouble trying to remake the work done at the work of Waheed et al (2002) (http://www.sciencedirect.com/science...17931002001242), where some axissymetric wedge section of a drop inside a cilinder is taken, this drop containing solute, and the outer phase is solute-free. So, essencially I want to computate the solute transfer. The main problem is that i need to establish a equilibrium of the solute concentration inside and outside the drop, what I believe I could do by phisically stablishing a interface boundary in my domain and using groovyBC to ser the dragient expression. So, essencially, my domain would consist of 2 regions: the drop and the outer phase. By now, the mesh construction is OK, and I could stablish this phisical boundary and the paraFoam recognizes it. But running my case in my own implementation of interfoam (interfoam + solute transport), i noticed that the interface bondary (so called defaultFaces) is not needed. In fact, I can remove it from the boundary listed in the 0 directory with no problem! That's not right, my solver just ignores my equilibrium condition. What should I do? My master depends on this series of simulation :eek: I'm attaching my case files. Thanks in advance, I hope someone out there could help me. PS: In order to save space, after download and extraction please run blockMesh. |

I think you need two domains with non-identical vertices, which you then couple using some sort of a baffle boundary condition. Have a look at the tutorials for chtMultiRegionFoam, where this is done for the temperature equation.
- Anton |

Dear Cyp and Anton,
Thanks for the fast reply. I will check your suggetions, thanks in advance. And yes Cyp, i have a partitioning condition like the one you showed. But how could I implement this on the solver to consider this jump only thru the interface boundary? I will check the reference you suggested. |

I can explain it to you through a simple example. Consider only the diffusion between two phases (beta and gamma for instance) :
In the beta-phase you have and in the gamma-phase Both phases are connected through a flux continuity at the interface and the thermodynamic equilibrium condition reads: What you look for is an partial differential equation that govern where is the phase indicator provided from the VOF solution. With such a formulation, C is defined on the whole domain. In the same manner, you can defined a diffusion field as Now you express the derivative of C : multiplying this relation by D and applying the divergence operator, you get : Just keep in mind that according to the distribution theory you have : . Consequently, the previous equation reduces to: This additional term represents the interfacial jump condition. If there is a continuity, you can get rid of it. However, if you have a partitioning relation, you have to consider it. At the interface, we have . Consequently, more over, So So your diffusion equation becomes : With such a formulation, you will automaticly have a jump condition at the interface between beta and gamma. You can also optimised the solution with I let you adapt this exemple to the advection-diffusion equation. Best regards, Cyp |

Quote:
I don't actually know if you are still following this tread but I have a couple of questions. It came for me too the time to implement the phase jump condition so I came back to this useful thread. In my previous case (a non-volatile tracer) I just had the Laplacian of a bunch of constants and alpha1: no problem in the solution if you insert the explicit laplacian (alpha1 already calculated). But in this case it is different because we have C an alpha1 simultaneously in the laplacian. For what I can see in the other terms OpenFOAM always expects in the laplacian a dimensionedScalar and a volScalarField. So, I gathered all the constant terms in the fraction and calculated them before the C equation: Being this a function of alpha1 I had to define it in the Createfields.H as another volScalarField. Again, no problem. What I actually cannot understand is: how do I formulate this in C++?? should become Code:
`fvm::laplacian(DC, C)` Moreover my low C++ knowledge prevents me for finding an alternative formulation. Do you have any hint? Thanks! |

All times are GMT -4. The time now is 21:36. |