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/)
-   -   icoFoam - Floating point exception (core dumped) (http://www.cfd-online.com/Forums/openfoam-solving/119491-icofoam-floating-point-exception-core-dumped.html)

File June 18, 2013 12:00

icoFoam - Floating point exception (core dumped)
 
Hi to everyone,

I have a problem with running a icoFoam on my own mesh. It is a simple model with one inlet and one outlet. The intention is to make a pressure driven flow as I use a very small mesh 1.4x1.4x1.4 mm pressure difference is 5 Pa

Most of the files are copied from icoFoam tutorial case (cavity) of course I adopted them to my case.

Mesh is generated in Avizo and then imported to enGrid and from there to openFoam. I must point that the same mesh works in Fluent without any problem.

Case loads all the input files and starts the caluculation but after the first step it brakes. Here is the log.

PHP Code:

/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.2.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  2.2.0-5be49240882f
Exec   
icoFoam
Date   
Jun 18 2013
Time   
16:43:15
Host   
"zeus"
PID    7484
Case   : /home/filip/OpenFOAM/proba/moje_2
nProcs 
1
sigFpe 
Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking Monitoring run-time modified files using timeStampMaster
allowSystemOperations 
Disallowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh 
for time 0

Reading transportProperties

Reading field p

Reading field U

Reading
/calculating face flux field phi


Starting time loop

Time 
0.0005

Courant Number mean
0 max0
DILUPBiCG
:  Solving for UxInitial residual 1, Final residual 9.00268e-06No Iterations 606
DILUPBiCG
:  Solving for UyInitial residual 1, Final residual 9.63275e-06No Iterations 600
DILUPBiCG
:  Solving for UzInitial residual 1, Final residual 9.85118e-06No Iterations 609
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigFpe::sigHandler(int) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2   in "/lib/x86_64-linux-gnu/libc.so.6"
#3  Foam::DICPreconditioner::calcReciprocalD(Foam::Field<double>&, Foam::lduMatrix const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4  Foam::DICPreconditioner::DICPreconditioner(Foam::lduMatrix::solver const&, Foam::dictionary const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5  Foam::lduMatrix::preconditioner::addsymMatrixConstructorToTable<Foam::DICPreconditioner>::New(Foam::lduMatrix::solver const&, Foam::dictionary const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#6  Foam::lduMatrix::preconditioner::New(Foam::lduMatrix::solver const&, Foam::dictionary const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#7  Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#8  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#9  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/bin/icoFoam"
#10  
 
at icoFoam.C:0
#11  
 
in "/opt/openfoam220/platforms/linux64GccDPOpt/bin/icoFoam"
#12  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#13  
 
in "/opt/openfoam220/platforms/linux64GccDPOpt/bin/icoFoam"
Floating point exception (core dumped

Here are my input files if somebody wants to take a look
0:
https://dl.dropboxusercontent.com/u/122319307/0.tar.gz
constant:
https://dl.dropboxusercontent.com/u/...onstant.tar.gz
system:
https://dl.dropboxusercontent.com/u/.../system.tar.gz

Also I runned checkMesh and I had some warning which I don't know how to fix so here is the output:
PHP Code:

/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.2.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  2.2.0-5be49240882f
Exec   
checkMesh
Date   
Jun 18 2013
Time   
16:57:33
Host   
"zeus"
PID    7664
Case   : /home/filip/OpenFOAM/proba/moje_2
nProcs 
1
sigFpe 
Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking Monitoring run-time modified files using timeStampMaster
allowSystemOperations 
Disallowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh 
for time 0

Time 
0

Mesh stats
    points
:           95290
    faces
:            947476
    internal faces
:   875052
    cells
:            455632
    faces per cell
:   4
    boundary patches
3
    point zones
:      0
    face zones
:       0
    cell zones
:       0

Overall number of cells of each type
:
    
hexahedra:     0
    prisms
:        0
    wedges
:        0
    pyramids
:      0
    tet wedges
:    0
    tetrahedra
:    455632
    polyhedra
:     0

Checking topology
...
    
Boundary definition OK.
    
Cell to face addressing OK.
    
Point usage OK.
    
Upper triangular ordering OK.
    
Face vertices OK.
   *
Number of regions4
    The mesh has multiple regions which are not connected by any face
.
  <<
Writing region information to "0/cellToRegion"

Checking patch topology for multiply connected surfaces...
    
Patch               Faces    Points   Surface topology                  
    Inlet               1966     1143     ok 
(non-closed singly connected)  
    
Outlet              1962     1132     ok (non-closed singly connected)  
    
wall                68496    34516    multiply connected (shared edge)  
  <<
Writing 8 conflicting points to set nonManifoldPoints

Checking geometry
...
    
Overall domain bounding box (-5.2703e-07 -5.57384e-07 -5.82047e-07) (0.00141052 0.0014106 0.00141059)
    
Mesh (non-empty, non-wedgedirections (1 1 1)
    
Mesh (non-empty) directions (1 1 1)
    
Boundary openness (1.4271e-17 4.92582e-17 -2.06799e-17OK.
    
Max cell openness 2.7799e-16 OK.
    
Max aspect ratio 15.936 OK.
    
Minimum face area 1.72258e-11Maximum face area 1.07184e-09.  Face area magnitudes OK.
    
Min volume 5.78296e-17Max volume 1.01736e-14.  Total volume 6.68254e-10.  Cell volumes OK.
    
Mesh non-orthogonality Max78.3513 average21.5589
   
*Number of severely non-orthogonal faces6.
    Non
-orthogonality check OK.
  <<
Writing 6 non-orthogonal faces to set nonOrthoFaces
    Face pyramids OK
.
    
Max skewness 3.02936 OK.
    
Coupled point location match (average 0OK.

Mesh OK.

End 

tnx :)

startingWithCFD June 19, 2013 04:19

I have no idea why your case fails, don't have time or much experience to check; what I do know is that you should take into account that your Knudsen is of the order of unity and you may have significant deviation from reality. If this is your final project and not a toy problem, you could/should try dsmcFoam, if you have time and patience.

File June 20, 2013 05:03

Quote:

Originally Posted by startingWithCFD (Post 434763)
I have no idea why your case fails, don't have time or much experience to check; what I do know is that you should take into account that your Knudsen is of the order of unity and you may have significant deviation from reality. If this is your final project and not a toy problem, you could/should try dsmcFoam, if you have time and patience.

I deal with liquid (water) and therefore Knudsen number isn't relevant in this case, also this is just a toy case but thank you a lot far taking time to look at my case ;)

nlinder June 20, 2013 06:07

Hello Filip,

ich could reproduce your error. I don't know how you can get rid of the checkMesh Error - I never used the softwares you used.

But I think the error is similar to the one discussed here (although it is a diffenrent solver)
http://www.cfd-online.com/Forums/ope...mbit-mesh.html
Maybe you can try this analogously in icoFoam? Maybe it is also a problem in the pEqn? In your case it might derive from the error in the mesh..

regards
Nicklas

File June 24, 2013 10:46

Thank you Nicklas,

I made some tests and it definitely seems like the problem is with mesh, also in my solver there isn't the part which you commented out of the solver that you used. Nevertheless thank you very much for taking time and looking at my case

Regards
Filip

File July 5, 2013 06:45

So I finally solved this problem, there were several things to solve.

First the mesh was bad so when you run check mesh this shouldn't appear

*Number of regions: 4
The mesh has multiple regions which are not connected by any face
.
<<
Writing region information to "0/cellToRegion"


and regarding the problem with high Courant number that occurred after solving mesh problems I referd to this thread and solved everything

http://www.cfd-online.com/Forums/ope...-explodes.html

Filip

Mirage12 July 17, 2013 06:33

1 Attachment(s)
Hello :)


I have the same problem :( but your last suggestion is not working in my case.

I am still in the learning phase and want to learn a lot about OpenFOAM.

I try to simulate a laminar flow around around a semi-cylinder.
The mesh was built using Fluent and the solver is icoFoam and i added the temperature in the solver.

here is the link, that i followed :
http://openfoamwiki.net/index.php/Ho...ure_to_icoFoam

the time step is 0.0003 s (i would like to use 0.003 s)
the U-inlet is 0.36 m/s.

My Problem is, that icofoam is not stable and crash after 0.0054 s.

Output:
Code:

Time = 0.0051

Courant Number mean: 1.136713534e+69 max: 1.19078826e+73
DILUPBiCG:  Solving for Ux, Initial residual = 0.9999667566, Final residual = 0.755877927, No Iterations 1001
DILUPBiCG:  Solving for Uy, Initial residual = 0.9999479784, Final residual = 0.9360618957, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 1, Final residual = 4533181.225, No Iterations 1001
time step continuity errors : sum local = 1.749270357e+97, global = -1.187219428e+95, cumulative = -1.187219428e+95
DICPCG:  Solving for p, Initial residual = 3.335096097e-27, Final residual = 3.335096097e-27, No Iterations 0
time step continuity errors : sum local = 6.990833057e+97, global = -2.513212123e+97, cumulative = -2.525084317e+97
DILUPBiCG:  Solving for T, Initial residual = 1.612052638e-18, Final residual = 1.612052638e-18, No Iterations 0
ExecutionTime = 391.56 s  ClockTime = 398 s

Time = 0.0054

Courant Number mean: 7.770867293e+97 max: 7.744252838e+101
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigFpe::sigHandler(int) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  in "/lib/x86_64-linux-gnu/libc.so.6"
#3  double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4  Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5 
 in "/home/abm5kor/OpenFOAM/abm5kor-2.2.0/platforms/linux64GccDPOpt/bin/my_icoFoam"
#6 
 in "/home/abm5kor/OpenFOAM/abm5kor-2.2.0/platforms/linux64GccDPOpt/bin/my_icoFoam"
#7 
 in "/home/abm5kor/OpenFOAM/abm5kor-2.2.0/platforms/linux64GccDPOpt/bin/my_icoFoam"
#8 
 in "/home/abm5kor/OpenFOAM/abm5kor-2.2.0/platforms/linux64GccDPOpt/bin/my_icoFoam"
#9  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#10 
 in "/home/abm5kor/OpenFOAM/abm5kor-2.2.0/platforms/linux64GccDPOpt/bin/my_icoFoam"
Floating point exception (core dumped)

I tried to follow the same logic as in the previous case, but i could not start the solver.

Output:

Code:

Time = 0.36

Courant Number mean: 1.482960672e+29 max: 2.33573784e+37
--> FOAM Warning :
    From function linearUpwindV(const fvMesh&, const surfaceScalarField& faceFlux, Istream&)
    in file interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwindV.H at line 153
    Reading "/home/abm5kor/Desktop/validation/my/phi90/Re120/system/fvSchemes.divSchemes.div(phi,U)" at line 32
    unexpected additional entries in stream.
    Only the name of the gradient scheme in the 'gradSchemes' dictionary should be specified.
smoothSolver:  Solving for Ux, Initial residual = 0.6462707961, Final residual = 118182562.6, No Iterations 1000
smoothSolver:  Solving for Uy, Initial residual = 0.7644650429, Final residual = 322775611.9, No Iterations 1000
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigFpe::sigHandler(int) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  in "/lib/x86_64-linux-gnu/libc.so.6"
#3  Foam::GAMGSolver::scale(Foam::Field<double>&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4  Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMatrix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5  Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#6  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#7  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/home/abm5kor/OpenFOAM/abm5kor-2.2.0/platforms/linux64GccDPOpt/bin/my_icoFoam"
#8 
 at my_icoFoam.C:0
#9 
 in "/home/abm5kor/OpenFOAM/abm5kor-2.2.0/platforms/linux64GccDPOpt/bin/my_icoFoam"
#10  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#11 
 in "/home/abm5kor/OpenFOAM/abm5kor-2.2.0/platforms/linux64GccDPOpt/bin/my_icoFoam"
Floating point exception (core dumped)

In the attachment please find my system file , without the edit

I could not upload all the files , the size of constant folds exceed the limitation.

thx for support :)

immortality July 17, 2013 09:12

Hi
send me your case to have a look into it:
force.of.love@gmail.com
which university you study in?

zaynah04 July 17, 2013 09:37

your courant number is too high..

zaynah04 July 17, 2013 09:41

as you are relatively new to Open foam. @Amin, i suggest you start learning it by doing the tutorials. example start with cavity and then proceed with elbow.
Then after doing those tutorials you can proceed with others example the ones with pisoFoam and simpleFoam...

gradually you will get the hang of it.

Then in case when you do your semi cylinder and stil have problem then i will sent you mine. I have already done one same in the past..
Good luck
zaynah

File July 17, 2013 09:49

Hi Amin, there are multiple reasons for such a high Courant number, and it causes OpenFoam to brake. Please provide whole case and then somebody could help you

Good luck

Filip

Mirage12 July 17, 2013 09:57

Hello :)

Thx Thx Thx Thx Thx for your answer :)

your courant number is too high... i know :(

I am new in the world of OpenFoam, but did already the basic tutorials like ( cavity and airFoil2D...) and learned how to use blockMesh and built my own mesh and geometry :D

I built the mesh of this case using fluent, but i do not know, how to stabilize the solver :confused:

zaynah04 July 17, 2013 09:57

did you convert your fluent mesh to foam corectly? did you do a checkMesh? Did you check whether your velocoty lies in the laminar regime?

Mirage12 July 17, 2013 10:05

yes :)

here is the output :

Code:

Create time

Create polyMesh for time = 0

Time = 0

Mesh stats
    points:          227264
    internal points:  0
    faces:            451978
    internal faces:  224714
    cells:            112782
    faces per cell:  6
    boundary patches: 5
    point zones:      0
    face zones:      0
    cell zones:      0

Overall number of cells of each type:
    hexahedra:    112782
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:    0

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
    Patch              Faces    Points  Surface topology                 
    WALL1              990      1984    ok (non-closed singly connected) 
    INLET              199      400      ok (non-closed singly connected) 
    OUTLET              199      400      ok (non-closed singly connected) 
    WALL2              312      624      ok (non-closed singly connected) 
    frontAndBackPlanes  225564  227264  ok (non-closed singly connected) 

Checking geometry...
    Overall domain bounding box (-8 -8 -0.384838) (27 8 0.384838)
    Mesh (non-empty, non-wedge) directions (1 1 0)
    Mesh (non-empty) directions (1 1 0)
    All edges aligned with or perpendicular to non-empty directions.
    Boundary openness (5.8768e-18 5.49756e-18 2.84944e-19) OK.
    Max cell openness = 1.15957e-14 OK.
    Max aspect ratio = 830.394 OK.
    Minimum face area = 3.89985e-07. Maximum face area = 0.100453.  Face area magnitudes OK.
    Min volume = 3.00162e-07. Max volume = 0.0116522.  Total volume = 429.81.  Cell volumes OK.
    Mesh non-orthogonality Max: 56.0067 average: 11.5224
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 2.36576 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End


Mirage12 July 17, 2013 10:15

Here is my case :

http://www.workupload.com/file/MamMd4k

thx a lot for ur support :)

File July 17, 2013 10:43

Just decrees your time step. I put 0.00003 in your case and it seems to work like a charm ;)


I've read that you want to have time step 0.003 but this is simply impossible or I do not know how to do it

P.S not to forget I solved it without temperature, at the moment I don't have time and volition to do that

nimasam July 17, 2013 15:35

Quote:

Originally Posted by Mirage12 (Post 440311)
Here is my case :

http://www.workupload.com/file/MamMd4k

thx a lot for ur support :)

There are several Options:

1- you can use pisoFoam or simpleFoam for laminar flow too
2- use adjustTimeStep and limit courant number less than one, if you are using timeStep, then you need to choose your time step carefully

3- if you have problem, in temperature stability, please run your case with out solving for energy :), let flow get steady state, then apply your energy equation


P.S.
i did not look your case, and these are general suggestion ;)

nimasam July 17, 2013 17:21

i check your case, i almost sure problem returns your mesh ;), first try a coarse mesh to see weather you reach an stable result or not

Mirage12 July 18, 2013 05:51

the mesh around the geometry is very fine to capture the the boundary layer.
I tried to run the simulation with coarse mes, ant it is working fine.
However i need to use the mesh, which i uploaded (fine mesh).....
So i shouldnot change the mesh.
I tired to use dt=0.00001s the simulation is working, but it will take a lot of time to reach the 100 s. I think using the timestep is not the ideal idea for this case.

....:confused:

nimasam July 18, 2013 05:59

if you want a final steady-state solution, why dont u use simpleFoam?


All times are GMT -4. The time now is 00:25.