[CIG-SHORT] long-term simulation of subduction seismic cycles with rate and state friction law
Brad Aagaard
baagaard at usgs.gov
Mon Sep 9 10:28:24 PDT 2013
On 9/9/13 9:56 AM, Shaoyang Li wrote:
> Dear Brad,
>
> I am trying to apply RS friction law on subduction fault based on the 2d
> subduction mesh in Pylith/examples. As a test, I apply the
> velocity-weakening properties on seimogenic part of slab top interface
> and rest of the interface a creeping rate. I have problems:
>
> 1, the two faults on subduction interface have no common node. If the
> two faults beside each other, pylith can not read them and creat
> cohesive nodes. If I leave one node between the two faults, pylith can
> read and calculate. Why this can happen?
There are two issues here. (1) Creating faults that "meet" to form a
single fault is not currently feasible in PyLith. In rare circumstances
you can get lucky and the cohesive cells would be created in just the
right way that it would work, but this is not guaranteed. See the
diagram of how we form cohesive in our JGR paper
(http://onlinelibrary.wiley.com/doi/10.1002/jgrb.50217/abstract). We
continue to think about better ways to form cohesive cells to make this
robust and eliminate nonuniqueness. (2) This means it is not feasible to
drive a shallow fault with friction by deep constant prescribed creep.
The solution is to use a single fault with rate-state friction and
stable and unstable regions driven by boundary deformation. This should
be possible but is more difficult to setup.
> 2, Going on with one node left between two faults, I apply creeping
> velocity on deeper fault (the rest nodes of coseimic nodes on slab top
> interface) and slab bottom interface, and Columb friction on coseimic
> fault on slab top. It works. When I change the friction law into RS
> friction. Pylith calculates a while and gives errors:
>
> WARNING! Fault opening with nonzero traction., v_fault: 38, opening:
> 1.11594e-11, normal traction: -1.00349e-06
> mpinemesis: faults/FaultCohesiveDyn.cc:375: virtual void
> pylith::faults::FaultCohesiveDyn::integrateResidual(const
> pylith::topology::Field<pylith::topology::Mesh>&, PylithScalar,
> pylith::topology::SolutionFields*): Assertion `fabs(tractionNormal) <
> _zeroTolerance' failed.
> [0]0:Return code = 0, signaled with Aborted
>
> I use the mesh from the given example, it should have good quality. So I
> am very confused why this errors. I try to use gravity to constrain it
> and no help.
There are two things to notice here. (1) The normal traction is
compressive but very small. This can be alleviated by using
gravitational body forces, but you may also want to add a little
additional compressive traction right at the surface if you want it to
remain closed. Alternatively, you can allow opening at the surface. (2)
The fault opening is very small. You need to increase the
friction.zero_tolerance value so that such small values force the fault
to remain closed. This is due to the fact that quasi-static solutions
use iterative solvers. I recommend reviewing Session V from the June
workshop
(http://www.geodynamics.org/cig/community/workinggroups/short/workshops/cdm2013/agenda),
noting the discussion of tolerances.
Regards,
Brad
More information about the CIG-SHORT
mailing list