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.