[CIG-SHORT] Convergence issues for slip weakening friction

Ekaterina Bolotskaya bolee at mit.edu
Sun Jun 18 21:35:52 PDT 2017


Dear Charles,

I've increased the SNES convergence parameters and I'm now having:
ksp_rtol = 1.0e-20
ksp_atol = 1.0e-12

snes_rtol = 1.0e-15
snes_atol = 2.0e-7

I've also adjusted the zero_tolerance to be = 5.0e-7

And I increased the slip weakening parameter in the spatialdb. It's now = 1e-5.

The solution is converging now and the results look ~fine to me but is it ok to have such a small difference between snes_atol, zero_tolerance and the slip weakening parameter?

Also I'm running pylith remotely through Putty, so I can't really see anything apart from the last couple of SNES iterations and the error itself after the simulation is done. Is there a way to make pylith write all the convergence history to a separate txt file? Just for the future record and for the current simulation if you are still interested in looking at the entire run log.

Thanks!


Best regards,
Ekaterina Bolotskaya

PhD in Geophysics,
Earth, Atmospheric and Planetary Science Department,
Massachusetts Institute of Technology
E-mail. bolee at mit.edu
Mob. +1 (857) 284-2805<tel:%2B1%20%28857%29%20284-2805>
         +7 (963) 995-36-33<tel:%2B7%20%28963%29%20995-36-33>
________________________________
From: CIG-SHORT [cig-short-bounces at geodynamics.org] on behalf of Charles Williams [willic3 at gmail.com]
Sent: Friday, June 16, 2017 19:18
To: cig-short at geodynamics.org
Subject: Re: [CIG-SHORT] Convergence issues for slip weakening friction

Dear Ekaterina,

Is your SNES solution converging before you hit the max number of iterations?  If so, how much reduction in the residual are you getting?  It’s possible that your SNES convergence criteria are too tight.  You can always increase the number of iterations, but I suspect that the SNES solution is not actually converging so that probably won’t help.  Also, what zero_tolerance are you setting for your fault?

If you run things again, please send us the entire run log and we may be able to diagnose things a bit more.

Cheers,
Charles


On 16/06/2017, at 5:41 PM, Ekaterina Bolotskaya <bolee at mit.edu<mailto:bolee at mit.edu>> wrote:

Dear Pylith developers,

I'm currently running a 2D simulation which is a 2m (height) by 3m (width) elastic block.
The block is initially compressed both vertically (2MPa) and horizontally (2MPa) and then sheared with a rate of 0.045 MPa/year for 100 years. Vertical displacement is fixed for all the boundaries: both horizontal and vertical.

The block has a horizontal fault in the middle which goes almost all the way to the edges of the block (2.98m - fault length).
I want to have an ~1m long section with a smaller friction coefficient (0.6) in the middle of the fault which would slip first and I want the slip to then propagate to the two side regions that initially had higher friction coefficient (0.8) but that should have same 0.6 coefficient once the slip started happening. I try to implement that using the slipweakening database.
I created a friction database that looks like that:

// -*- C++ -*- (tell Emacs to use C++ mode for syntax highlighting)
//
// This spatial database specifies the distribution of
// friction coefficient and cohesion along the fault

#SPATIAL.ascii 1
SimpleDB {
  num-values  = 4
  value-names = static-coefficient dynamic-coefficient slip-weakening-parameter cohesion
  value-units = none none m MPa
  num-locs    = 3
  data-dim    = 1    // locations form a line
  space-dim   = 2
  cs-data     = cartesian {
    to-meters = 1.0  // specify coordinates in m
space-dim = 2
  }
}

//  Columns are
// (1) x coordinate (m)
// (2) y coordinate (m)
// (3) static-coefficient (none)
// (4) dynamic-coefficient (none)
// (5) slip-weakening-parameter (m)
// (6) cohesion (MPa)

 -0.75    0.0    0.8   0.6    5e-6   0.0
   0.0    0.0    0.6   0.6    5e-6   0.0
  0.75    0.0    0.8   0.6    5e-6   0.0

that I call like that:
friction = pylith.friction.SlipWeakening
friction.label = Slip weakening friction
#friction.force_healing = True

# We must define the quadrature information for fault cells.
# The fault cells are 1D (surface).
quadrature.cell = pylith.feassemble.FIATSimplex
quadrature.cell.dimension = 1

friction.db_properties = spatialdata.spatialdb.SimpleDB
friction.db_properties.label = Slip weakening friction
friction.db_properties.iohandler.filename = spatialdb/friction_slip_weak.spatialdb
#friction.db_properties.query_type = linear

My convergence parameters are:
ksp_rtol = 1.0e-20
ksp_atol = 1.0e-12

snes_rtol = 1.0e-20
snes_atol = 1.0e-10

The simulation runs fine before the weakening part starts (the slip of the side regions becomes larger than the slip-weakening-parameter. And then I'm getting the following error:

2000 SNES Function norm 1.248115112027e-07
Nonlinear solve did not converge due to DIVERGED_MAX_IT iterations 2000
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR:
[0]PETSC ERROR: SNESSolve has not converged
[0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
[0]PETSC ERROR: Petsc Development GIT revision: v3.7.2-876-g7e45237  GIT Date: 2016-06-16 04:41:50 -0500
[0]PETSC ERROR: /home/bolee/pylith-2.1.3-linux-x86_64/bin/mpinemesis on a arch-pylith named terrella by bolee Wed Jun 14 22:42:40 2017
[0]PETSC ERROR: Configure options --prefix=/home/jenkins-slave/workspace/PyLith-binary-petsc/tag_arch/64bit/tag_os/centos/dist --with-mpi= --with-c2html=no --with-x=no --with-hwloc=0 --with-ssl=0 --with-debugging=0 --with-shared-libraries=1 --with-mpi-compilers=1 --download-fblaslapack=1 --with-chaco=1 --download-chaco=1 --with-parmetis=1 --download-parmetis=1 --download-metis=1 --with-ml=1 --download-ml=1 --wth-hdf5=1 --with-hdf5-dir= PETSC_DIR=/home/jenkins-slave/workspace/PyLith-binary-petsc/tag_arch/64bit/tag_os/centos PETSC_ARCH=arch-pylith CPPFLAGS=-I/home/jenkins-slave/workspace/PyLith-binary-petsc/tag_arch/64bit/tag_os/centos/dist LDFLAGS=-L/home/jenkins-slave/workspace/PyLith-binary-petsc/tag_arch/64bit/tag_os/centos/dist/lib
[0]PETSC ERROR: #1 SNESSolve() line 4020 in /home/jenkins-slave/workspace/PyLith-binary-petsc/tag_arch/64bit/tag_os/centos/src/snes/interface/snes.c
[0]PETSC ERROR: #2 SNESLogConvergenceHistory() line 152 in /home/jenkins-slave/workspace/PyLith-binary/tag_arch/64bit/tag_os/centos/libsrc/pylith/problems/SolverNonlinear.cc<http://solvernonlinear.cc/>

I've tried running the same simulation with just a uniform db:

friction = pylith.friction.SlipWeakening
friction.label = Slip weakening friction
#friction.force_healing = True

# We must define the quadrature information for fault cells.
# The fault cells are 1D (surface).
quadrature.cell = pylith.feassemble.FIATSimplex
quadrature.cell.dimension = 1

friction.db_properties = spatialdata.spatialdb.UniformDB
friction.db_properties.label = Slip weakening
friction.db_properties.values = [static-coefficient,dynamic-coefficient,slip-weakening-parameter,cohesion]
friction.db_properties.data = [0.8,0.6,5e-6*m,0.0*Pa]

I've tried decreasing the shearing rates down to 0.01MPa/year.
I've tried adjusting the nonlinear convergence parameters:
snes_rtol = 1.0e-13
snes_atol = 1.0e-8

And I'm still getting the same error.

Could you please tell me what might be wrong?
Let me know if I should send you the whole code.
Thanks!


Best regards,
Ekaterina Bolotskaya

PhD in Geophysics,
Earth, Atmospheric and Planetary Science Department,
Massachusetts Institute of Technology
E-mail. bolee at mit.edu<mailto:bolee at mit.edu>
Mob. +1 (857) 284-2805<tel:%2B1%20%28857%29%20284-2805>
         +7 (963) 995-36-33<tel:%2B7%20%28963%29%20995-36-33>
_______________________________________________
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

Charles Williams I Geodynamic Modeler
GNS Science I Te Pῡ Ao
1 Fairway Drive, Avalon 5010, PO Box 30368, Lower Hutt 5040, New Zealand
Ph 0064-4-570-4566 I Mob 0064-22-350-7326 I Fax 0064-4-570-4600
http://www.gns.cri.nz/ I Email: C.Williams at gns.cri.nz<mailto:your.email at gns.cri.nz>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/cig-short/attachments/20170619/5516f96c/attachment-0001.html>


More information about the CIG-SHORT mailing list