CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   tank filling (water/air), I think I messed up the BCs (http://www.cfd-online.com/Forums/openfoam-solving/106687-tank-filling-water-air-i-think-i-messed-up-bcs.html)

simpomann September 5, 2012 10:39

tank filling (water/air), interFoam floating point exceptions
 
2 Attachment(s)
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:
- I reworked my boundaries (start with the easiest ones!)
- 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

simpomann September 8, 2012 07:09

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


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