CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM

Exception en virgule flottante

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

Reply
 
LinkBack Thread Tools Display Modes
Old   January 16, 2011, 08:13
Thumbs up [RESOLVED] Exception en virgule flottante
  #1
New Member
 
taalf's Avatar
 
William Tougeron
Join Date: Jan 2011
Location: Czech Republic
Posts: 26
Rep Power: 5
taalf is on a distinguished road
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;
and, in my controlDict file :

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
Even if I reduce the time between iterations :

Code:
deltaT          0.0000001;
it stops after few iterations with the same error.

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 07:17. Reason: Resolved !
taalf is offline   Reply With Quote

Old   January 17, 2011, 05:47
Default
  #2
Senior Member
 
Olivier
Join Date: Jun 2009
Location: France, grenoble
Posts: 207
Rep Power: 8
olivierG is on a distinguished road
hello,

Check your Co number:1e34 max !
My guess i a bad boundary condition: give boundary + fvSchemes for more info.
regards,
olivier
olivierG is offline   Reply With Quote

Old   January 17, 2011, 06:44
Default
  #3
New Member
 
taalf's Avatar
 
William Tougeron
Join Date: Jan 2011
Location: Czech Republic
Posts: 26
Rep Power: 5
taalf is on a distinguished road
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 (                                    
);                                    
                                    
// ************************************************************************* //
0/p:

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;
    }
}


// ************************************************************************* //
0/U:

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;
    }
}


// ************************************************************************* //
system/fvSchemes :

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;
}


// ************************************************************************* //
And, just in case :

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;
}


// ************************************************************************* //
system/controlDict:

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       
(
);


// ************************************************************************* //
system/fvSolution:

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;
}


// ************************************************************************* //
taalf is offline   Reply With Quote

Old   January 17, 2011, 07:08
Default
  #4
Senior Member
 
Christian Lucas
Join Date: Aug 2009
Location: Braunschweig, Germany
Posts: 197
Rep Power: 6
Chris Lucas is on a distinguished road
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
Chris Lucas is offline   Reply With Quote

Old   January 17, 2011, 07:25
Default
  #5
New Member
 
taalf's Avatar
 
William Tougeron
Join Date: Jan 2011
Location: Czech Republic
Posts: 26
Rep Power: 5
taalf is on a distinguished road
Hello,

Thank you very much, guys ! It works perfectly !

taalf is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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 Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
MPI Error - simpleFoam - Floating Point Exception scott OpenFOAM Running, Solving & CFD 3 April 13, 2012 16: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 06:51
turbFoam floating point exception and k-epsilon Hectux OpenFOAM Running, Solving & CFD 4 April 28, 2009 07:10
"exception : return code 139" june CD-adapco 0 January 8, 2008 20:20


All times are GMT -4. The time now is 04:51.