[CIG-SHORT] PyLith Convergence issue - DIVERGED_FUNCTION_COUNT and CONVERGED_SNORM_RELATIVE

Brad Aagaard baagaard at usgs.gov
Fri Jun 23 07:00:03 PDT 2017


On 06/23/2017 06:24 AM, Josimar Alves da Silva wrote:
> Brad,
> 
> Just to let you know that I sorted it out this problem.
> 
> I set "open_free_surface=True" instead of False.  My understanding 
> regarding why it was not working is because I am applying tensile 
> tractions on the fault to balance out the normal stress, however this 
> could potentially cause a problem with the fault node that is on edge of 
> the domain (right side on the fault, on the interface between the 
> displacement BC and the zero displacement  BC of my geometry).  Do you 
> think this could potentially be the problem  ? I

Maybe. It is difficult to diagnose some of these issues without a better 
understanding of what you are trying to model. For example, I don't 
understand why you are applying tensile tractions. A simple sketch of 
what you are trying to model would help. We can talk about this at the 
workshop next week.

In setting up a new fault friction example, I may be encountering some 
similar issues to what you are finding related to rate- and 
state-friction and convergence issues for a through-going fault. I have 
several ideas on what the source of this might be, but need to do some 
more testing to zero in on the problem (I doubt I will be able to get to 
this before next week).

Regards,
Brad


> 
> I haven't changed anything on the solver parameterization. You can find 
> all the log files and the pylith_parameters.json file here: 
> https://www.dropbox.com/sh/by2vgqadgbsk1fs/AACENG_kCXygHa3dsdEyNAf-a?dl=0
> 
> thank you,
> Josimar
> 
> 
> On Thu, Jun 22, 2017 at 5:49 PM, Josimar Alves da Silva 
> <jsilva.mit at gmail.com <mailto:jsilva.mit at gmail.com>> wrote:
> 
>     Brad,
> 
>     Thanks for the remind. Here it is:
>     https://www.dropbox.com/sh/sxiburbvru670n3/AAD3sLLHVPp-E-FKo4oQwf23a?dl=0
>     <https://www.dropbox.com/sh/sxiburbvru670n3/AAD3sLLHVPp-E-FKo4oQwf23a?dl=0>
> 
>     thank you
>     Josimar
> 
>     On Thu, Jun 22, 2017 at 5:28 PM, Brad Aagaard <baagaard at usgs.gov
>     <mailto:baagaard at usgs.gov>> wrote:
> 
>         Josimar,
> 
>         Please send the pylith_parameters.json file that PyLith generates.
> 
>         Thanks,
>         Brad
> 
> 
>         On 06/22/2017 02:19 PM, Josimar Alves da Silva wrote:
> 
>             Matt,
> 
>             Thanks for the help. Here is the log file with more
>             information:
>             https://www.dropbox.com/s/qnpk055o9xg38j1/log.out?dl=0
>             <https://www.dropbox.com/s/qnpk055o9xg38j1/log.out?dl=0>
> 
>             Let me know if you need anything else.
> 
>             thank you,
>             Josimar
> 
>             On Thu, Jun 22, 2017 at 3:21 PM, Matthew Knepley
>             <knepley at rice.edu <mailto:knepley at rice.edu>
>             <mailto:knepley at rice.edu <mailto:knepley at rice.edu>>> wrote:
> 
>                  On Thu, Jun 22, 2017 at 12:10 PM, Josimar Alves da Silva
>                  <jsilva.mit at gmail.com <mailto:jsilva.mit at gmail.com>
>             <mailto:jsilva.mit at gmail.com <mailto:jsilva.mit at gmail.com>>>
>             wrote:
> 
>                      Matt,
> 
>                      Thank you so much for the help. I followed up on
>             your suggestions:
> 
>                      1) Using snes_max_funcs=10000 did not help. The
>             simulation does
>                      not go beyond iteration #5000. It stopped at the
>             same time step
>                      as the previous one.
> 
> 
>                  Note this has to be in the [petsc] section. Please add
>             snes_view.
>                  Then we can see exactly what the setting were.
>                  It would also be good to add snes_converged_reason
> 
>                  I looked at the log. It makes as much as progress as it
>             will ever
>                  make after 2 iterates, thus I think there
>                  is a problem with interplay of tolerances here.
> 
>                      2) Can you comment a little bit on how can I
>             improve my initial
>                      guess, as you mentioned here : "if your initial
>             guess is not
>                      good enough they can fail". What you mean about it ?
> 
> 
>                  I mean if you are taking time steps so big that the
>             last solution is
>                  not close to the next one, the solves will be harder.
> 
>                     Matt
> 
>                      The log file is attached.
> 
>                      thank you so much in advance,
>                      Josimar
> 
> 
> 
> 
>                      On Thu, Jun 22, 2017 at 11:33 AM, Matthew Knepley
>                      <knepley at rice.edu <mailto:knepley at rice.edu>
>             <mailto:knepley at rice.edu <mailto:knepley at rice.edu>>> wrote:
> 
>                          On Wed, Jun 21, 2017 at 6:25 PM, Josimar Alves
>             da Silva
>                          <jsilva.mit at gmail.com
>             <mailto:jsilva.mit at gmail.com> <mailto:jsilva.mit at gmail.com
>             <mailto:jsilva.mit at gmail.com>>> wrote:
> 
>                              Dear Brad, Matt and Charles,
> 
>                              I am working on a 2-D quasi-static,
>             elastic, simulation
>                              using rate and state friction model.
> 
>                              The simulation runs fine for many time
>             steps, then at
>                              some point I get the error below related to
>                              DIVERGED_FUNCTION_COUNT.
> 
>                              Nonlinear solve did not converge due to
>                              DIVERGED_FUNCTION_COUNT iterations 5000
> 
>                              All the log files, along with the .cfg
>             files, model
>                              geometry and boundary conditions as well as a
>                              convergence plot for the SNES residual can
>             be found on
>                              the attached .zip file.
> 
>                              I have some questions that I would like to
>             have your input:
> 
>                              1) Is it possible to extend the maximum
>             value for
>                              DIVERGED_FUNCTION_COUNT  ? Note that I have
>             snes_max_it
>                              =10000  but SNES still stops at 5000 value.
> 
> 
> 
>                          snes_max_funcs 10000
> 
>                              2) Looking at the convergence plots that I have
>                              attached, I noticed that the time step that
>             fails
>                              contains iterations that actually increase the
>                              residual,instead of decreasing it. Would
>             you know what
>                              is causing this behavior ?
> 
> 
>                          There is no guarantee of decrease with a
>             general nonlinear
>                          problem.
> 
>                              3) There are several time steps that
>             converge with
>                              tolerances smaller than what I ask for
>             using the
>                              snes_atol (see figure attached). At these
>             time steps I
>                              get the following
> 
>                              Line search: Aborted due to ynorm < stol*xnorm
>                              (9.933794721748e-10 < 1.046238089915e-09)
>             and inadequate
>                              full step.
> 
>                              Nonlinear solve converged due to
>                              CONVERGED_SNORM_RELATIVE iterations 694
> 
> 
>                          This means that even a very short step length
>             gave no
>                          residual decrease, also known as "stagnation".
>             Here is the
>                          nonlinear
>                          solver is just not working.
> 
>                          We have no convergence theory for the friction
>             problems, and
>                          if your initial guess is not good enough they
>             can fail. We
>                          want to explore
>                          more powerful solvers for these, but after we
>             get a revised
>                          formulation in place.
> 
>                            Thanks,
> 
>                               Matt
> 
>                              Note that I am using
>             snes_error_if_not_converged =true.
> 
>                              Could you please comment on why this is
>             happening and
>                              how I would fix this issue ? Does it affect
>             the next
>                              time steps after it ?
> 
>                              Let me know if you need any further
>             information.
> 
>                              Thank you so much for you help in advance,
>                              Best
>                              Josimar
> 
> 
> 
>                              _______________________________________________
>                              CIG-SHORT mailing list
>             CIG-SHORT at geodynamics.org <mailto:CIG-SHORT at geodynamics.org>
>             <mailto:CIG-SHORT at geodynamics.org
>             <mailto:CIG-SHORT at geodynamics.org>>
>             http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>             <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>
>                             
>             <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>             <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>>
> 
> 
> 
>                          _______________________________________________
>                          CIG-SHORT mailing list
>             CIG-SHORT at geodynamics.org <mailto:CIG-SHORT at geodynamics.org>
>             <mailto:CIG-SHORT at geodynamics.org
>             <mailto:CIG-SHORT at geodynamics.org>>
>             http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>             <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>
>                         
>             <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>             <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>>
> 
> 
> 
>                      _______________________________________________
>                      CIG-SHORT mailing list
>             CIG-SHORT at geodynamics.org <mailto:CIG-SHORT at geodynamics.org>
>             <mailto:CIG-SHORT at geodynamics.org
>             <mailto:CIG-SHORT at geodynamics.org>>
>             http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>             <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>
>                     
>             <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>             <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>>
> 
> 
> 
> 
>         _______________________________________________
>         CIG-SHORT mailing list
>         CIG-SHORT at geodynamics.org <mailto:CIG-SHORT at geodynamics.org>
>         http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>         <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>
> 
> 
> 



More information about the CIG-SHORT mailing list