# tank filling (water/air), I think I messed up the BCs

 Register Blogs Members List Search Today's Posts Mark Forums Read

September 5, 2012, 10:39
tank filling (water/air), interFoam floating point exceptions
#1
Member

Simon Arne
Join Date: May 2012
Posts: 42
Rep Power: 6
Final Edit:
Hi there,

I had some problems with interFoam solving the filling of a tank with water. Time step is becoming super small and at some point I get a (reproduceable) floating point exception.

Like this one:

Code:
```--> FOAM Warning :
From function Time::operator++()
in file db/Time/Time.C at line 982
Increased the timePrecision from 215 to 216 to distinguish between timeNames at time 0.0150866
MULES: Solving for alpha1
Liquid phase volume fraction = -1.49946e-07  Min(alpha1) = -0.090619  Max(alpha1) = 1
--> FOAM Warning :
From function Time::operator++()
in file db/Time/Time.C at line 982
Increased the timePrecision from 216 to 217 to distinguish between timeNames at time 0.0150866
MULES: Solving for alpha1
Liquid phase volume fraction = -1.49946e-07  Min(alpha1) = -0.090618  Max(alpha1) = 1
--> FOAM Warning :
From function Time::operator++()
in file db/Time/Time.C at line 982
Increased the timePrecision from 217 to 218 to distinguish between timeNames at time 0.0150866
DICPCG:  Solving for p_rgh, Initial residual = 1, Final residual = 0.0453575, No Iterations 22
time step continuity errors : sum local = 7.82082e-07, global = 4.38484e-18, cumulative = -5.46418e-07
DICPCG:  Solving for p_rgh, Initial residual = 0.876617, Final residual = 0.0415977, No Iterations 80
time step continuity errors : sum local = 7.48236e-06, global = -6.87346e-10, cumulative = -5.47106e-07
DICPCG:  Solving for p_rgh, Initial residual = 0.998003, Final residual = 9.97068e-08, No Iterations 518
time step continuity errors : sum local = 3.56092e-10, global = -4.13824e-14, cumulative = -5.47106e-07
ExecutionTime = 539.87 s  ClockTime = 540 s

Courant Number mean: 0.0559093 max: 16782.9
Interface Courant Number mean: 5.98943e-06 max: 2.26688
deltaT = 5.58971e-108
--> FOAM Warning :
From function Time::operator++()
in file db/Time/Time.C at line 982
Increased the timePrecision from 218 to 219 to distinguish between timeNames at time 0.0150866
Time = 0.0150866238184654728737843498720394563861191272735595703125

--> FOAM Warning :
From function Time::operator++()
in file db/Time/Time.C at line 982
Increased the timePrecision from 219 to 220 to distinguish between timeNames at time 0.0150866
MULES: Solving for alpha1
Liquid phase volume fraction = -1.49946e-07  Min(alpha1) = -0.0906142  Max(alpha1) = 1
--> FOAM Warning :
From function Time::operator++()
in file db/Time/Time.C at line 982
Increased the timePrecision from 220 to 221 to distinguish between timeNames at time 0.0150866
MULES: Solving for alpha1
Liquid phase volume fraction = -1.49946e-07  Min(alpha1) = -0.0906105  Max(alpha1) = 1
--> FOAM Warning :
From function Time::operator++()
in file db/Time/Time.C at line 982
Increased the timePrecision from 221 to 222 to distinguish between timeNames at time 0.0150866
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigFpe::sigHandler(int) in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#2  Uninterpreted:
#3  Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#4  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libfiniteVolume.so"
#5
in "/opt/openfoam210/platforms/linuxGccDPOpt/bin/interFoam"
#6  __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#7
in "/opt/openfoam210/platforms/linuxGccDPOpt/bin/interFoam"
Floating point exception```
What I finally did to solve it:
- very helpful is the depthCharge tutorial! especially to check the fvScheme and fvSolve settings!
- I did a manual timeStep setting in the controlDict : this needed some trial and error to find the right setting (as it is also depending on the mesh size!)
- I switched off the momentum predictor, although I am not sure how much this influenced the issues

For everyone interested I attach my final case.
I plan to introduce some more complex boundaries (e.g. closing valves) in the near future.

The optained results are stable, although I have not physically validated them (I think I should have a look the velocity in the outlet). If you have suggestions to this, please feel free to share them.
If you want to use this case, feel free to do so.

Note: The attached thumbnail picture is from the very beginning. New mesh looks much much better, don't worry.

Best regards,

Simon
Attached Images
 screen.png (14.1 KB, 108 views)
Attached Files
 tank_filling.tar.gz (14.2 KB, 59 views)

Last edited by simpomann; September 8, 2012 at 07:11.

 September 8, 2012, 07:09 #2 Member   Simon Arne Join Date: May 2012 Posts: 42 Rep Power: 6 Hi, I just put a post to say it is solved (to push the thread up, so people who are actually interested get notified). Best regards, Simon

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Ternox OpenFOAM Pre-Processing 3 February 17, 2012 11:21 leff CFX 5 October 1, 2011 09:30 kwardle OpenFOAM Running, Solving & CFD 8 September 17, 2008 14:37 stu CFX 3 May 24, 2007 18:23 namrata FLUENT 6 May 2, 2007 10:23

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