|
[Sponsors] |
GAMG solver won't run due the agglomeration settings |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 15, 2024, 12:42 |
GAMG solver won't run due the agglomeration settings
|
#1 |
New Member
Join Date: Jan 2024
Posts: 2
Rep Power: 0 |
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 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; } } // ************************************************************************* // 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; } 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); } // ************************************************************************* // 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! |
|
September 2, 2024, 05:57 |
|
#2 |
New Member
ziluwang
Join Date: May 2024
Posts: 3
Rep Power: 2 |
Hi, di you solver it? I also meet this problem in overPimpleDyMFoam
|
|
September 4, 2024, 14:22 |
|
#3 |
New Member
Join Date: Jan 2024
Posts: 2
Rep Power: 0 |
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. |
|
September 5, 2024, 12:11 |
|
#4 |
Senior Member
Join Date: Dec 2021
Posts: 251
Rep Power: 6 |
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). |
|
September 6, 2024, 02:39 |
|
#5 |
New Member
ziluwang
Join Date: May 2024
Posts: 3
Rep Power: 2 |
This may not be a fault of the decomposition method, cause for serial computing, this problem still exit.
|
|
Tags |
gamg, overset mesh, parallel efficiency |
|
|
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 |