CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   Finite Area Classes and Surface related Utilities (

philippose September 16, 2007 11:46

Hello Hrv, A Good day to yo
Hello Hrv,

A Good day to you :-)!

I have always wondered.... what exactly are the intended applications for the Finite Area mesh classes and the set of utilities present under the "surface" folder within the OpenFOAM applications?

The surface utilities look interesting because as far as I can see, they let you read in STL files, and manipulate surface meshes, etc...etc... almost like the first steps into an automatic mesh generation system (about which I have read a lot in the OpenFOAM presentations, but havent found any sample code).

I was looking into the possibility of combining some of the capabilities of Netgen (using libraries and interface code from the Netgen source) along with OpenFOAM for the purpose of optimising tet meshes during simulation..... but was wondering if there was already published or available work within OpenFOAM along these lines.

Ideally, it would be better to have something done purely within the OpenFOAM code-space rather than try and mix Netgen into OpenFOAM... but the advantage here is, that a lot of the optimisation techniques (and the surrounding framework they need) are already implemented within Netgen...making it (I think)... a faster option.

Have a nice evening!


bastil September 18, 2007 04:36

I am also interested in that.O
I am also interested in that.OpenFOAM not only offers surface utilities but also some volume utilities which could be uses as a basis for automatic volume meshing.
Like Philippose I have not yet seen much of the automatic mesher which I am willing to contribute to.


hjasak September 18, 2007 17:34

Hello to both of you. The f
Hello to both of you.

The finite area classes are developed to model a 2-D variant of the continuum equations. This involves a curved (2-D) surface in 3-D and apart frm the "standard" 2-D FVM also includes surface curvature terms.

The code was developed by dr. Zeljko Tukovic at the University of Zagreb, Croatia during a PhD under my supervision, completed in 2005. Parts of the PhD Thesis have been translated to English, but the complete works is unfortunately still not ready. I think we've got a chance to collectively squeeze Zeljko to get the rest of it as well

To applications. The first application involved transport of surfactants on the surface of a water-air bubble. Here, the concentration equation is operating on the actual surface itself and the surface is curved in space. The second application is the wall film modelling, again solving the 2-D form of the transport equations (film thickness, pressure, momentum) on the curved wall - think omega chamber of the Diesel engine or similar. Further uses are the surface-corrected gradient (using surface operations for the tangential component), various operators involving surface curvature and anything similar involving planar equations coupled to 3-D.

The faMesh (finite area mesh) is constructed in relation to the complete 3-D mesh to make the coupling easy and convenient. The discretisation is written in operator form, along the lines you are already used to.

Both are fully supported in the dev branch of OpenFOAM Extend project and Zeljko is still actively developing/supporting the code.



rbw September 19, 2007 17:26

Hi Hrv, Translating his the
Hi Hrv,

Translating his thesis must be the most boring thing *ever* for him, compared to pretty much everything else, so I think it's understandable that he's taking his time. I'd probably rather drill holes through my (thick) skull than translate long technical texts that I wrote myself.

Perhaps you can goad him into writing a (few) paper(s) on this subject. Publication would serve as a nicer incentive, wouldn't it?

And you could get back to writing the non-segregated solver, instead of explaining (yet again) what are these classes

Best regards to all,


grtabor September 20, 2007 06:54

I'm quite interested in this f
I'm quite interested in this faMesh idea. A few years ago I scoped out a surface flow solver for a project on Investment Casting. The project never got off the ground unfortunately, but it sounds like much the same thing. I'll have to remember this if they ever get back to me on the project.


philippose September 21, 2007 13:18

Hey Hrv, Thanks a lot for
Hey Hrv,

Thanks a lot for your explanation :-)! As is normal with your explanations, had to read it more than two times to digest it :-)! But I have understood the basic concept..

I hope I can get a little work done on the whole tet mesh optimisation thing this weekend! Its been lying idle in my head for too long :-)!

Have a nice weekend!


ngj June 10, 2009 08:05


I would like to follow up on the above discussion on the FAM.

I am using it to calculate sediment transport on a sandy bed, and especially I am incorporating morphological changes into the system due to the divergence of the sediment fluxes.

However, sand has a maximum slope on which it is stable, thus sandslides occur from time to time. The way this is treated is to calculate the sediment transport and evaluate the bed level change. If the slope anywhere exceeds the maximum angle, a sliding procedure is adopted. This procedure might take several iterations to converge.

The issue I am having is that it is cheap to calculate the bed level change, however the sliding procedure needs the latest bed level slope from the last sliding iteration, but this cannot be calculated from the faMesh, as it is tightly bound to the fvMesh, and moving the fvMesh each time between slides is definitely not a possibility.

My question is hence: Is it possible to calculate the movement and update the points at which the faMesh looks without updating the fvMesh?

Thanks for your time.

Best regards,


ngj February 6, 2010 13:00

Cyclic boundaries in FAM

I am currently having problems generating an faMesh if the fvMesh contains cyclic boundaries which are connected to the patch, which is to be the faMesh. I have discovered that there is no cyclic-patch present for finiteArea. The questions I am having are as follows:

1. Is it possible to generate a mesh as the one in interTrackFoam, where the fvMesh contains cyclic boundaries, whereas the faMesh contains patch boundaries?

2. I am thinking of making a cyclic boundary condition for faMesh, so
a) It should be derived from coupled as for fvMesh?
b) Is it a considerable task or would it be fairly straight forward?

Thank you very much for any hints or help.

Best regards,


hjasak February 11, 2010 19:47

Yes, just follow the same pattern as FVM and we will tidy up later. Finite Area works in parallel, so getting cyclic should be "easy". Please note the limitation of edge ordering if you do the same.



ngj February 12, 2010 06:29

Hi Hrv

Thanks, I will give it a try and see how easy it will become:)

Have a nice weekend,


safre December 9, 2011 12:42

Did you manage to make cyclic boundaries to work?
Hello Niels

Did you manage to get cyclic boundaries to work?

I have tried to use cyclic boundaries but ran into problems according to the thread I started

"Problems with cyclic boundaries in faMeshDefinition and surfactantFoam"

Do you have some recommendations?

Best regards, Sam

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