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

GAMG solver won't run due the agglomeration settings

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By itsAdoozy

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 15, 2024, 12:42
Default GAMG solver won't run due the agglomeration settings
  #1
New Member
 
Join Date: Jan 2024
Posts: 2
Rep Power: 0
itsAdoozy is on a distinguished road
I'm trying to run some unsteady airfoil simulations (2D) using the overPimpleDyMFoam solver, with OpenFOAM v2012. I previously have had it running, but it was running slowly and I wanted to speed up my computation time. Specifically I was having issues where it was running faster on a single core than when I split it up between multiple cores.

I did some searching and read in this post that I should use the GAMG solver for pressure (was using PBiCGStab) since it's less resistant to parallelization. But, now that I've switched over to the GAMG solver I was running into this error on my first solution step:

Code:
PIMPLE: iteration 1
[1] 
[1] 
[1] --> FOAM FATAL ERROR: (openfoam-2012)
[1] field does not correspond to level 0 sizes: field = 100549 level = 101003
[1] 
[1]     From void Foam::GAMGAgglomeration::restrictFaceField(Foam::Field<Type>&, const Foam::Field<Type>&, Foam::label) const [with Type = double; Foam::label = int]
[1]     in file lnInclude/GAMGAgglomerationTemplates.C at line 151.
[1] 
FOAM parallel run aborting
After more searching the only relevant post I could find was from 2010 where they said to turn off my cacheAgglomeration, but I still got the same error.

fvSolution:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2012                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    cellDisplacement
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-06;
        relTol          0;
        maxIter         100;
    }

    p
    {
        solver          GAMG; //PBiCGStab
        // preconditioner  DILU;
        smoother GaussSeidel;
        cacheAgglomeration off;
        tolerance       1e-6;
        relTol          0;
    }

    pcorr
    {
        $p;
        // solver          PCG;
        // preconditioner  DIC;
    }

    pFinal
    {
        $p;
    }

    pcorrFinal
    {
        $pcorr;
        relTol          0;
    }

    "(U|k|omega|epsilon)"
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance       1e-6;
        relTol          0;
    }

    "(U|k|omega|epsilon)Final"
    {
        $U;
        tolerance       1e-6;
        relTol          0;
    }
}

PIMPLE
{
    momentumPredictor           no;
    correctPhi                  no;
    nOuterCorrectors            1;
    nCorrectors                 2;
    nNonOrthogonalCorrectors    0;

    ddtCorr                     false;
}

relaxationFactors
{
    fields
    {
        p               0.3;
    }
    equations
    {
        U                           0.7;
        k                           0.7;
        omega                       0.7;
        epsilon                     0.7;
        "(U|k|omega|epsilon)Final"  1.0;
    }
}

// ************************************************************************* //
controlDict:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2012                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

libs            (overset fvMotionSolvers);

application     overPimpleDyMFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         1;

deltaT          0.01;

writeControl    runTime;

writeInterval   0.1;

purgeWrite      0;

writeFormat     ascii;

writePrecision  10;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

adjustTimeStep  yes;

maxCo   1;

functions
{
    liftCoeff
    {
        type            forceCoeffs;
        libs            ("libforces.so");
        writeControl    timeStep;
        writeInterval   10;

        // Field names
        p               p;
        U               U;
        rho             rho;

        patches         (walls);
        rho             rhoInf;
        rhoInf          1.225;
        CofR            (0 0 0);
        liftDir         (0 1 0);
        dragDir         (1 0 0);
        pitchAxis       (0 0 1);
        magUInf         10;
        lRef            1;
        Aref            0.05;
    }
decomposeParDict:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2012                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

numberOfSubdomains 3;

method          scotch;

coeffs
{
    n           (4 2 1);
}

// ************************************************************************* //
Note: I'm using 3 processors to keep my cells/processor above 50,000.

I'm pretty stuck at this point, I'd like to get it working with the GAMG solver to see if that improves my parallel run time, but if you have other ideas on how to speed up the comps I'm happy to try them, thanks in advance!
itsAdoozy is offline   Reply With Quote

Old   September 2, 2024, 05:57
Default
  #2
New Member
 
ziluwang
Join Date: May 2024
Posts: 3
Rep Power: 2
simbawang is on a distinguished road
Hi, di you solver it? I also meet this problem in overPimpleDyMFoam
simbawang is offline   Reply With Quote

Old   September 4, 2024, 14:22
Default
  #3
New Member
 
Join Date: Jan 2024
Posts: 2
Rep Power: 0
itsAdoozy is on a distinguished road
Unfortunately no, I discovered that GAMG methods simply do not work on overset mesh solvers in openfoam right now. It would be very very tricky to get the GAMG algorithm to correctly interpolate across overset boundaries.

So as of right now the only solution is to use a different pre-conditioner and solution method.
Jim1310 likes this.
itsAdoozy is offline   Reply With Quote

Old   September 5, 2024, 12:11
Default
  #4
Senior Member
 
Join Date: Dec 2021
Posts: 251
Rep Power: 6
Alczem is on a distinguished road
Hey!


I remember having trouble with overset meshes too! Have you tried a different decomposition method, such as hierarchical? I believe it worked for me (or maybe it was the preservePatches constraint, cannot remember for sure).
Alczem is offline   Reply With Quote

Old   September 6, 2024, 02:39
Default
  #5
New Member
 
ziluwang
Join Date: May 2024
Posts: 3
Rep Power: 2
simbawang is on a distinguished road
Quote:
Originally Posted by Alczem View Post
Hey!


I remember having trouble with overset meshes too! Have you tried a different decomposition method, such as hierarchical? I believe it worked for me (or maybe it was the preservePatches constraint, cannot remember for sure).
This may not be a fault of the decomposition method, cause for serial computing, this problem still exit.
simbawang is offline   Reply With Quote

Reply

Tags
gamg, overset mesh, parallel efficiency


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
[openSmoke] LaminarSMOKE compilation error mdhfiz OpenFOAM Community Contributions 8 July 2, 2024 11:32
Error: WorkBench Error: Could not handle event: SolutionStatusUpdate Kieyo Fluent Multiphase 0 November 10, 2022 00:58
#0 prinStack(Foam::Ostream&)sh:1 addr2lin: not found addr2line failed jerrry51 OpenFOAM Running, Solving & CFD 0 September 2, 2022 15:33
Convergence problem of OF WUYing OpenFOAM Running, Solving & CFD 2 September 20, 2021 11:09
Problem with complex eigenValues Harak OpenFOAM Running, Solving & CFD 11 January 26, 2016 02:48


All times are GMT -4. The time now is 14:56.