Page 1 of 1
Help!Numerical Error:IterSolver Iterations:too many iterations were needed!
Posted: 15 Nov 2021, 16:44
by jeffjoy
The procedure can run before,but recently,I run the procedure in a new machine, it doesn't work,errors!
Who knows?please!Error !too many iterations were needed ! in the navier-Stokes equations!
Code: Select all
Solver 4
Equation = "Navier-Stokes"
Stabilization Method = String Stabilized
Flow Model = Stokes
Exported Variable 1 = -dofs 1 "dSdt"
Exported Variable 2 = -dofs 1 "dS"
Exported Variable 3 = -dofs 1 "ZbDEM"
Exported Variable 4 = -dofs 1 "ZsDEM"
Linear System Solver = Iterative
Linear System Iterative Method = BICGStab
Linear System Preconditioning = ILU0
Linear System Convergence Tolerance = Real 1.0e-4 !8
Linear System Max Iterations = 500
Linear System Residual Output = 500
Linear System Abort Not Converged = True
Nonlinear System Max Iterations = 50
Nonlinear System Convergence Tolerance = 1.0e-3 !5
Nonlinear System Newton After Iterations = 5
Nonlinear System Newton After Tolerance = 1.0e-02
Nonlinear System Relaxation Factor = 1.00
Steady State Convergence Tolerance = Real 1.0e-3
End
Re: Help!Numerical Error:IterSolver Iterations:too many iterations were needed!
Posted: 16 Nov 2021, 02:51
by raback
Hi
Try with better preconditioners, in fact you could use the IncompressibleNSVec module that comes with block preconditioner and it custom made for the glaciology community. Black-box cheap precondtioners do not work for all problems.
-Peter
PS. Please don't sent the same issue to multiple forums.
Re: Help!Numerical Error:IterSolver Iterations:too many iterations were needed!
Posted: 16 Nov 2021, 13:09
by jeffjoy
raback wrote: ↑16 Nov 2021, 02:51
Hi
Try with better preconditioners, in fact you could use the IncompressibleNSVec module that comes with block preconditioner and it custom made for the glaciology community. Black-box cheap precondtioners do not work for all problems.
-Peter
PS. Please don't sent the same issue to multiple forums.
Thank you!but i can't find the use of the IncompressibleNSVec module,how to use it,where have a case,please!I am a newer!
Re: Help!Numerical Error:IterSolver Iterations:too many iterations were needed!
Posted: 16 Nov 2021, 15:06
by raback
Hi
There is a whole portal dedicated to Elmer/Ice, you could start from dedicated course material therein, see
http://elmerice.elmerfem.org/courses-tutorials
-Peter
Re: Help!Numerical Error:IterSolver Iterations:too many iterations were needed!
Posted: 03 Dec 2021, 10:48
by jeffjoy
Hello,I use the 'incompressiveNV' to solve,it doesn't matter, even i set the Convergence Tolerence to 1.0e-1.
So,do you know?Thanks!
Code: Select all
Equation = "Stokes-Vec"
Procedure = "IncompressibleNSVec" "IncompressibleNSSolver"
Stokes Flow = logical true
Div-Curl Discretization = Logical False
Stabilization Method = String Stabilized
Exported Variable 1 = -dofs 1 "dSdt"
Exported Variable 2 = -dofs 1 "dS"
Exported Variable 3 = -dofs 1 "ZbDEM"
Exported Variable 4 = -dofs 1 "ZsDEM"
Linear System Solver = Iterative
Linear System Iterative Method = BiCGStab
Linear System Max Iterations = 1000
Linear System Preconditioning = ILU0
Linear System Convergence Tolerance = 1.0e-01 !8
Linear System Residual Output = 100
!Non-linear iteration settings:
!------------------------------
Nonlinear System Max Iterations = 20
Nonlinear System Convergence Tolerance = 1.0e-1 !5
Nonlinear System Newton After Iterations = 4
Nonlinear System Newton After Tolerance = 1.0e-1 ! 4
Nonlinear System Reset Newton = Logical True
Nonlinear System Abort Not Converged = Logical True
! Convergence on timelevel (not required here)
!---------------------------------------------
Steady State Convergence Tolerance = Real 1.0e-1 !3
Relative Integration Order = -1
!Number of Integration Points = Integer 44 ! 21, 28, 44, 64, ...
! 1st iteration viscosity is constant
Constant-Viscosity Start = Logical False
!! Timing infos
Bulk Assembly Timing = Logical True
Linear System Timing = Logical True
Linear System Timing Cumulative = Logical True
Re: Help!Numerical Error:IterSolver Iterations:too many iterations were needed!
Posted: 03 Dec 2021, 12:52
by raback
Hi
You're not using block preconditioning strategy. Take some inspiration from:
https://github.com/ElmerCSC/MLB
The *linsys* cases include variations of block preconditioner setting.
-Peter
Re: Help!Numerical Error:IterSolver Iterations:too many iterations were needed!
Posted: 09 Dec 2021, 05:03
by jeffjoy
hello, i have used the block preconditioning strategy in the IncompressibleNSVec,but i met a new error in the TemperateIceSolver,error in the picture,so should i put the block preconditioning strategy in the TemperateIceSolver and even the freesurfacesolver?
Code: Select all
Solver 4
Exec Solver = "Never"
Equation = "Stokes-Vec"
Procedure = "IncompressibleNSVec" "IncompressibleNSSolver"
Stokes Flow = logical true
Div-Curl Discretization = Logical False
Stabilization Method = String Stabilized
Exported Variable 1 = -dofs 1 "dSdt"
Exported Variable 2 = -dofs 1 "dS"
Exported Variable 3 = -dofs 1 "ZbDEM"
Exported Variable 4 = -dofs 1 "ZsDEM"
!Non-linear iteration settings: 8 5 4 3
!------------------------------
Nonlinear System Max Iterations = 1
Nonlinear System Convergence Tolerance = 1.0e-3
Nonlinear System Newton After Iterations = 10
Nonlinear System Newton After Tolerance = 1.0e-1
! Nonlinear System Relaxation Factor = 1.00
! Nonlinear System Reset Newton = Logical True
Linear System Residual Output = 0
include linsys/block4_4boomeramg.sif
!include linsys/block4_idrs.sif
! Convergence on timelevel (not required here)
!---------------------------------------------
Steady State Convergence Tolerance = Real 1.0e-3
!Relative Integration Order = -1
Number of Integration Points = Integer 44 ! 21, 28, 44, 64, ...
! 1st iteration viscosity is constant
Constant-Viscosity Start = Logical True
!! Timing infos
! Bulk Assembly Timing = Logical True
!Linear System Timing = Logical True
!Linear System Timing Cumulative = Logical True
End
Code: Select all
Solver 8
!Exec Solver = "Never"
Equation = String "Homologous Temperature Equation"
Procedure = File "ElmerIceSolvers" "TemperateIceSolver"
! Comment next line in parallel, as EliminateDirichlet does
! not work in parallel!
!------------------------------------------------------------
! Before Linsolve = "EliminateDirichlet" "EliminateDirichlet"
Variable = String "Temperature"
Stabilize = True
Optimize Bandwidth = Logical True
Linear System Solver = "Iterative"
Linear System Iterative Method = "GCR"
Linear System Max Iterations = 500
Linear System Convergence Tolerance = 1.0E-07
Linear System Abort Not Converged = False
Linear System Preconditioning = "ILU1"
Linear System Residual Output = 250
Nonlinear System Convergence Tolerance = 1.0E-06
Nonlinear System Max Iterations = 50
!Nonlinear System Relaxation Factor = Real 9.999E-01
Steady State Convergence Tolerance = 1.0E-03
! the contact algorithm (aka Dirichlet algorithm)
!-----------------------------------------------------
!Apply Dirichlet = Logical True
! those two variables are needed in order to store
! the relative or homologous temperature as well
! as the residual
!-------------------------------------------------
Exported Variable 1 = String "Temperature Homologous"
Exported Variable 1 DOFs = 1
Exported Variable 2 = String "Temperature Residual"
Exported Variable 2 DOFs = 1
Apply Dirichlet = True
End