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

pimpleFoam crashing with GAMG

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By avila.vc

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 10, 2016, 04:34
Question pimpleFoam crashing with GAMG
  #1
New Member
 
Max Vorstadt
Join Date: May 2016
Posts: 28
Rep Power: 9
jet_engine is on a distinguished road
Hi! I'm trying to solve a SA-DDES case but apparently the GAMG pressure solver is causing it to break... The velocities are computed giving low initial residuals but pressure makes it to crash. Here is the output from the log file:

Code:
                                                                  
Pstream initialized with:
    floatTransfer      : 0
    nProcsSimpleSum    : 0
    commsType          : nonBlocking
    polling iterations : 0          
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations              

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

Create mesh for time = 0


PIMPLE: Operating solver in PISO mode

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting turbulence model type LES               
Selecting LES turbulence model SpalartAllmarasDDES
Selecting LES delta type maxDeltaxyz              
Selecting patchDistMethod meshWave                
SpalartAllmarasDDESCoeffs                         
{                                                 
    alphaNut        1.5;                          
    Cb1             0.1355;                       
    Cb2             0.622;                        
    Cw2             0.3;                          
    Cw3             2;                            
    Cv1             7.1;                          
    Cv2             5;                            
    CDES            0.75;                         
    ck              0.07;                         
    Ce              1.048;                        
    sigmaNut        0.66666;                      
    kappa           0.41;                         
    Cs              0.3;                          
    lowReCorrection true;                         
    Ct3             1.2;                          
    Ct4             0.5;                          
    fwStar          0.424;                        
    Cd1             8;                            
    Cd2             3;                            
}                                                 

No MRF models present

No finite volume options present


Starting time loop

Reading surface description:
    xNormal                 
    yNormal                 
    zNormal                 

Reading surface description:
    xNormal                 
    yNormal                 
    zNormal                 

forceCoeffs forceCoeffs1:
    Not including porosity effects

fieldAverage meanValues:
    Restarting averaging for fields:
        DESModelRegions: starting averaging at time 0
        U: starting averaging at time 0              
        p: starting averaging at time 0              
        k: starting averaging at time 0              
        omega: starting averaging at time 0
        nuTilda: starting averaging at time 0

Courant Number mean: 1.46754e-06 max: 0.00472643
deltaT = 1.2e-09
Time = 1.2e-09

PIMPLE: iteration 1
smoothSolver:  Solving for Ux, Initial residual = 1.32657e-08, Final residual = 1.32657e-08, No Iterations 0
smoothSolver:  Solving for Uy, Initial residual = 8.1728e-08, Final residual = 8.1728e-08, No Iterations 0
smoothSolver:  Solving for Uz, Initial residual = 6.64292e-08, Final residual = 6.64292e-08, No Iterations 0
[2] #0  Foam::error::printStack(Foam::Ostream&) in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libOpenFOAM.so"
[2] #1  Foam::sigFpe::sigHandler(int) in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libOpenFOAM.so"
[2] #2  ? in "/lib64/libc.so.6"
[2] #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 "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libOpenFOAM.so"
[2] #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::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libOpenFOAM.so"
[2] #5  Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libOpenFOAM.so"
[2] #6  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libfiniteVolume.so"
[2] #7  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/bin/pimpleFoam"
[2] #8  ? in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/bin/pimpleFoam"
[2] #9  __libc_start_main in "/lib64/libc.so.6"
[2] #10  ? in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/bin/pimpleFoam"
And here is the fvSolution file:

Code:
solvers
{
    p
    {
        solver          GAMG;
        tolerance       1e-6;
        relTol          1e-2;

        smoother        GaussSeidel;
        nPreSweeps      0;
        nPostSweeps     2;

        cacheAgglomeration false;

        nCellsInCoarsestLevel 50;
        agglomerator    faceAreaPair;
        mergeLevels     1;
    };

    pFinal
    {
        $p;
        relTol          1e-2;
    };

    "(U|k|B|nuTilda)"
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance       1e-7;
        relTol          1e-2;
    };

    UFinal
    {
       $U;
    };

}

PIMPLE
{
    nCorrectors     3;
    nNonOrthogonalCorrectors 1;
}

relaxationFactors
{
    "U.*"               1;
    "nuTilda.*"         1;
}
Any idea where the error causing the crash could be?
jet_engine is offline   Reply With Quote

Old   June 10, 2016, 04:45
Default
  #2
Member
 
Pedro
Join Date: Nov 2014
Posts: 50
Rep Power: 11
pupo is on a distinguished road
to be sure, have you tried with another solver?

for example:

Code:
p
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-8;
        relTol          0.01;
    }
pupo is offline   Reply With Quote

Old   June 11, 2016, 08:01
Default
  #3
New Member
 
Max Vorstadt
Join Date: May 2016
Posts: 28
Rep Power: 9
jet_engine is on a distinguished road
Quote:
Originally Posted by pupo View Post
to be sure, have you tried with another solver?

for example:

Code:
p
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-8;
        relTol          0.01;
    }
Thank you for your message. I've tried it, yes, and the output is the following one:

Code:
Courant Number mean: 0.000146768 max: 0.472643
deltaT = 4.23153e-08
Time = 4.23153e-08

PIMPLE: iteration 1
smoothSolver:  Solving for Ux, Initial residual = 3.9629e-07, Final residual = 3.9629e-07, No Iterations 0
smoothSolver:  Solving for Uy, Initial residual = 2.74837e-06, Final residual = 2.74837e-06, No Iterations 0
smoothSolver:  Solving for Uz, Initial residual = 2.31382e-06, Final residual = 2.31382e-06, No Iterations 0
DICPCG:  Solving for p, Initial residual = 0.999302, Final residual = 0.0648168, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 0.0489989, Final residual = 0.0136731, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 0.0161421, Final residual = 0.000959671, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 0.00310824, Final residual = 7.1897e-05, No Iterations 1001
time step continuity errors : sum local = 2.98043e-11, global = -3.96895e-12, cumulative = -3.96895e-12
DICPCG:  Solving for p, Initial residual = 0.00132401, Final residual = 9.58867e-05, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 0.00147142, Final residual = 8.5905e-06, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 0.00282163, Final residual = 9.60736e-06, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 0.00550311, Final residual = 7.14701e-06, No Iterations 1001
time step continuity errors : sum local = 3.11322e-12, global = -7.67741e-13, cumulative = -4.73669e-12
DICPCG:  Solving for p, Initial residual = 0.0116716, Final residual = 3.52184e-05, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 0.0265098, Final residual = 6.91188e-05, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 0.0516905, Final residual = 0.000184776, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 0.0942045, Final residual = 0.000834361, No Iterations 307
time step continuity errors : sum local = 4.69897e-10, global = -2.36321e-11, cumulative = -2.83688e-11
[1] #0  Foam::error::printStack(Foam::Ostream&) in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libOpenFOAM.so"
[1] #1  Foam::sigFpe::sigHandler(int) in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libOpenFOAM.so"
[1] #2  ? in "/lib64/libc.so.6"
[1] #3  Foam::symGaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libOpenFOAM.so"
[1] #4  Foam::symGaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libOpenFOAM.so"
[1] #5  Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libOpenFOAM.so"
[1] #6  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libfiniteVolume.so"
[1] #7  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/bin/pimpleFoam"
[1] #8  Foam::fvMatrix<double>::solve() in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libincompressibleTurbulenceModels.so"
[1] #9  Foam::SolverPerformance<double> Foam::solve<double>(Foam::tmp<Foam::fvMatrix<double> > const&) in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libincompressibleTurbulenceModels.so"
[1] #10  Foam::LESModels::SpalartAllmarasDES<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correct() in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/lib/libincompressibleTurbulenceModels.so"
[1] #11  ? in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/bin/pimpleFoam"
[1] #12  __libc_start_main in "/lib64/libc.so.6"
[1] #13  ? in "/group/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc49DPInt32Opt/bin/pimpleFoam"
Courant number is OK, Velocity residuals seem OK, but pressure takes too long to iterate (1001 iterations) with this new solver. I've even tried to change the BC of the pressure at the outlet from 0 to 1e-12 just in case it was a division by 0 error in this particular case but still nothing...

Anyone knows what can be causing the problem?
jet_engine is offline   Reply With Quote

Old   June 11, 2016, 09:45
Default
  #4
Member
 
Vinícius da Costa Ávila
Join Date: Jul 2015
Location: Porto Alegre, Brazil
Posts: 62
Rep Power: 10
avila.vc is on a distinguished road
Hi, post your checkMesh -allTopology -allGeometry results, please. If your mesh is big, try increase nCellsincoarsestlevel on GAMG to 500 or 1000
__________________
Vinícius dC.A.
avila.vc is offline   Reply With Quote

Old   June 11, 2016, 10:10
Default
  #5
New Member
 
Max Vorstadt
Join Date: May 2016
Posts: 28
Rep Power: 9
jet_engine is on a distinguished road
Quote:
Originally Posted by avila.vc View Post
Hi, post your checkMesh -allTopology -allGeometry results, please. If your mesh is big, try increase nCellsincoarsestlevel on GAMG to 500 or 1000
Thank you very much for replying , here is the output of the checkMesh command:

Code:
Enabling all geometry checks.

Time = 0

Mesh stats
    points:           26716253
    faces:            73469248
    internal faces:   70259631
    cells:            23392159
    faces per cell:   6.14432
    boundary patches: 7
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     21925085
    prisms:        164543
    wedges:        0
    pyramids:      0
    tet wedges:    769
    tetrahedra:    0
    polyhedra:     1301762
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            4   2466
            5   2193
            6   163374
            7   141807
            8   6875
            9   857584
           10   314
           11   136
           12   108408
           14   87
           15   18158
           18   360

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Topological cell zip-up check OK.
    Face-face connectivity OK.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
                   Patch    Faces   Points                  Surface topology Bounding box
                   inlet    22488    24182  ok (non-closed singly connected) (-0.225 -0.35 -0.125) (-0.225 0.35 0.84)
                  outlet    11398    12527  ok (non-closed singly connected) (1.12 -0.35 -0.125) (1.12 0.35 0.84)
             lateralWall   255501   280238  ok (non-closed singly connected) (-0.225 -0.35 -0.125) (1.12 0.35 0.84)
               upperWall      288      325  ok (non-closed singly connected) (-0.225 -0.35 0.84) (1.12 0.35 0.84)
               lowerWall     1152     1225  ok (non-closed singly connected) (-0.225 -0.35 -0.125) (1.12 0.35 -0.125)
                Cylinder   280699   285958  ok (non-closed singly connected) (-0.0601417 -0.0599639 -3.35276e-10) (0.0600005 0.0599639 0.24)
             Plate_round  2638091  2665903  ok (non-closed singly connected) (-0.223998 -0.35 -0.015) (1.12 0.35 0.000998369)

Checking geometry...
    Overall domain bounding box (-0.225 -0.35 -0.125) (1.12 0.35 0.84)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-5.87433e-16 6.97082e-17 -1.48306e-13) OK.
 ***High aspect ratio cells found, Max aspect ratio: 1.24904e+94, number of cells 35
  <<Writing 35 cells with high aspect ratio to set highAspectRatioCells
    Minimum face area = 5.21919e-10. Maximum face area = 0.00357495.  Face area magnitudes OK.
 ***Zero or negative cell volume detected.  Minimum negative volume: -6.5735e-10, Number of negative volume cells: 35
  <<Writing 35 zero volume cells to set zeroVolumeCells
    Mesh non-orthogonality Max: 179.989 average: 7.91616
   *Number of severely non-orthogonal (> 70 degrees) faces: 115.
 ***Number of non-orthogonality errors: 109.
  <<Writing 224 non-orthogonal faces to set nonOrthoFaces
 ***Error in face pyramids: 240 faces are incorrectly oriented.
  <<Writing 183 faces with incorrect orientation to set wrongOrientedFaces
 ***Max skewness = 16.2622, 20 highly skew faces detected which may impair the quality of the results
  <<Writing 20 skew faces to set skewFaces
    Coupled point location match (average 0) OK.
 ***Error in face tets: 717 faces with low quality or negative volume decomposition tets.
  <<Writing 318 faces with low quality or negative volume decomposition tets to set lowQualityTetFaces
    Min/max edge length = 2.07766e-05 0.0607762 OK.
   *There are 66069 faces with concave angles between consecutive edges. Max concave angle = 89.3598 degrees.
  <<Writing 66069 faces with concave angles to set concaveFaces
    Face flatness (1 = flat, 0 = butterfly) : min = 0.0400623  average = 0.999966
   *There are 86 faces with ratio between projected and actual area < 0.8
    Minimum ratio (minimum flatness, maximum warpage) = 0.0400623
  <<Writing 86 warped faces to set warpedFaces
    Cell determinant (wellposedness) : minimum: 9.01638e-05 average: 10.1297
 ***Cells with small determinant (< 0.001) found, number of cells: 4
  <<Writing 4 under-determined cells to set underdeterminedCells
 ***Concave cells (using face planes) found, number of cells: 590857
  <<Writing 590857 concave cells to set concaveCells
    Face interpolation weight : minimum: 0.01328 average: 0.478489
 ***Faces with small interpolation weight (< 0.05) found, number of faces: 11
  <<Writing 11 faces with low interpolation weights to set lowWeightFaces
    Face volume ratio : minimum: -10.9825 average: 0.902224
 ***Faces with small volume ratio (< 0.01) found, number of faces: 142
  <<Writing 142 faces with low volume ratio cells to set lowVolRatioFaces

Failed 10 mesh checks.

End
The mesh was done by snappyHexMesh, but apparently there are some things that went wrong now that I check that (checkMesh showed everything OK after blockMesh). Any idea how could I solve this problems and do you think that these problems are the real cause of the error??

PS: The checkMesh command before sHm seems fine:

Code:
Checking geometry...
    Overall domain bounding box (-0.225 -0.35 -0.125) (1.12 0.35 0.84)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (3.71949e-18 -6.24427e-17 1.8895e-17) OK.
    Max cell openness = 1.849e-16 OK.
    Max aspect ratio = 1.07621 OK.
    Minimum face area = 0.0032691. Maximum face area = 0.00351823.  Face area magnitudes OK.
    Min volume = 0.000197167. Max volume = 0.000197167.  Total volume = 0.908547.  Cell volumes OK.
    Mesh non-orthogonality Max: 0 average: 0
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 2.02586e-14 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End
Attached Files
File Type: pdf snappyHexMeshDict.pdf (23.5 KB, 7 views)

Last edited by jet_engine; June 11, 2016 at 10:40. Reason: Added checkMesh before sHm and sHmDict
jet_engine is offline   Reply With Quote

Old   June 11, 2016, 10:35
Default
  #6
Member
 
Vinícius da Costa Ávila
Join Date: Jul 2015
Location: Porto Alegre, Brazil
Posts: 62
Rep Power: 10
avila.vc is on a distinguished road
Hi, in my brief experience, bad mesh = divergence or, at least, bad results.
So, yes, I think those 10 failed mesh tests may be causing divergence.
Unfortunatelly I dont have any experience with snappyhexmesh. I usually make my meshes with ICEM and then I import them with OpenFOAM.

Take a look at your mesh with paraview (surfaces with edges on exibition mode), look the whole mesh and those faulty sets, that might help.
jet_engine likes this.
__________________
Vinícius dC.A.
avila.vc is offline   Reply With Quote

Old   June 11, 2016, 10:55
Default
  #7
New Member
 
Max Vorstadt
Join Date: May 2016
Posts: 28
Rep Power: 9
jet_engine is on a distinguished road
No worries Thanks for your help anyway. I'll probably create a new topic since it is now related to snappyHexMesh instead of the fvSolutions/GAMG solver.
jet_engine is offline   Reply With Quote

Reply

Tags
error, floatingpoint, fvsolution, pimplefoam


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
Problem with complex eigenValues Harak OpenFOAM Running, Solving & CFD 11 January 26, 2016 01:48
Wrong fluctuation of pressure in transient simulation caitao OpenFOAM Running, Solving & CFD 2 March 5, 2015 21:33
pimpleFoam: turbulence->correct(); is not executed when using residualControl hfs OpenFOAM Running, Solving & CFD 3 October 29, 2013 08:35
Extremely slow simulation with interDyMFoam jrrygg OpenFOAM Running, Solving & CFD 9 April 23, 2013 10:14
Differences between serial and parallel runs carsten OpenFOAM Bugs 11 September 12, 2008 11:16


All times are GMT -4. The time now is 09:15.