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

Maximum number of iterations exceeded

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 2 Post By Bloerb

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 6, 2016, 02:32
Unhappy Maximum number of iterations exceeded
  #1
New Member
 
Sheng,Qiming
Join Date: Jul 2016
Posts: 13
Rep Power: 9
shengqiming is on a distinguished road
Hi all,

I want to solve a heat transfer Project using chtMultiRegionSimpleFoam. All the pre-processing is ok. But when i run the case, this Error happens and I dont know how to deal with it:




--> FOAM FATAL ERROR:
Maximum number of iterations exceeded

From function thermo<Thermo, Type>::T(scalar f, scalar T0, scalar (thermo<Thermo, Type>::*F)(const scalar) const, scalar (thermo<Thermo, Type>::*dFdT)(const scalar) const, scalar (thermo<Thermo, Type>::*limit)(const scalar) const) const
in file /home/saeed/OpenFOAM/OpenFOAM-2.4.0/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 76.

FOAM aborting

#0 Foam::error:rintStack(Foam::Ostream&) at ??:?
#1 Foam::error::abort() at ??:?
#2 Foam::heRhoThermo<Foam::rhoThermo, Foam:ureMixture<Foam:olynomialTransport<Foam:: species::thermo<Foam::hPolynomialThermo<Foam::icoP olynomial<Foam::specie, 8>, 8>, Foam::sensibleEnthalpy>, 8> > >::calculate() at ??:?
#3 Foam::heRhoThermo<Foam::rhoThermo, Foam:ureMixture<Foam:olynomialTransport<Foam:: species::thermo<Foam::hPolynomialThermo<Foam::icoP olynomial<Foam::specie, 8>, 8>, Foam::sensibleEnthalpy>, 8> > >::correct() at ??:?
#4 ? at ??:?
#5 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#6 ? at ??:?
Aborted (core dumped)



I use the Mesh from ICEM and I have changed the solver by myself. I wait for your help.



Yours
Qiming
shengqiming is offline   Reply With Quote

Old   October 7, 2016, 10:35
Default
  #2
Senior Member
 
Taher Chegini
Join Date: Nov 2014
Location: Houston, Texas
Posts: 125
Rep Power: 12
Taataa is on a distinguished road
There are many reasons that can cause this problem. It could be because of inappropriate schemes and solutions or even boundary conditions. Unless you prove more details, you will not get an answer.
Taataa is offline   Reply With Quote

Old   October 10, 2016, 08:22
Default
  #3
New Member
 
Sheng,Qiming
Join Date: Jul 2016
Posts: 13
Rep Power: 9
shengqiming is on a distinguished road
Quote:
Originally Posted by Taataa View Post
There are many reasons that can cause this problem. It could be because of inappropriate schemes and solutions or even boundary conditions. Unless you prove more details, you will not get an answer.
Hi Taataa. Thank you for your reply. I am dealing with a power transformer cooling system case. The oil will cool the conductor. I am using chtMultiRegionSimpleFoam. For the oil region the FvSolutions and FvSchemes are like this:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
p_rgh
{
solver GAMG;
tolerance 1e-7;
relTol 0.01;

smoother DIC;

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

maxIter 100;
}

"(U|h|e|k|epsilon)"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-6;
relTol 0.001;
}
}

SIMPLE
{
nNonOrthogonalCorrectors 2;
rhoMax rhoMax [ 1 -3 0 0 0 ] 1100;
rhoMin rhoMin [ 1 -3 0 0 0 ] 700;
}


relaxationFactors
{
fields
{
rho 1;
p_rgh 0.7;
}
equations
{
U 0.3;
"(h|e)" 0.1;
k 0.3;
epsilon 0.3;
}
}


// ************************************************** *********************** //


// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
default steadyState;
}

gradSchemes
{
default none;//Gauss linear;
grad(U) Gauss linear;
grad(p_rgh) Gauss linear;
grad(rho) Gauss linear;
grad(h) cellLimited Gauss linear 1.0;
}

divSchemes
{
default none;
div(phi,U) bounded Gauss upwind;
div(phi,h) bounded Gauss upwind;
div(phi,e) bounded Gauss upwind;
div(phi,K) bounded Gauss upwind;
div(phi,k) bounded Gauss upwind;
div(phi,epsilon) bounded Gauss upwind;
div((muEff*dev2(T(grad(U))))) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
default Gauss linear limited 1.0;
}

interpolationSchemes
{
default linear;
}

snGradSchemes
{
default limited 1.0;
}

fluxRequired
{
default no;
p_rgh;
}


// ************************************************** *********************** //

I used ICEM to create the geometry and mesh and some boundaries are symmetries. Looking forward to your help.
shengqiming is offline   Reply With Quote

Old   October 10, 2016, 10:00
Default
  #4
Senior Member
 
Join Date: Sep 2013
Posts: 353
Rep Power: 20
Bloerb will become famous soon enough
I have answered this question quite often. Check some of those responses. Your crash can occur for a multitude of reasons.
Use checkMesh -allGeometry -allTopology to check if there are reasons to suspect the mesh.

I will assume boundary condition and mesh are alright. The next thing one should do is changing to upwind schemes. Since you have done that:

chtMultiRegion is a solver that needs to be handled carefully. Most crashes with regards to thermo are related to bad initialization. Since pressure / temperature influence each other this can go wrong quickly if you have wrong values within the first iterations. This usually leads to temperatures falling below inlet temperature and a crash afterwards. The easiest way to combat this (next to the obvious ones like using a good mesh) is to initialize with an already solved velocity and pressure field from a calculation without temperature. Since you are solving a steady state case this shouldn't be a problem. If you are using a new openfoam version you can also use the fvOptions to limit or fix temperature and velocity on start up. There are other things to consider, but this is the main difficulty. Most often this occurs in combination with turbulence models (whose initial values are chosen poorly).
yuta and hogsonik like this.
Bloerb is offline   Reply With Quote

Old   October 10, 2016, 10:17
Default
  #5
New Member
 
Sheng,Qiming
Join Date: Jul 2016
Posts: 13
Rep Power: 9
shengqiming is on a distinguished road
Quote:
Originally Posted by Bloerb View Post
I have answered this question quite often. Check some of those responses. Your crash can occur for a multitude of reasons.
Use checkMesh -allGeometry -allTopology to check if there are reasons to suspect the mesh.

I will assume boundary condition and mesh are alright. The next thing one should do is changing to upwind schemes. Since you have done that:

chtMultiRegion is a solver that needs to be handled carefully. Most crashes with regards to thermo are related to bad initialization. Since pressure / temperature influence each other this can go wrong quickly if you have wrong values within the first iterations. This usually leads to temperatures falling below inlet temperature and a crash afterwards. The easiest way to combat this (next to the obvious ones like using a good mesh) is to initialize with an already solved velocity and pressure field from a calculation without temperature. Since you are solving a steady state case this shouldn't be a problem. If you are using a new openfoam version you can also use the fvOptions to limit or fix temperature and velocity on start up. There are other things to consider, but this is the main difficulty. Most often this occurs in combination with turbulence models (whose initial values are chosen poorly).
Hi Bloerb,
thanks for your quick reply. When i use the checkMesh command u mentioned above, it shows like the following:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = 0

Enabling all (cell, face, edge, point) topology checks.

Enabling all geometry checks.

Time = 0

Mesh stats
points: 385174
internal points: 0
edges: 961483
internal edges: 191139
internal edges using one boundary point: 0
internal edges using two boundary points: 191139
faces: 768172
internal faces: 383000
cells: 191862
faces per cell: 6
boundary patches: 16
point zones: 0
face zones: 5
cell zones: 5

Overall number of cells of each type:
hexahedra: 191862
prisms: 0
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 0

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.
<<Writing 4 cells with two non-boundary faces to set twoInternalFacesCells
Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
Patch Faces Points Surface topology Bounding box
fluid.side:008 1 4 ok (non-closed singly connected) (750 0 -100) (750.01 0.0647212 -100)
barriere.side:002 9 20 ok (non-closed singly connected) (845 0 465) (851 0.07882202 465)
mantel.base 11240 12386 ok (non-closed singly connected) (740 0 -100) (861 0 465)
fluid.base 106277 109489 ok (non-closed singly connected) (750 0 -100) (851 0 465)
isolation.base 13672 15423 ok (non-closed singly connected) (756 0 3) (845 0 465)
leiter.base 60160 63120 ok (non-closed singly connected) (756 0 24) (845 0 438)
barriere.base 513 620 ok (non-closed singly connected) (750 0 24) (851 0 465)
isolation.side 104 210 ok (non-closed singly connected) (756 0 465) (845 0.07798427 465)
isolation.top 13672 15423 ok (non-closed singly connected) (756 0.06555755 3) (845 0.07798427 465)
leiter.top 60160 63120 ok (non-closed singly connected) (756 0.06555755 24) (845 0.07798427 438)
mantel.side 1164 2332 ok (non-closed singly connected) (740 0 -100) (861 0.08021829 465)
mantel.top 11240 12386 ok (non-closed singly connected) (740 0.06332354 -100) (861 0.08021829 465)
barriere.top 513 620 ok (non-closed singly connected) (750 0.0647198 24) (851 0.07882202 465)
fluid.top 106277 109489 ok (non-closed singly connected) (750 0.0647198 -100) (851 0.07882202 465)
einlauf 141 284 ok (non-closed singly connected) (750.01 0 -100) (851 0.07882202 -100)
auslauf 29 60 ok (non-closed singly connected) (750 0 465) (756 0.06555755 465)

Checking geometry...
Overall domain bounding box (740 0 -100) (861 0.08021829 465)
Mesh (non-empty, non-wedge) directions (0 0 1)
Mesh (non-empty) directions (0 0 1)
***Number of edges not aligned with or perpendicular to non-empty directions: 698707
<<Writing 376000 points on non-aligned edges to set nonAlignedEdges
Boundary openness (1.042877e-18 1.49583e-14 3.058842e-18) OK.
Max cell openness = 6.663393e-16 OK.
Max aspect ratio = 1 OK.
Minimum face area = 0.0001636679. Maximum face area = 4.573593. Face area magnitudes OK.
Min volume = 1.059556e-05. Max volume = 0.3665665. Total volume = 4906.618. Cell volumes OK.
Mesh non-orthogonality Max: 86.75979 average: 27.87333
*Number of severely non-orthogonal (> 70 degrees) faces: 18523.
Non-orthogonality check OK.
<<Writing 18523 non-orthogonal faces to set nonOrthoFaces
Face pyramids OK.
Max skewness = 2.675886 OK.
Coupled point location match (average 0) OK.
Face tets OK.
Min/max edge length = 0.002543016 4.616543 OK.
All angles in faces OK.
Face flatness (1 = flat, 0 = butterfly) : min = 0.9999976 average = 1
All face flatness OK.
Cell determinant (wellposedness) : minimum: 1 average: 1
Cell determinant check OK.
Concave cell check OK.
Face interpolation weight : minimum: 0.00934411 average: 0.4262096
***Faces with small interpolation weight (< 0.05) found, number of faces: 1576
<<Writing 1576 faces with low interpolation weights to set lowWeightFaces
Face volume ratio : minimum: 0.00551306 average: 0.7648417
***Faces with small volume ratio (< 0.01) found, number of faces: 238
<<Writing 238 faces with low volume ratio cells to set lowVolRatioFaces

Failed 3 mesh checks.

End


Do you know where is wrong with the mesh? I can't find it although it says there are 3 fails.
shengqiming is offline   Reply With Quote

Old   October 10, 2016, 10:26
Default
  #6
Senior Member
 
Join Date: Sep 2013
Posts: 353
Rep Power: 20
Bloerb will become famous soon enough
Your mesh is unusable. Often these failure messages from -allTopology -allGeometry can be ignored and it will work nevertheless. In your case checkMesh fails without any of those. The problem is the non orthogonality.
While the average value is extremly good, your maximum value is highly questionable.
Max: 86.75979
A value above 90 means that your mesh is physically wrong. Your cells are inside out at that point. You need to lower that one is particular. You need to remesh! I'd throw away everything above 60 usually. You can choose limiters and such to get a result nevertheless but I'd remesh since your results won't be accurate otherwise.
Bloerb is offline   Reply With Quote

Old   October 10, 2016, 10:29
Default
  #7
New Member
 
Sheng,Qiming
Join Date: Jul 2016
Posts: 13
Rep Power: 9
shengqiming is on a distinguished road
Quote:
Originally Posted by Bloerb View Post
Your mesh is unusable. Often these failure messages from -allTopology -allGeometry can be ignored and it will work nevertheless. In your case checkMesh fails without any of those. The problem is the non orthogonality.
While the average value is extremly good, your maximum value is highly questionable.
Max: 86.75979
A value above 90 means that your mesh is physically wrong. Your cells are inside out at that point. You need to lower that one is particular. You need to remesh!
Dear Bloerb,

thanks a lot for your information ! I will remesh and try again.
shengqiming is offline   Reply With Quote

Old   October 10, 2016, 11:10
Default
  #8
New Member
 
Sheng,Qiming
Join Date: Jul 2016
Posts: 13
Rep Power: 9
shengqiming is on a distinguished road
Quote:
Originally Posted by Bloerb View Post
Your mesh is unusable. Often these failure messages from -allTopology -allGeometry can be ignored and it will work nevertheless. In your case checkMesh fails without any of those. The problem is the non orthogonality.
While the average value is extremly good, your maximum value is highly questionable.
Max: 86.75979
A value above 90 means that your mesh is physically wrong. Your cells are inside out at that point. You need to lower that one is particular. You need to remesh! I'd throw away everything above 60 usually. You can choose limiters and such to get a result nevertheless but I'd remesh since your results won't be accurate otherwise.
Dear Bloerb,

I use the Mesh from ICEM and this mesh is ok and can run good in ansys-cfx. To compare the results from both softwares, the mesh need to be the same. Can i solve this problem without change the mesh? Or i must do it. Thanks for your help.

Qiming
shengqiming is offline   Reply With Quote

Old   April 6, 2019, 14:01
Default
  #9
New Member
 
Kamgaing Rouxel
Join Date: Mar 2019
Posts: 6
Rep Power: 7
rouxel92 is on a distinguished road
Dear Qiming,
Have you finally solve your problem? i'm runing a simulation with the same solver but i got the same errors you've got in the past. Could you please help me?

Yours,
Rouxel.
rouxel92 is offline   Reply With Quote

Old   July 24, 2019, 09:56
Default
  #10
Senior Member
 
Raza Javed
Join Date: Apr 2019
Location: Germany
Posts: 183
Rep Power: 7
Raza Javed is on a distinguished road
Quote:
Originally Posted by Bloerb View Post
Your mesh is unusable. Often these failure messages from -allTopology -allGeometry can be ignored and it will work nevertheless. In your case checkMesh fails without any of those. The problem is the non orthogonality.
While the average value is extremly good, your maximum value is highly questionable.
Max: 86.75979
A value above 90 means that your mesh is physically wrong. Your cells are inside out at that point. You need to lower that one is particular. You need to remesh! I'd throw away everything above 60 usually. You can choose limiters and such to get a result nevertheless but I'd remesh since your results won't be accurate otherwise.

Hi,


Does making the cell size smaller helps in lowering the non-orthogonality?


I am also having non-orthogonality of around 86 degree.
Raza Javed is offline   Reply With Quote

Old   September 26, 2019, 12:18
Default Boundary Conditions
  #11
Member
 
Arthur
Join Date: Aug 2014
Location: Italy
Posts: 47
Rep Power: 11
Artur.Ant is on a distinguished road
In my case it was boundary conditions.
I solved the problem (no transitory) starting with lower difference of temperature between BCs and increasing it sofetly once the previous solution converged!
Artur.Ant is offline   Reply With Quote

Reply

Tags
iteration error


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
Foam::error::PrintStack almir OpenFOAM Running, Solving & CFD 91 December 21, 2022 04:50
[snappyHexMesh] Error snappyhexmesh - Multiple outside loops avinashjagdale OpenFOAM Meshing & Mesh Conversion 53 March 8, 2019 09:42
Floating point exception error lpz_michele OpenFOAM Running, Solving & CFD 53 October 19, 2015 02:50
Moving mesh Niklas Wikstrom (Wikstrom) OpenFOAM Running, Solving & CFD 122 June 15, 2014 06:20
Unstabil Simulation with chtMultiRegionFoam mbay101 OpenFOAM Running, Solving & CFD 13 December 28, 2013 13:12


All times are GMT -4. The time now is 16:50.