[CIG-SHORT] Linear Convergence Using SNES

Matthew Knepley knepley at mcs.anl.gov
Tue Sep 18 11:55:26 PDT 2012


On Tue, Sep 18, 2012 at 1:30 PM, Jeffrey Thompson <jeffremt at caltech.edu>wrote:

> Hi Cig-Short,
>
> I'm having an issue where I'm only able to achieve a slow rate of linear
> convergence using the nonlinear solver, resulting in prohibitively long run
> times.  I've attached a tarball with the relevant configuration, mesh, and
> spatialdb files to run my problem.
>
> The gist of the problem I'm trying run is an extension of the dyke-opening
> example in the manual, with a horizontal opening under the action of a
> constant pressure (normal traction) distribution between a viscoelastic and
> elastic layer.  This is a two dimensional model.  I'm using the following
> preconditioner scheme to insure rapid convergence of the linear solver (1-2
> iterations):
>
> [pylithapp.petsc]
> ksp_rtol = 1.0e-15
> pc_type = lu
> sub_pc_factor_shift_positive_definite = 0
> sub_pc_factor_shift_nonzero =
>
> fs_pc_type = fieldsplit
> fs_pc_fieldsplit_real_diagonal = true
> fs_pc_fieldsplit_type = schur
> fs_pc_fieldsplit_schur_factorization_type = full
>
> fs_fieldsplit_0_pc_type = lu
> fs_fieldsplit_0_ksp_type = preonly
> fs_fieldsplit_1_pc_type = jacobi
> fs_fieldsplit_1_ksp_type = gmres
> fs_fieldsplit_1_ksp_rtol = 1.0e-15
> fs_fieldsplit_2_pc_type = jacobi
> fs_fieldsplit_2_ksp_type = gmres
> fs_fieldsplit_2_ksp_rtol = 1.0e-15
> fs_fieldsplit_3_pc_type = jacobi
> fs_fieldsplit_3_ksp_type = gmres
> fs_fieldsplit_3_ksp_rtol = 1.0e-15
>
> log_summary = true
> ksp_max_it = 100
> ksp_gmres_restart = 50
> ksp_converged_reason = true
>
> snes_ls_monitor = true
> snes_rtol = 1.0e-8
> snes_atol = 1.0e-7
> snes_max_it = 10000
> snes_monitor = true
> snes_converged_reason = true
>
> However, as I mentioned earlier, the SNES residual only drops linearly
> with the default solving scheme past the first SNES iteration.  I've tried
> using different


If you  run it all the way to completion and never see superlinearity, this
usually means the Jacobian is singular at the solution.


> PETSc options for SNES, but none of the scheme I've tried had better
> results (and many were worse or never converged).  To summarize these
> attempts:
> NGMRES: did not converge (residual remained constant)
> NCG: Tried the 5 different flavours, all either diverged or never
> converged (bounced between a few residuals)
> other LINESEARCH options: none were as good as the default behavior
>

This is not surprising. They are intended to be used in conjunction with
Newton. Alone they tend to be worse.


> I've also tried different non-dimensionalization options and found a set
> that gives the optimal initial residual (i.e., the lowest value of SNES
> residual number 0).  It seems like for this problem, only the
> nondimensional length-scale directly impacts the SNES residual.
>
> The result of all of this is that I currently need around 800-1000
> non-linear iterations to converge on a single time-step at best.  I have a
> feeling that I must be doing something wrong, but I can't tell if this is a
> solver issue or some other type of problem (bad mesh, poorly defined
> boundary conditions, etc).  Any advice would be appreciated!
>

I will run the problem myself.

   Matt


>
> Thanks for the help!
> Jeff Thompson
> Caltech Seismolab
>
>
>
> _______________________________________________
> CIG-SHORT mailing list
> CIG-SHORT at geodynamics.org
> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://geodynamics.org/pipermail/cig-short/attachments/20120918/4cf842b0/attachment.htm 


More information about the CIG-SHORT mailing list