CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   InterTrackFoam error (

kester April 25, 2007 07:07

I'm trying to get interTrackFo
I'm trying to get interTrackFoam to work. I am working on the hydrofoil example. When I try to open it in FoamX I get the following error:

Caught FoamXError exception in FoamXCaseServer::main(int argc, char **argv) :
FoamXError "getApplication::Invalid application class name 'interTrackFoam'."
In function "IPropertiesImpl"
in file "IPropertiesImpl.C" at line 910
Finishing FoamXCaseServer::main(int argc, char **argv)

so I tried running it in manually using:

makeFaMesh . hydrofoil


interTrackFoam . hydrofoil

and got the following error:

Starting time loop

Time = 0.005
Courant Number mean: 0.0890352 max: 0.437469

--> FOAM FATAL ERROR : not implemented for face decomposition

From function
void freeSurface::moveMeshPointsForOldFreeSurfDisplacem ent()
in file freeSurface.C at line 548.

FOAM aborting

Aborted (core dumped)

Anyone have any suggestions on how to fix it??


hjasak April 25, 2007 16:13

I have fixed this one - a bit
I have fixed this one - a bit of a legacy mess from when we didn't have all the point-to-point interpolation tools sorted out for the FEM mesh motion solver.

You have several options
- move to cell decomposition mesh motion (this involves recompiling OpenFOAM, but all will work)
- wait for me to finish off OpenFOAM-1.4 with all the new features
- just take the files as they are and live dangerously (works for me)

Zeljko, there is a bit of a mess in the freeSurface library that should be sorted out: const and non-const access and lazy evaluation are not all in place as they should be. Please remind me when the time is rught and we'll go through the details.


kester April 26, 2007 06:06

Thanks, having spent some time
Thanks, having spent some time looking through the code, I came to the first conclusion. To do this presumably I need to "#define CELL_DECOMP" somewhere before I recompile (the apropriate code seems to be removed in several C and H files by #ifdef statements). Where should I put this line?


schmidt_d June 20, 2007 13:11

It looks like the place to #de
It looks like the place to #define CELL_DECOMP is in the file .bashrc in the OpenFOAM1-3 directory (presuming you are using the bash shell). Switch which pair of decomposition flags are commented out, as shown below.

export WM_DECOMP_LIBS=-lcellDecompFiniteElement
# export WM_DECOMP_LIBS=-lfaceDecompFiniteElement

Then you will have to recompile the applications, of course.


rpasiok November 3, 2007 14:03

Hello FOAMers, trying inter
Hello FOAMers,

trying interTrackFoam on hydrofoil tutorial case I get segmentation fault after starting time loop:


Exec : interTrackFoam . hydrofoil
Date : Nov 03 2007
Time : 12:26:13
Host : turbina
PID : 6822
Root : /home/pasiok/OpenFOAM/pasiok-1.4.1-dev/run/tutorials/interTrackFoam
Case : hydrofoil
Nprocs : 1
Create time

Create mesh, no clear-out for time = 0

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting motion solver: laplaceTetDecomposition
Selecting motion diffusivity: quadratic
Found free surface patch. ID: 2

Starting time loop

Time = 0.005
Courant Number mean: 0.0890352 max: 0.437469
Segmentation fault


Initially I used binaries of development version from dated on 31-10-2007.
Then moved from faceDecompFiniteElement to cellDecompFiniteElement and recompiled OF but it didn't help.
icoDyMFoam and surfactantFoam solvers run perfectly.

There was little change to do in dynamicMeshDict of the hydrofoil case: 'diffusion' -> 'diffusivity'.
Is there something else to change in the case that I missed ?
Is someone experiencing similar problem?

Does FSB OpenFOAM 1.4.1-dev differ from SVN sources at ?

Thank you for any suggestions!

Radoslaw Pasiok

hjasak November 4, 2007 13:32

Sorry about that - completely
Sorry about that - completely my fault. I have checked in the change in the file:

OpenFOAM-1.4.1-dev/applications/solvers/surfaceTracking/freeSurface/freeSurface. C

For reference, the nf() for a patch now returns a tmp and not a reference and the file above was not updated for this change.

The source/binary packs at FSB Zagreb web site is simply a snapshot of the SVN code when I am particularly pleased with it :-) or when someone special needs a pre-compiled copy. For all practical purposes, they will be identical.


rpasiok November 6, 2007 06:00

Dr Hrvoje Jasak, thank you
Dr Hrvoje Jasak,

thank you for information. Updating sources and recompiling helped the solver to start hydrofoil case, however, I get floating point exception after a short time (please, see attached log file) InterTrackFoam.log

Do you have any suggestions? Thank you in advance!

Radoslaw Pasiok

hjasak November 6, 2007 14:11

I know you're not going to lik
I know you're not going to like me for this, but anyway... The issue is that in order to save on multiple mesh motion in a single time-step, we first move boundary only. The error you are seeing is because the boundary deforms a lot in the first time step if you force the issue as the initial condition is rubbish. You can therefore:

- run potentialFoam first and then start the free surface tracking simulation with mesh motion OR

- relax the convergence of mesh motion first time around. Edit |fixed{system/fvSolution} and under SIMPLE, do:

nTimeCorrectors 5;

Both works over here. I have used and checked in Solution B in the tutorial in SVN.

Thank you for debugging this for me (not really your job, I know...) and apologies for inconvenience. The code should be able to do its own tutorials at all times....


rpasiok November 7, 2007 14:58

Dr Jasak, it's getting bett
Dr Jasak,

it's getting better and better :-)
The solver runs fine with nTimeCorrectors = 5 until time step 0.45 and then floating exception occurs again.
Further reducing nTimeCorrectors to 0 lets the solver to work a bit longer. Below you can see the mesh before the exception.

How can we keep the solver running and get reliable results when free surface deforms rapidly? Thank you for your advice.

Radoslaw Pasiok

liu November 7, 2007 15:54

One thing you should make sure
One thing you should make sure is that the free surface wave is not breaking. Otherwise surface tracking is not valid.

One suggestion is to coarsen the mesh neear the surface.

hjasak November 8, 2007 03:55

I see it. It may simply be th
I see it. It may simply be the fact that we are now using face decomposition tet FEM solver, which didn't get enough testing. The cell decomposition solver works just fine, but switching between the two is not as easy as it should be (need to do something about it).

I have asked Zeljko (that is, dr. Tukovic, FSB Zagreb) to have a look and come back to me with some fixes - this stuff is originally his work anyway.

Watch this space, further updates to come.


All times are GMT -4. The time now is 17:41.