CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

rhoSimpleFoam: solver error, iteration 2

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 31, 2014, 05:08
Question rhoSimpleFoam: solver error, iteration 2
  #1
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
Hello everyone ,

I am performing some simulations on a slender/wiry body and am experiencing some difficulties.

First of all, I encountered a mesh related issue (especially for growing layers with sHM). Anyway, to check that all the rest was correct, I disabled this feature and tried running the mesh without any near-wall refined layers. Everything went well for Mach=0.5, but then, for any superior Mach number (subsonic, transsonic and supersonic), the solver stops at iteration 2 . Obviously, the results I got for the Mach=0.5 simulation are pretty bad but the caculation is converging correctly. I am using a Spalart-Allmaras model, a mesh with around 1.5M cells and running in serial.

You can find the log.rhoSimpleFoam for the Mach=0.9 simulation here :

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
Exec   : rhoSimpleFoam
Date   : Jul 31 2014
Time   : 08:22:19
Host   : "*******"
PID    : 20615
Case   : /*******/OpenFoam/Aela_P7_openfoam_1/Mach090/P7_openfoam_1.openfoam.mach090.rep
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


SIMPLE: convergence criteria
    field p     tolerance 1e-05
    field U     tolerance 1e-05
    field nuTilda     tolerance 1e-05

Reading thermophysical properties

Selecting thermodynamics package 
{
    type            hePsiThermo;
    mixture         pureMixture;
    transport       sutherland;
    thermo          hConst;
    equationOfState perfectGas;
    specie          specie;
    energy          sensibleInternalEnergy;
}

Reading field U

Reading/calculating face flux field phi

Creating turbulence model

Selecting RAS turbulence model SpalartAllmaras
SpalartAllmarasCoeffs
{
    sigmaNut        0.66666;
    kappa           0.41;
    Prt             1;
    Cb1             0.1355;
    Cb2             0.622;
    Cw2             0.3;
    Cw3             2;
    Cv1             7.1;
    Cv2             5;
}

Creating finite volume options
No finite volume options present


Starting time loop

Time = 1

smoothSolver:  Solving for Ux, Initial residual = 0.984886, Final residual = 0.0234386, No Iterations 12
smoothSolver:  Solving for Uy, Initial residual = 1, Final residual = 0.034385, No Iterations 10
smoothSolver:  Solving for Uz, Initial residual = 0.997082, Final residual = 0.0751092, No Iterations 10
DILUPBiCG:  Solving for e, Initial residual = 0.999874, Final residual = 0.026569, No Iterations 2
GAMG:  Solving for p, Initial residual = 1, Final residual = 0.0323809, No Iterations 4
time step continuity errors : sum local = 1.4908e-06, global = -3.85339e-17, cumulative = -3.85339e-17
rho max/min : 1.19259 1.14259
smoothSolver:  Solving for nuTilda, Initial residual = 1, Final residual = 0.0585927, No Iterations 4
bounding nuTilda, min: -0.758819 max: 0.562869 average: 0.152688
ExecutionTime = 2.18 s  ClockTime = 2 s

forceCoeffs output:
    Cm    = 1.28734
    Cd    = 0.000355249
    Cl    = -0.0951446
    Cl(f) = 1.23976
    Cl(r) = -1.33491

Time = 2

smoothSolver:  Solving for Ux, Initial residual = 0.00428752, Final residual = 0.00012282, No Iterations 4
smoothSolver:  Solving for Uy, Initial residual = 0.485451, Final residual = 0.014349, No Iterations 4
smoothSolver:  Solving for Uz, Initial residual = 0.0139783, Final residual = 0.000406192, No Iterations 4
DILUPBiCG:  Solving for e, Initial residual = 0.158187, Final residual = 0.00438407, No Iterations 2
#0  Foam::error::printStack(Foam::Ostream&) in "/Produits/publics/x86_64.Linux.RH5/openfoam/2.2/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigFpe::sigHandler(int) in "/Produits/publics/x86_64.Linux.RH5/openfoam/2.2/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  
 at sigaction.c:0
#3  Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::sutherlandTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::calculate() in "/Produits/publics/x86_64.Linux.RH5/openfoam/2.2/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libfluidThermophysicalModels.so"
#4  Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::sutherlandTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::correct() in "/Produits/publics/x86_64.Linux.RH5/openfoam/2.2/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libfluidThermophysicalModels.so"
#5  
 in "/Produits/publics/x86_64.Linux.RH5/openfoam/2.2/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/rhoSimpleFoam"
#6  __libc_start_main in "/lib64/libc.so.6"
#7  Foam::regIOobject::writeObject(Foam::IOstream::streamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const in "/Produits/publics/x86_64.Linux.RH5/openfoam/2.2/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/rhoSimpleFoam"
I do not really understand the cause of this error as all my initial conditions are the same in the respective 0 folders (exept for the velocity values of course) for Mach numbers 0.5 and 0.9. Also, checkMesh returns "Mesh OK" without failing any test ("*<<4 severely non-orthogonal cells" are reported but it doesn't seem crucial according to checkMesh diagnosis).

By browsing some similar threads I understood that those two conditions were the most occuring causes but mine seem to be OK so I hoped that someone could enlighten my poor knowledge of OpenFoam as I started using it a couple of weeks ago ...

Thanks in advance,

Seb

PS: I'm currently working with the layer growth problem and if necessary I'll make another post in the related section of the forum.
seb_210 is offline   Reply With Quote

Old   August 4, 2014, 05:12
Default
  #2
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
Allright, I finally got a "decent" mesh with what I would call an acceptable near wall refinement. I managed to grow around 16 layers with a 1.2 expansion ratio and the last layer thickness around 4 cm (the whole body length is 50 m).

The checkMesh returns:

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
Exec   : checkMesh
Date   : Aug 06 2014
Time   : 13:41:41
Host   : "*******"
PID    : 8255
Case   : /********/
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:           776955
    faces:            2180392
    internal faces:   2143526
    cells:            702746
    faces per cell:   6.15289
    boundary patches: 42
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     619776
    prisms:        10052
    wedges:        0
    pyramids:      0
    tet wedges:    20
    tetrahedra:    0
    polyhedra:     72898
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            4   1144
            5   1332
            6   7104
            7   37932
            8   9544
            9   10914
           10   136
           11   28
           12   4080
           13   8
           14   8
           15   636
           18   32

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 geometry...
    Overall domain bounding box (-516.14 -516.14 -516.14) (516.14 516.14 516.14)
    Mesh (non-empty, non-wedge) directions (1 1 1)
    Mesh (non-empty) directions (1 1 1)
    Boundary openness (-4.78132e-17 -2.50303e-17 2.50362e-17) OK.
    Max cell openness = 5.26519e-15 OK.
    Max aspect ratio = 101.104 OK.
    Minimum face area = 7.06147e-07. Maximum face area = 42636.7.  Face area magnitudes OK.
    Min volume = 1.72293e-06. Max volume = 8.8037e+06.  Total volume = 1.1e+09.  Cell volumes OK.
    Mesh non-orthogonality Max: 75.7014 average: 10.1894
   *Number of severely non-orthogonal faces: 77.
    Non-orthogonality check OK.
  <<Writing 77 non-orthogonal faces to set nonOrthoFaces
    Face pyramids OK.
    Max skewness = 3.22215 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End
The problem is now that the solver crashes at any Mach number greater than 0.5 (included) whereas Mach 0.3 and Mach 0.4 run normally.

Should I worry about the "77 non-orthogonal faces" checkMesh is talking about ?

If not, where could the problem come from ? I would like to perform simulations from Mach 0.5 to Mach 2 but for the moment, even the subsonic cases (from Mach 0.5) don't work properly.

If somebody has any hint/idea/advice/suggestion ...

Thanks in advance,

Seb

PS: I'm using rhoSimpleFoam with Spalart-Allmaras RANS model

Last edited by seb_210; August 6, 2014 at 10:38. Reason: Upload
seb_210 is offline   Reply With Quote

Old   August 6, 2014, 10:46
Default
  #3
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
Up !

Seb
seb_210 is offline   Reply With Quote

Old   August 11, 2014, 05:56
Default
  #4
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
Still nobody ?

seb_210 is offline   Reply With Quote

Old   August 11, 2014, 06:37
Default
  #5
Senior Member
 
T. Chourushi
Join Date: Jul 2009
Posts: 321
Blog Entries: 1
Rep Power: 17
Tushar@cfd is on a distinguished road
Try these in fvSolution.

SIMPLE
{
nNonOrthogonalCorrectors 2;
..
}

-
Best Luck!
Tushar@cfd is offline   Reply With Quote

Old   August 11, 2014, 11:03
Default
  #6
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
Quote:
Originally Posted by Tushar@cfd View Post
Try these in fvSolution.

SIMPLE
{
nNonOrthogonalCorrectors 2;
..
}

-
Best Luck!
Hello Tushar,

Thank you for your anwser. Unfortunately this modification did not bring the simulation to convergence, it still crashed after a few iterations.

I tried different values for "nNonOrthogonalCorrectors" from 1 to 20 and nothing worked as expected.

Are those "non-orthogonal" cells really important ? As checkMesh returns "Mesh OK" I assumed the mesh would work properly (as it does with smaller Mach numbers). Is it wrong to have believed so ?

Where could the problem come from ?
seb_210 is offline   Reply With Quote

Old   August 12, 2014, 05:03
Default
  #7
Senior Member
 
T. Chourushi
Join Date: Jul 2009
Posts: 321
Blog Entries: 1
Rep Power: 17
Tushar@cfd is on a distinguished road
Can you post some of your case files here?
Tushar@cfd is offline   Reply With Quote

Old   August 12, 2014, 07:43
Default
  #8
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
Yes, here are the "constant", "system" and "0" directories.

They come from a "successful" simulation (Mach = 0.45). With a higher Mach number, it doesn't work anymore (crash at iteration 2).

Thank you for your time

Seb
Attached Files
File Type: zip constant.zip (1.1 KB, 23 views)
File Type: zip system.zip (7.2 KB, 30 views)
File Type: zip 0.zip (50.8 KB, 31 views)
seb_210 is offline   Reply With Quote

Old   August 12, 2014, 07:50
Default
  #9
Senior Member
 
T. Chourushi
Join Date: Jul 2009
Posts: 321
Blog Entries: 1
Rep Power: 17
Tushar@cfd is on a distinguished road
Try with these

divSchemes
{
default Gauss upwind;
...
}

laplacianSchemes
{
default Gauss linear orthogonal;
...
}

snGradSchemes
{
default orthogonal;
}

-
Best Luck!
Tushar@cfd is offline   Reply With Quote

Old   August 12, 2014, 09:53
Default
  #10
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
Allright, thanks Tushar. The calculation managed to run further

Now it crashes at iteration 6 (for Mach number 0.5). The same error is returned than before. Even with low relaxation factors, it crashes at iteration 6. What can be the cause of this behaviour ?

Also, why did you sugest these changes in particular ?
seb_210 is offline   Reply With Quote

Old   August 13, 2014, 13:02
Default
  #11
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
I used to run this case in Fluent before. To reach an acceptable convergence I was using First Order Schemes for the first 100 iterations and then switched to Second Order and QUICK Schemes for the flow variables (P, rho, momentum, T, nut). Indeed, starting with Second Order was crashing every time. I believe it is happenning in my case here as well.

I tried to follow the same method in OpenFoam according to http://www.openfoam.org/docs/user/fvSchemes.php but it doesn't seem to behave the same (even what is called first order schemes in OpenFoam does not reach more than 6 iterations ...). Maybe I am doing something wrong but I don't know what :-/

Is it possible that the problem comes from another parameter of the simulation or is it really a Scheme related issue ? I do not have a lot of OpenFoam experience so I do not really know where to investigate ...

Any hints/suggestions/ideas are welcome

Seb
seb_210 is offline   Reply With Quote

Old   August 15, 2014, 08:11
Default
  #12
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
Okay, I tried to use the "all upwind" configuration, I found it browsing the forum and I believe it to be the closest scheme to first order.

Here it is :


Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.2.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         steadyState;
}

gradSchemes
{
    default         cellLimited Gauss linear 1;
}

divSchemes
{
    default                       bounded Gauss upwind;
    div(phi,U)                    bounded Gauss upwind;
    div(phi,nuTilda)              bounded Gauss upwind grad(nuTilda);
    div((muEff*dev2(T(grad(U))))) Gauss linear;
    div(phi,Ekp)                  bounded Gauss upwind;
    div(phi,e)                    bounded Gauss upwind;

}

laplacianSchemes
{
    default                        Gauss linear orthogonal;
    laplacian((rho*(1|A(U))),p)    Gauss linear corrected;
    laplacian(muEff,U)             Gauss linear corrected;
    laplacian(DnuTildaEff,nuTilda) Gauss linear corrected;
    laplacian(alphaEff,e)          Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         orthogonal;
}

fluxRequired
{
    default         no;
    p               ;
}

// ************************************************************************* //
I observed in paraFoam that the pressure and velocity magnitude are reaching incorrect values (negative pressure, really high velocity etc.). Is there a way to limit them ? I used to do it in Fluent but in OpenFoam, except rho, I did not find a way to limit the range of these variables. Can anyone help here ?

This is my fvSolution file:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.2.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    p
    {
        solver          GAMG;
        tolerance       1e-08;
        relTol          0.05;
        smoother        DICGaussSeidel;
        cacheAgglomeration off;
        nCellsInCoarsestLevel 20;
        agglomerator    faceAreaPair;
        mergeLevels     1;
    }

    U
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        nSweeps         2;
        tolerance       1e-06;
        relTol          0.1;
    }

    e
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-06;
        relTol          0.1;
    }

    nuTilda
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        nSweeps         2;
        tolerance       1e-08;
        relTol          0.1;
    }

}

SIMPLE
{
    pRefCell                 0 ;
    pRefValue                1.01325e+05 ; // <pabs> 2
    nNonOrthogonalCorrectors 0;
    rhoMin          rhoMin [ 1 -3 0 0 0 ] 0.5;
    rhoMax          rhoMax [ 1 -3 0 0 0 ] 1.5;
 
    residualControl
    {
        p               1e-5;
        U               1e-5;
        nuTilda         1e-5;
    }
}

relaxationFactors
{
    fields
    {
        p               0.3 ;  // <pondp> 2
        rho             0.05 ; // <pondr> 2
    }
    equations
    {
        U               0.6 ;  // <pondm> 2
        e               0.5 ;  // <ponde> 2
        nuTilda         0.7 ;  // <pondv> 2
    }
}

// ************************************************************************* //
Thanks in advance again,

Seb
seb_210 is offline   Reply With Quote

Old   August 19, 2014, 08:40
Default
  #13
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
Up please !

Seb
seb_210 is offline   Reply With Quote

Old   August 20, 2014, 05:43
Default
  #14
New Member
 
Bonjour
Join Date: Jul 2014
Location: France
Posts: 23
Rep Power: 11
seb_210 is on a distinguished road
Hello everyone,

I'm still struggling with this convergence problem for Mach 0.5.

As said above, I tried to limit the pressure but it doesn't seem to affect the results.

I used in fvSolution:

Code:
SIMPLE
{
...
pMin     pMin [1 -1 -2 0 0 ] 1000;
pMax    PMax [1 -1 -2 0 0 ] 300000;
...
}
The pressure is able to reach higher values anyway in paraFoam ...
Is there something that I'm missing here (like relative, total or absolute pressure, I don't know) ?

The velocity magnitude also reaches some unrealistic values (up to Mach 3 with a 0.5 Mach number freestream, non physical with the geometry I use).

What can I do to run a full simulation on my case ? I'm running out of solutions
seb_210 is offline   Reply With Quote

Reply


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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Unexplained Error during Solver Runs cfb CFX 6 November 9, 2012 15:42
Strange residuals of the Density Based Solver Pat84 FLUENT 0 October 22, 2012 15:59
Error, rhosimplefoam solver schalinski OpenFOAM Running, Solving & CFD 7 July 19, 2012 13:55
Quarter Burner mesh with periosic condition SamCanuck FLUENT 2 August 31, 2011 11:34
why the solver reject it? Anyone with experience? bearcat CFX 6 April 28, 2008 14:08


All times are GMT -4. The time now is 06:02.