[CIG-SHORT] Nonlinear solve did not converge
Brad Aagaard
baagaard at usgs.gov
Wed Oct 22 11:27:47 PDT 2014
On 10/22/2014 10:12 AM, Marcelo Contreras wrote:
> Dear Brad,
>
> I´m following some examples that include laws friction for a 3D subduction
> model (interseismic). Using petsc parameter from example step13.cfg (Slip
> weakening) there is no convergence (linear).
What happens with the parameters from step13.cfg? Does the linear solve
residual blow up, decrease towards some constant value, or decrease but
it hits the maximum number of iterations?
Now with the folllowing parameters
> I have solution (see figura1.png attached)
> # ejemplo
> snes_view = true
> ksp_monitor_true_residual = true
> fs_pc_type = fieldsplit
> fs_pc_fieldsplit_schur_precondition = user
> fs_pc_fieldsplit_real_diagonal = true
> fs_pc_fieldsplit_type = schur
> fs_pc_fieldsplit_schur_factorization_type = full
> fs_fieldsplit_0_ksp_type = preonly
> fs_fieldsplit_0_pc_type = ml
> fs_fieldsplit_1_ksp_type = gmres
> fs_fieldsplit_1_ksp_rtol = 1.0e-05
> fs_fieldsplit_1_pc_type = jacobi
The field split in PyLith v2.0 uses names for the fields, not numbers,
so you would need:
> fs_fieldsplit_displacement_ksp_type = preonly
> fs_fieldsplit_displacement_pc_type = ml
> fs_fieldsplit_lagrange_multiplier_ksp_type = gmres
> fs_fieldsplit_lagrange_multiplier_ksp_rtol = 1.0e-05
> fs_fieldsplit_lagrange_multiplier_pc_type = jacobi
> # Convergence parameters.
> ksp_rtol = 1.0e-20
> ksp_atol = 1.0e-09
> ksp_max_it = 300
> ksp_gmres_restart = 50
See examples/3d/hex8/step14.cfg for tolerances. You need zero_tolerance
to be greater than the KSP atol and less than the SNES atol. You can
increase the values (multiply by 10 or even 100) but the relative sizes
should be the same as in step14.
> The problem stars when I activate "solver = pylith.problems.SolverNonlinear” the
> error is " Nonlinear solve did not converge”. Petsc parameters are: (Using
> parameters in step13.cfg didn’t work)
If you see this happening, you should turn on the monitoring of the
inner solves to diagnose things further. Matt can help you with this.
Regards,
Brad
More information about the CIG-SHORT
mailing list