CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   FOAM FATAL ERROR Maximum number of iterations exceeded (http://www.cfd-online.com/Forums/openfoam-solving/59816-foam-fatal-error-maximum-number-iterations-exceeded.html)

liugx212 July 5, 2006 10:04

Hi all, I met the error as
 
Hi all,

I met the error as follows when I run buoyantFoam case after I add the Sp() function as my source term in rhoEn. Could anybody help me this matter?

Thanks so much.

The error is:
--> FOAM FATAL ERROR : Maximum number of iterations exceeded

From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const
in file /home/liu/OpenFOAM/OpenFOAM-1.2/src/thermophysicalModels/specie/lnInclude/specie ThermoI.H at line 83.

FOAM aborting

mss February 13, 2007 04:11

Hi Guoxiang, I have the sam
 
Hi Guoxiang,

I have the same problem, how did u solve it?

thanks,
Rita

dmoroian February 13, 2007 05:55

My guess, is that your source
 
My guess, is that your source term is triggering a divergent solution, which increases continuously the temperature. Once your T0 goes too high (I am not sure, but something like 5000K is the limit of the implemented thermodynamic properties) you get the error. What you can do very fast, is to modify the maxIter_ from 100 to something larger. Another thing is to modify the tolerance tol_ from 1.0e-4 to something higher (1.0e-3 or so), but this is not a good advice.

If you really need such high temperatures, like Rita, then I think you have to implement yourself the polynomials for the thermodynamic properties of your fluid.

Dragos

cesarbz February 13, 2007 15:48

Dragos, In which file is th
 
Dragos,

In which file is the maxIter_ value ?... sometimes I think it's necessary increase the maximum of iteration number.
Thanks.
Cesar.

dmoroian February 14, 2007 04:46

Hi Cesar, grep -r maxIter_
 
Hi Cesar,

grep -r maxIter_ OpenFOAM/OpenFOAM-1.3/src/thermophysicalModels/specie

lnInclude/specieThermo.C:const int specieThermo<thermo>::maxIter_ = 100;
lnInclude/specieThermo.H: static const int maxIter_;
lnInclude/specieThermoI.H: if (iter++ > maxIter_)
thermo/specieThermo/specieThermo.C:const int specieThermo<thermo>::maxIter_ = 100;
thermo/specieThermo/specieThermo.H: static const int maxIter_;
thermo/specieThermo/specieThermoI.H: if (iter++ > maxIter_)


So, you can change the value in: specieThermo.C
It might be a bit different in version 1.2, as you have, but it should be simmilar.
But I suggest to have a check for the residuals first. If they grow, than you have a divergent solution, and increasing the maxIter_ will not help.

Dragos

mss February 20, 2007 08:28

Hej Dragos, Could u give me
 
Hej Dragos,

Could u give me some hint about implemention the polynomials for the thermodynamic properties of my fluid?


I'm using Buoyancy case for Argon gas with teperature from 300 K upto 20 000K:
--------------------------------------
Name Argon
--------------------------------------
nMoles 1.0
molecularWeight 39.948
deltaH 1.0499e+05
viscosity 3.4079e-5
Pr 0.65
---------------------------------------

Thank u so much,
Rita

dmoroian February 20, 2007 11:17

Hi Rita, I'm not too much of
 
Hi Rita,
I'm not too much of help here. You can take a look in the OpenFOAM/OpenFOAM-1.3/src/thermophysicalModels for details.
Though, one sugestion I can make: try to use janafThermo instead of hConstThermo, if you have access to janaf tables.

Dragos

mss February 20, 2007 11:39

Hi Dragos, I have looked in
 
Hi Dragos,

I have looked in it before. It didn't help to much. I'm not familiar with programming in OpenFOAM.
I can't understand where here is introduced the limit of temperature.

Do you have any suggestions?

thank u,
Rita

dinesh2n@gmail.com January 17, 2010 11:35

Maximum number of iterations exceeded
 
Hi same thing I came across too.....


This problem came when I was using the number of interval more than 150 or so, in gambit, the exported mesh to OpenFoam was showing that error message i. e ..Maximum number of iterations exceeded..bla bla.......
before this it was running upto clock time 5 or 6 and than the error message. If I change the mesh intervals, the clock time of getting that massage had been changing accordingly. When I change the mesh intervals in gambit in 100 it worked i.e upto requried time ( ..which I had set in controlDict .....

Conclusion : change (decrease) the mess interval count in gambit. the exported mesh shall let u find the way....

thanks

srahul July 16, 2013 07:30

I was able to solve this problem by using 1st order scheme for temporal discretization

yash.aesi August 25, 2013 08:17

error of maximum no of iteration exceeded ..
 
helo ,
i got the same error of maximum no of iteration exceeded as posted above by many . i tried to solve it by changing residuel, time step etc whatever is suggested above but still m getting the same error . can anybody plz suggust me whr i am wrong ??? thanks in advance .(i am doin my simulation in rhopimple solver )

srahul August 25, 2013 10:48

Hello,

I suppose you might be using second order schemes for temporal discretization, I had this error with 2nd order. When I switched to 1st order (euler) the error never popped up.

prameelar March 4, 2014 11:11

Hello Rahul,

I am using chtMultiRegionSimpleFoam and facing the same issue. I have tried changing ddtScheme to "Euler" which is first order implicit scheme. Could you please guide me if I need to change anything else?

srahul March 5, 2014 01:37

Hi,

For me it worked fine only by changing to euler, however I recently changed newton solver to brent solver for temperature calculation and now it works completely fine.

Regards,
Rahul

michu July 7, 2015 21:03

2 Attachment(s)
Hello,

I am also currently having that problem, picture attached below. I have changed the script in thermo.C for the max iterations to a much larger number. I cannot find the specieThermo.C script though. I also have increased the tolerance in the thermo.C script. I believe my script is in Euler form, as it states in the fvSchemes folder. (Is that where I need to change it to Euler or is there another thing I'm missing?) I am also using the function: sonicFoam. As a side note, even when I changed the max iterations and tolerance numbers in the thermo.C script, the program still ended at the exact same time: 2.67835e-05 and produced the same error message. Can anyone help me fix my error?

Thank you so much,
~Michu

srahul July 8, 2015 05:34

Hi Michu,

You can find the the script in here
OpenFOAM-2.2.0/src/thermophysicalModels/specie/thermo/thermo/thermoI.H

In this file Newton solver (Line no. 41 - 88) is utilized to calculate the T. I implemented brent solver and now that problem is solved.

michu July 8, 2015 06:32

Hello srahul,

Thank you for responding and helping. I am still a little confused.

Previously I changed the ThermoI.H script through the thermophysical Models/specie/lnInclude but when I changed the script in that directory, somehow the script ThermoI.H in the thermophysicalModels/specie/thermo/thermo directory also changed. (Just something weird I noticed).

When I changed line 64: if (iter++ > maxIter_) to this: if (iter++ > 100000000000000000000)
the program still provided the problem shown in my image above.

My coding is a little rusty so sorry if this seems simple, but I thought the problem is the maximum iterations. Do I also have to change line 80: } while (mag(Tnew - Test) > Ttol); in order to fix this problem? Is there something else I should also change?

Thank you for your help,
~Michu


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