|
[Sponsors] |
January 16, 2011, 09:13 |
[RESOLVED] Exception en virgule flottante
|
#1 |
Member
William Tougeron
Join Date: Jan 2011
Location: Czech Republic
Posts: 70
Rep Power: 15 |
Hello everybody,
I'm proud to post my first comment in this forum . I don't speak English so good so I apologize for every English mistakes . And, to show how much I am motivated, I will put pictures in my post : I set a good example, isn't it ? Ok, I'm a false beginner in OpenFOAM that I study for my Final Project and it happens something that I don't understand and that I very would like to solve. My problem is that when I make a coarse blockMesh geometry for a own icoFoam case, it works, but when I use a finer mesh, it makes an "Exception en virgule flottante" during calculation after very few first iterations. Here is my coarse case (a 2D case with 2 "empty" boundary conditions and only one cell in the z direction) : with, in my transportProperties file : Code:
transportModel Newtonian; nu nu [0 2 -1 0 0 0 0] 1e-06; Code:
application icoFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 1; deltaT 0.001; writeControl timeStep; writeInterval 100; and the results : Pretty good, isn't it ? Then, I tried to use a finer mesh by only modifying the simpleGrading values in the blockMeshDict: but this happens when I launch icoFoam after deleting the old time directories (0 0.1 0.2 etc.) : Code:
Time = 0.011 Courant Number mean: 1.01727e+34 max: 7.44368e+37 DILUPBiCG: Solving for Ux, Initial residual = 5.77125e-09, Final residual = 5.77125e-09, No Iterations 0 DILUPBiCG: Solving for Uy, Initial residual = 2.41172e-09, Final residual = 2.41172e-09, No Iterations 0 #0 Foam::error:: printStack(Foam::Ostream&) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so" #1 Foam::sigFpe::sigFpeHandler(int) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so" #2 Uninterpreted: #3 Foam:: DICPreconditioner::calcReciprocalD(Foam::Field<double>&, Foam::lduMatrix const&) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so" #4 Foam:: DICPreconditioner:: DICPreconditioner(Foam::lduMatrix::solver const&, Foam::dictionary const&) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so" #5 Foam::lduMatrix:: preconditioner::addsymMatrixConstructorToTable<Foam:: DICPreconditioner>::New(Foam::lduMatrix::solver const&, Foam::dictionary const&) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so" #6 Foam::lduMatrix:: preconditioner::New(Foam::lduMatrix::solver const&, Foam::dictionary const&) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so" #7 Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so" #8 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/openfoam171/lib/linuxGccDPOpt/libfiniteVolume.so" #9 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/icoFoam" #10 __libc_start_main in "/lib/libc.so.6" #11 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/icoFoam" Exception en point flottant Code:
deltaT 0.0000001; My extraordinary happiness when I computed my first case totally collapsed when I realized I wasn't able to redo it with fine mesh ! Does somebody have an idea ? Last edited by taalf; January 17, 2011 at 08:17. Reason: Resolved ! |
|
January 17, 2011, 06:47 |
|
#2 |
Senior Member
Olivier
Join Date: Jun 2009
Location: France, grenoble
Posts: 272
Rep Power: 18 |
hello,
Check your Co number:1e34 max ! My guess i a bad boundary condition: give boundary + fvSchemes for more info. regards, olivier |
|
January 17, 2011, 07:44 |
|
#3 |
Member
William Tougeron
Join Date: Jan 2011
Location: Czech Republic
Posts: 70
Rep Power: 15 |
Hello,
Yes, the curent number is awesome ! But I think it is due to a solver problem because my theoretical curent number should be very low, as the max velocity is around 0.025 m/s and the size of my cells is about 0.025 m, so : C0 = dt * |U| / dx => C0 = 0.001 * 0.025 / 0.025 = 0.001 = C0 Here are my files : constant/polyMesh/blockMeshDict : Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.7.1 | | \\ / A nd | Web: http://www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1 ; vertices ( ( 0 0 0 ) // 0 ( 2 0 0 ) // 1 ( 3 0 0 ) // 2 ( 3 0.5 0 ) // 3 ( 2 0.5 0 ) // 4 ( 0 0.5 0 ) // 5 ( 0 1 0 ) // 6 ( 2 1 0 ) // 7 ( 0 0 0.1 ) // 8 ( 2 0 0.1 ) // 9 ( 3 0 0.1 ) // 10 ( 3 0.5 0.1 ) // 11 ( 2 0.5 0.1 ) // 12 ( 0 0.5 0.1 ) // 13 ( 0 1 0.1 ) // 14 ( 2 1 0.1 ) // 15 ); blocks ( hex ( 0 1 4 5 8 9 12 13 ) ( 80 20 1 ) simpleGrading ( 1 1 1 ) hex ( 5 4 7 6 13 12 15 14 ) ( 80 20 1 ) simpleGrading ( 1 1 1 ) hex ( 1 2 3 4 9 10 11 12 ) ( 40 20 1 ) simpleGrading ( 1 1 1 ) ); Edges ( ); patches ( empty frontAndBack ( ( 0 1 4 5 ) ( 5 4 7 6 ) ( 1 2 3 4 ) ( 8 9 12 13 ) ( 13 12 15 14 ) ( 9 10 11 12 ) ) wall walls ( ( 0 8 9 1 ) ( 1 9 10 2 ) ( 6 7 15 14 ) ( 4 3 11 12 ) ( 12 15 7 4 ) ) patch inlet ( ( 0 5 13 8 ) ( 5 6 14 13 ) ) patch outlet ( ( 10 11 3 2 ) ) ); mergePatchPairs ( ); // ************************************************************************* // Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.4 | | \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ // Field Dictionary FoamFile { version 2.0; format ascii; root "/home/william"; case "default"; instance "0"; local ""; class volScalarField; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { walls { type zeroGradient; } frontAndBack { type empty; } inlet { type zeroGradient; } outlet { type fixedValue; value uniform 0; } } // ************************************************************************* // Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.4 | | \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ // Field Dictionary FoamFile { version 2.0; format ascii; root "/home/william"; case "default"; instance "0"; local ""; class volVectorField; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0.01 0 0); boundaryField { walls { type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } inlet { type fixedValue; value uniform (0.01 0 0); } outlet { type zeroGradient; } } // ************************************************************************* // Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.4 | | \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ // FoamX Case Dictionary. FoamFile { version 2.0; format ascii; root "/home/william"; case "default"; instance "system"; local ""; class dictionary; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default steadyState; } gradSchemes { default Gauss linear; grad(p) Gauss linear; grad(U) Gauss linear; } divSchemes { default Gauss upwind; div(phi,U) Gauss upwind; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; div(phi,R) Gauss upwind; div(R) Gauss linear; div(phi,nuTilda) Gauss upwind; div((nuEff*dev(grad(U).T()))) Gauss linear; } laplacianSchemes { default none; laplacian(nu,U) Gauss linear corrected; laplacian(nuEff,U) Gauss linear corrected; laplacian((1|A(U)),p) Gauss linear corrected; laplacian(DkEff,k) Gauss linear corrected; laplacian(DepsilonEff,epsilon) Gauss linear corrected; laplacian(DREff,R) Gauss linear corrected; laplacian(DnuTildaEff,nuTilda) Gauss linear corrected; } interpolationSchemes { default linear; interpolate(U) linear; } snGradSchemes { default corrected; } fluxRequired { default no; p; } // ************************************************************************* // constant/TransportProperties: Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.4 | | \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ // FoamX Case Dictionary. FoamFile { version 2.0; format ascii; root "/home/william"; case "default"; instance "constant"; local ""; class dictionary; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; nu nu [0 2 -1 0 0 0 0] 1e-06; CrossPowerLawCoeffs { nu0 nu0 [0 2 -1 0 0 0 0] 1.48e-05; nuInf nuInf [0 2 -1 0 0 0 0] 1.48e-05; m m [0 0 1 0 0 0 0] 1.225; n n [0 0 0 0 0 0 0] 1; } BirdCarreauCoeffs { nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; k k [0 0 1 0 0 0 0] 0; n n [0 0 0 0 0 0 0] 1; } // ************************************************************************* // Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.4 | | \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ // FoamX Case Dictionary. FoamFile { version 2.0; format ascii; root "/home/william"; case "default"; instance "system"; local ""; class dictionary; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application icoFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 1; deltaT 0.001; writeControl timeStep; writeInterval 100; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression uncompressed; timeFormat general; timePrecision 6; graphFormat raw; runTimeModifiable yes; functions ( ); // ************************************************************************* // Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.4 | | \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ // FoamX Case Dictionary. FoamFile { version 2.0; format ascii; root "/home/william"; case "default"; instance "system"; local ""; class dictionary; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { p { solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0; } U { solver PBiCG; preconditioner DILU; tolerance 1e-05; relTol 0; } k PBiCG { tolerance 1e-05; relTol 0; preconditioner DILU; }; epsilon PBiCG { tolerance 1e-05; relTol 0; preconditioner DILU; }; R PBiCG { tolerance 1e-05; relTol 0; preconditioner DILU; }; nuTilda PBiCG { tolerance 1e-05; relTol 0; preconditioner DILU; }; } PISO { nCorrectors 2; nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } SIMPLE { nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } relaxationFactors { p 0.2; U 0.2; k 0.7; epsilon 0.7; R 0.7; nuTilda 0.7; } // ************************************************************************* // |
|
January 17, 2011, 08:08 |
|
#4 |
Senior Member
Christian Lucas
Join Date: Aug 2009
Location: Braunschweig, Germany
Posts: 202
Rep Power: 18 |
Hi,
you use a transient solver with a steady state ddt scheme. Either use a different ddt scheme (e.g. Euler) or a steadyState solver (e.g. simpleFoam) Regards, Christian |
|
January 17, 2011, 08:25 |
|
#5 |
Member
William Tougeron
Join Date: Jan 2011
Location: Czech Republic
Posts: 70
Rep Power: 15 |
Hello,
Thank you very much, guys ! It works perfectly ! |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
MPI Error - simpleFoam - Floating Point Exception | scott | OpenFOAM Running, Solving & CFD | 3 | April 13, 2012 17:34 |
reactingFoam floating point exception | pajofego | OpenFOAM | 0 | November 6, 2010 18:29 |
Cannot Open .sim (Floating Point Exception) | trex930 | STAR-CCM+ | 1 | July 30, 2010 07:51 |
turbFoam floating point exception and k-epsilon | Hectux | OpenFOAM Running, Solving & CFD | 4 | April 28, 2009 08:10 |
"exception : return code 139" | june | Siemens | 0 | January 8, 2008 21:20 |