[CIG-SHORT] Convergence issues for slip weakening friction

Charles Williams willic3 at gmail.com
Sun Jun 18 21:53:13 PDT 2017


Hi Ekaterina,

I’m not really an expert with the friction settings.  One thing to do is to force an error if the solution doesn’t converge:

[pylithapp.petsc]
ksp_converged_reason = true
ksp_error_if_not_converged = true

To save results to a log file, you would do something like:

pylith xxx.cfg > pylith-run.log 2>&1 &

This will redirect all output to the file pylith-run.log if you’re using bash.  I’ve forgotten what it should look like if you’re using tcsh.

Cheers,
Charles



> On 19/06/2017, at 4:35 PM, Ekaterina Bolotskaya <bolee at mit.edu> wrote:
> 
> 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 <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>
> From: CIG-SHORT [cig-short-bounces at geodynamics.org <mailto:cig-short-bounces at geodynamics.org>] on behalf of Charles Williams [willic3 at gmail.com <mailto:willic3 at gmail.com>]
> Sent: Friday, June 16, 2017 19:18
> To: cig-short at geodynamics.org <mailto: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 <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>
> _______________________________________________
> 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/20170619/a8887a1d/attachment-0001.html>


More information about the CIG-SHORT mailing list