|
[Sponsors] |
![]() |
![]() |
#1 |
New Member
Chen Sihe
Join Date: Sep 2017
Posts: 26
Rep Power: 9 ![]() |
Hello My Friends
I am solving a wedge-shaped case. It generates quite small cells-but in order to get the inner boundaries match I have to do so. I don't know whether this is the problem but what I am seeing is that the Courant Number blows up quickly and I am given the error "floating point exception (core dumped)". The program only runs for 3 timesteps, i.e. 0.06 case time before it is forced to stop. I am not quite sure what caused the problem. So I have put my boundary conditions as well as my meshing file here. Can anyone please help to point out where the problem is happening? Thanks a lot! blockMeshDict File: Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.4.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 0.001; vertices ( (149.857 -6.543 0) (149.857 -6.543 450) (74.929 -3.271 450) (74.929 -3.271 0) (149.857 6.543 0) (149.857 6.543 450) (74.929 3.271 450) (74.929 3.271 0) (9.990 -0.436 0) (9.990 -0.436 450) (0 0 450) (0 0 0) (9.990 0.436 0) (9.990 0.436 450) ); blocks ( hex (0 3 2 1 4 7 6 5) (50 3 200) simpleGrading (1 1 1) hex (3 8 9 2 7 12 13 6) (50 3 200) simpleGrading (1 1 1) hex (8 11 10 9 12 11 10 13) (50 3 200) simpleGrading (1 1 1) ); edges ( arc 3 7 (75 0 0) arc 2 6 (75 0 450) arc 8 12 (10 0 0) arc 9 13 (10 0 450) arc 0 4 (150 0 0) arc 1 5 (150 0 450) ); boundary ( inletAnnular { type patch; faces ( (7 4 0 3) ); } inletCentral { type patch; faces ( (8 11 11 12) ); } outlet { type patch; faces ( (1 5 6 2) (2 6 13 9) (9 13 10 10) ); } bottom1 { type empty; faces ( (0 1 2 3) ); } bottom2 { type empty; faces ( (3 2 9 8) ); } bottom3 { type empty; faces ( (8 9 10 11) ); } top1 { type empty; faces ( (4 5 6 7) ); } top2 { type empty; faces ( (7 6 13 12) ); } top3 { type empty; faces ( (12 13 10 11) ); } bluffBody { type wall; faces ( (7 3 8 12) ); } cylinderWall { type wall; faces ( (4 5 1 0) ); } centerLine { type empty; faces ( (10 11 11 10) ); } ); mergePatchPairs ( ); // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { inletAnnular { type zeroGradient; } inletCentral { type zeroGradient; } outlet { type fixedValue; value uniform 0; } bluffBody { type zeroGradient; } cylinderWall { type zeroGradient; } bottom1 { type empty; } bottom2 { type empty; } bottom3 { type empty; } top1 { type empty; } top2 { type empty; } top3 { type empty; } } // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volVectorField; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { bluffBody { type fixedValue; value uniform (0 0 0); } cylinderWall { type fixedValue; value uniform (0 0 0); } inletAnnular { type fixedValue; value uniform (0 0 6); } inletCentral { type fixedValue; value uniform (0 0 4); } outlet { type zeroGradient; } bottom1 { type empty; } bottom2 { type empty; } bottom3 { type empty; } top1 { type empty; } top2 { type empty; } top3 { type empty; } } // ************************************************************************* // ![]() ![]() |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Member
ano
Join Date: Jan 2017
Location: Delft
Posts: 58
Rep Power: 10 ![]() |
Hi cshsgy,
did you already try to make your time step size adjustable in your controlDict? Code:
adjustTimeStep true; maxCo 0.3; |
|
![]() |
![]() |
![]() |
![]() |
#3 | |
New Member
Chen Sihe
Join Date: Sep 2017
Posts: 26
Rep Power: 9 ![]() |
Quote:
Thanks for your suggestion. I have actually just adjusted the timesteps manually, and after it has executed 4 times regardless of the timestep I use, the error message is given in the attachment (sorry I think I could make it easier to read, but I dunt know how to insert the graph directly into the thread...) |
||
![]() |
![]() |
![]() |
![]() |
#4 |
Member
ano
Join Date: Jan 2017
Location: Delft
Posts: 58
Rep Power: 10 ![]() |
Hi Chen Sihe,1. The error just tells you that the simulation was in the process of solving an equation with a smoother method and somehow it got a floating point exception. This normally means, that something went wrong before that (like very high Courant number).
2. Sorry. I didn't read your message well enough for the first time. I noticed that you use a wedgebut in the boundary conditions I see "empty". If I remember correctly from the code, OpenFoam projects your vectors (such as velocity) in the plane and assumes that the "empty" sides are parallel. But for a wedge, where your sides are not parallel you should use the wedge boundary condition and an angle of 2.5 degree of your wedge. For a simple example you can have a look at the case in tutorials/multiphase/interFoam/les/nozzleFlow2D. Set your empty boundary conditions to wedge and change your constant/polyMesh/boundary accordingly. 3. If 2. is not working, consider using pimpleFoam which is very stable in the solving process. |
|
![]() |
![]() |
![]() |
![]() |
#5 | |
New Member
Chen Sihe
Join Date: Sep 2017
Posts: 26
Rep Power: 9 ![]() |
Quote:
Thanks for your suggestion! However, as long as I have changed my boundary conditions (I changed all those faces to "wedge", which is correct according to the examples either you suggested or for other wedge geometries), the error continues. Since the geometry may be not direct for you to check, I have simplified my geometry. It still stops after 4 iterations, and gives just the same error. I have attached the simplified version of files here, and sketched a graph as well. I think this could be a very very simple case for you then... So is it possible for you to help figure out where the problem is (with the boundary types here)? Thanks! blockMeshDict(I have checked with paraview that the geometry is right) Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.4.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 0.001; vertices ( (149.857 -6.543 0) (149.857 -6.543 450) (149.857 6.543 0) (149.857 6.543 450) (0 0 450) (0 0 0) ); blocks ( hex (0 5 4 1 2 5 4 3) (20 1 60) simpleGrading (1 1 1) ); boundary ( inlet { type patch; faces ( (2 0 5 5) ); } outlet { type patch; faces ( (3 4 4 1) ); } bottom { type wedge; faces ( (0 1 4 5) ); } top { type wedge; faces ( (2 5 4 3) ); } cylinderWall { type wall; faces ( (2 3 1 0) ); } axis { type empty; faces ( (4 5 5 4) ); } ); mergePatchPairs ( ); // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type zeroGradient; } outlet { type fixedValue; value uniform 0; } cylinderWall { type zeroGradient; } bottom { type wedge; } top { type wedge; } axis { type empty; } } // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volVectorField; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { cylinderWall { type fixedValue; value uniform (0 0 0); } inlet { type fixedValue; value uniform (0 0 6); } outlet { type zeroGradient; } bottom { type wedge; } top { type wedge; } axis { type empty; } } // ************************************************************************* // |
||
![]() |
![]() |
![]() |
![]() |
#6 |
New Member
JPeternel
Join Date: Oct 2014
Posts: 19
Rep Power: 11 ![]() |
Have you checked the mesh using checkMesh? It should give you mesh OK message at the end.
Also the way you defined inlet patch is somewhat strange: type patch; faces ( (2 0 5 5) ); Define vertices in direction which points the face normal out of the domain, something like (2 5 0 2). That 5 5 at the end in your defintiion may be causing truble. 0 / | 5 | \ | 2 |
|
![]() |
![]() |
![]() |
![]() |
#7 |
Member
ano
Join Date: Jan 2017
Location: Delft
Posts: 58
Rep Power: 10 ![]() |
Jaka's comment was helpful. checkMesh returned a bad aspect ratio above 3000 (if I remember correctly up to 1000 is ok) and that many edges were not aligned with or perpendicular to non-empty directions.
Your mistake is in your blockMeshDict at the definition of your cells. You have to swap the 1 and the 60 in (20 1 60) so that you get: Code:
blocks ( hex (0 5 4 1 2 5 4 3) (20 60 1) simpleGrading (1 1 1) ); A description of the local coordinate system can be found here |
|
![]() |
![]() |
![]() |
![]() |
#8 | |
New Member
Chen Sihe
Join Date: Sep 2017
Posts: 26
Rep Power: 9 ![]() |
Quote:
![]() |
||
![]() |
![]() |
![]() |
![]() |
#9 |
New Member
Vishal Garg
Join Date: Jun 2023
Posts: 13
Rep Power: 3 ![]() |
Facing floating point problem while increasing the length of system.
#0 Foam::error: ![]() #1 Foam::sigFpe::sigHandler(int) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so #2 ? in /lib/x86_64-linux-gnu/libc.so.6 #3 Foam::basicFvGeometryScheme::deltaCoeffs() const in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so #4 Foam::surfaceInterpolation::deltaCoeffs() const in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so #5 Foam::fvPatch::deltaCoeffs() const in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so #6 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so #7 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so #8 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so #9 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so #10 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so #11 Foam::rhoThermo::addfvMeshConstructorToTable<Foam: :heRhoThermo<Foam::rhoThermo, Foam: ![]() #12 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so #13 Foam::rhoThermo::New(Foam::fvMesh const&, Foam::word const&) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so #14 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam #15 ? in /lib/x86_64-linux-gnu/libc.so.6 #16 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 #17 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam Floating point exception (core dumped) as i am running for 100 m length of pipe, it is running well. but when i increase the length of the pipe more than 100m, it gets dumped. i have checked mesh by checkmesh command, it says mesh ok please reply on this post. |
|
![]() |
![]() |
![]() |
Tags |
error, openfoam |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
icoFoam floating point exception (8) | leizhao512 | OpenFOAM Running, Solving & CFD | 7 | November 1, 2018 11:43 |
A floating point exception has occurred: floating point exception [Overflow]. | starlight | STAR-CCM+ | 4 | May 4, 2016 09:08 |
A floating point exception - SEM Model | yansheng | STAR-CCM+ | 1 | April 4, 2016 04:57 |
Floating point exception from twoPhaseEulerFoam | openfoammaofnepo | OpenFOAM Running, Solving & CFD | 1 | March 19, 2016 13:56 |
Floating point exception (core dumped) for GAMG solver | yuhou1989 | OpenFOAM Running, Solving & CFD | 2 | March 24, 2015 19:28 |