Page 1 of 1

ERROR:: Itersolve: Failed convergence tolerances

Posted: 18 Dec 2013, 17:32
by annier
Hi,
When i made the mesh finer
with
Initial Number of Segments to a Boundary = 11
to Final Number of Segement to the Boundary = 1000
almost 100 times finer mesh.
I faced this statements in the Solver Log File.

Code: Select all

ERROR:: IterSolve: Failed convergence tolerances.
This is the simulation with Coupling of Advection-Diffusion Solver with MeshSolver.

yours
annier

Re: ERROR:: Itersolve: Failed convergence tolerances

Posted: 18 Dec 2013, 17:38
by annier
The Mesh Update Solver has the following settings

Code: Select all

Solver 2
  Equation = Mesh Update
  Procedure = "MeshSolve" "MeshSolver"
  Variable = -dofs 2 Mesh Update
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-7
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStab
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-10
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 1
  Linear System Precondition Recompute = 1
End
Since in the solver log file, the message comes after the reading of MeshUpdate solver, should i change the tolerance setting or decrease the mesh fineness?

yours
annier

Re: ERROR:: Itersolve: Failed convergence tolerances

Posted: 18 Dec 2013, 17:47
by annier

Code: Select all

...
501 0.2496E-02
ERROR:: IterSolve: Failed convergence tolerances.
ComputeChange: NS (ITER=1) (NRM,RELC): ( 0.52658356E-04  2.0000000     ) :: mesh update
MeshSolve:  Result Norm   :   5.26583561113408311E-005
MeshSolve:  Relative Change :    2.0000000000000000
ComputeChange: SS (ITER=1) (NRM,RELC): ( 0.52658356E-04  2.0000000     ) :: mesh update

.
.
.
   497 0.3409E-05
     498 0.3429E-05
     499 0.3454E-05
     500 0.3345E-05
     501 0.3345E-05
ERROR:: IterSolve: Failed convergence tolerances.
ComputeChange: NS (ITER=1) (NRM,RELC): ( 0.64315314E-04 0.19930908     ) :: mesh update
MeshSolve:  Result Norm   :   6.43153136213277433E-005
MeshSolve:  Relative Change :   0.19930908445683038
ComputeChange: SS (ITER=2) (NRM,RELC): ( 0.64315314E-04 0.19930908     ) :: mesh update

Re: ERROR:: Itersolve: Failed convergence tolerances

Posted: 18 Dec 2013, 22:08
by raback
Hi,

You can increase number of iterations and decrease the linear system tolerance, or use better preconditioner, or experiment with different iterative methods. For 2D scalar problems the direct umfpack is often a good alternative too.

-Peter

Re: ERROR:: Itersolve: Failed convergence tolerances

Posted: 19 Dec 2013, 07:59
by annier
Hi Peter,
Thank you very much for the reply.
In accordance to your suggestion, i made the following change and it worked.

Code: Select all

Linear System Convergence Tolerance = 1.0e-5  !Previously it was 1.0e-10
And now this warning has not appeared.
Thank you.
yours
annier

Re: ERROR:: Itersolve: Failed convergence tolerances

Posted: 19 Dec 2013, 08:04
by annier
raback wrote: You can increase number of iterations and decrease the linear system tolerance, or use better preconditioner, or experiment with different iterative methods. For 2D scalar problems the direct umfpack is often a good alternative too.
Hi Peter,
Is increasing the number of iterations mean increasing Steady State Max Iterations.
i had previously set its value as

Code: Select all

Steady State Max Iterations = 4
Do i need to increase it more?
The default was 1.

or, do you mean
Nonlinear System Max Iterations or Linear System Max Iterations within the Mesh Update Solver?
yours
annier

Re: ERROR:: Itersolve: Failed convergence tolerances

Posted: 19 Dec 2013, 08:22
by annier
Hi Peter,
In the test case for fsi_beam, the mesh update solver has the following settings:

Code: Select all

Solver 3
  Equation = Mesh Update
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStab
  Linear System Preconditioning = ILU1
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-8
  Steady State Convergence Tolerance = 1.0e-6
End
is it not involving the non-liner system iterations?
yours
annier

Re: ERROR:: Itersolve: Failed convergence tolerances

Posted: 19 Dec 2013, 10:27
by raback
Hi

When you have problems in linear solvers as in the case of iterative ones:

Code: Select all

ERROR:: IterSolve: Failed convergence tolerances
The relavant keywords to experiment with are the ones with "Linear System ..." etc.

-Peter

Re: ERROR:: Itersolve: Failed convergence tolerances

Posted: 19 Jan 2015, 11:18
by annier
Hi,
When i performed in mesh for larger geometrical length, there was no error. When i reduced the scale via

Code: Select all

coordinate scaling =1.0e-4
, this error

Code: Select all

ERROR:: IterSolve: Failed convergence tolerances
appeared.
Solution :
I changed the

Code: Select all

Solver 1
...
Linear System Max Iterations = 350
...
End
to

Code: Select all

Solver 1
...
Linear System Max Iterations = 1000
...
End
Then there was no error.
Another Possibility,
Although, the error could be eliminated by changing

Code: Select all

Solver 1 
...
Linear System Convergence Tolerance = 1.0e-8
..
End 
to

Code: Select all

Solver 1 
...
Linear System Convergence Tolerance = 1.0e-4
..
End 
Doing this in this particular simulation gave some unrealistic temperature results.
However, this method needs to be implemented with reasonable assumption when "changing only number of linear system max iterations" don't cause the avoidance of the error.


I understood now the meaning of this quote
raback wrote:The relavant keywords to experiment with are the ones with "Linear System ..." etc.
.

Inference:
Hence, the possible solutions are:
1. Increasing the number of linear system max iterations.
2. Decreasing the value of linear system convergence tolerance.


Yours
Anil Kunwar