[CIG-SHORT] Convergence issues for slip weakening friction

Charles Williams willic3 at gmail.com
Fri Jun 16 16:18:44 PDT 2017


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> 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 <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 <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/ <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/20170617/ba2034e6/attachment.html>


More information about the CIG-SHORT mailing list