This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

Choices of preconditioners and linear solver options in SNES and NEWTON solver for instabilities

0 votes

Hi All,

I have been solving phase field fracture problems using FEnics and the code converges when there is a single instability occurring but i run into convergence problems when multiple instabilities occur simultaneously. My solver options are for phase field scalar variable is

snes_solver_parameters_bounds = {"nonlinear_solver": "snes",
#                          "reset_jacobian":True,
                          "symmetric": True,
                          "snes_solver": {"maximum_iterations": 500,
                                          "linear_solver": "cg",
                                          "preconditioner": "hypre_amg",
                                          "report": False,
                                          "line_search": "basic",
                                          "method":"vinewtonrsls",
                                          "absolute_tolerance":1e-5,
                                          "relative_tolerance":1e-5,
                                          "krylov_solver": {"absolute_tolerance":1e-5,
                                                            "relative_tolerance":1e-5},
                                          "lu_solver": {"reuse_factorization": False}}}

and for the displacement is

prm['newton_solver']['linear_solver'] = 'cg'
prm['newton_solver']['preconditioner'] = 'hypre_amg'
prm['newton_solver']['absolute_tolerance'] = 1E-3
prm['newton_solver']['relative_tolerance'] = 1E-3
prm['newton_solver']['maximum_iterations'] = 500
prm['newton_solver']['relaxation_parameter'] = 1.0

What is a good choice of solver options in such a scenario? Are there other preconditioners that I could try? I understand that this is a very general question, although I have been trying different solver options but I haven't been able to figure out what the best choice is. I would appreciate any help in this regard.

asked Mar 20, 2017 by kaushikv123 FEniCS Novice (390 points)
...