CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   New AMG Solvers in OF141dev SVN (

philippose October 27, 2007 14:05

Hello and a Good day :-)! I
Hello and a Good day :-)!

I just finished compiling the latest SVN version of OpenFOAM-1.4.1-dev, and was generally looking around the sources, and found that there are new AMG solvers available....

Where could I get more information regarding what the advantages / disadvantages of, and the situations in which the following solvers can be used:

a. fpeAmgSolver
b. mpeAmgSolver
c. rreAmgSolver
d. amgSymSolver

And also... the following solvers:

d. bicgStabSolver
e. cgSolver
f. deflationSolver
g. gmresSolver

In addition, what do the "AMG Policies" do? There too.. there seem to be a couple of options. I remember finding a paper by Hrv some time ago with a performance comparison of some of these solvers, but I cant seem to find that paper now!

Have a great weekend!


hjasak October 27, 2007 17:34

A paper, of course: http:/
A paper, of course:




philippose October 27, 2007 19:04

Hello Hrv :-)! Thanks a lot
Hello Hrv :-)!

Thanks a lot for those two papers.... the first of those two was the one I had seen earlier, and the one I was referring to in the post :-)!

And... nice to hear from you after a long time too !

Shall read through those two tomorrow... and see if its applicable to the simulations I work on.


frank October 28, 2007 11:24

I just compiled the OpenFOAM-1
I just compiled the OpenFOAM-1.4.1-dev- 26oct version, got a error. I guess GAMG solver setting changes.

Hrv, please give me a hint!


PBiCG: Solving for alpha, Initial residual = 0.00018123, Final residual = 1.09717e-20, No Iterations 1
Dispersed phase volume fraction = 0.275 Min(alpha) = 0 Max(alpha) = 0.55
PBiCG: Solving for alpha, Initial residual = 5.20764e-06, Final residual = 4.23583e-22, No Iterations 1
Dispersed phase volume fraction = 0.275 Min(alpha) = -2.85747e-101 Max(alpha) = 0.55

--> FOAM FATAL IO ERROR : Cannot read control minIter

file: -1.4.1-dev/run/twoPhaseEulerFoam/bed/system/fvSolution::p from line 29 to line 40.

From function void lduMatrix::solver::readControl
const dictionary& controlDict,
T& control,
const word& controlName
in file matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C at line 57.

FOAM aborting

Aborted (core dumped)

Li Q

frank October 28, 2007 11:59

This problem have been solved
This problem have been solved through system/controlDict
minIter 0; //
maxIter 500; //
tolerance 1e-8;
relTol 0;

smoother DIC;
nPreSweeps 0;
nPostSweeps 2;
nFinestSweeps 2;

scaleCorrection true;
directSolveCoarsest false;

cacheAgglomeration true;
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
mergeLevels 1;

Li Q

hjasak October 28, 2007 16:35

Simply, I don't like the idea
Simply, I don't like the idea of hidden optional parameters, so I've made them all required. minIter tells you how many solver sweeps will be forced without checking the convergence tolerance: usually zero.


braennstroem November 21, 2007 11:24

Hi, ... it seems that the

... it seems that the last post got lost....

I wondered how the the GAMG solvers are implemented in 1.4.1-dev? As I read the old AMG solver were transfering there data at every level in a parallel setup. Is it the same procedure for the new solver? Isn't it possible to do the interchange just at the finest level and pass the value to the coarse one; a lot of transfer time could be saved?


harry November 26, 2007 05:29

Hi,Prof. Hrvoje Jasak Your AM
Hi,Prof. Hrvoje Jasak
Your AMG solver sounds amazing. I plan to use it in my specific multiphase CFD code, but do not want to completely give up my own in-house code. This is possible or not? I mean have you planed to release it as a independent solver of linear equations,in particular for CFD, as done by hype and PETSc?

johndeas July 27, 2009 14:52

Would it be possible to have an example case of the fastest one from the paper, in order to test the performance easily, and quickly use it on own cases ? For example, the rreAmg ?

All times are GMT -4. The time now is 00:01.