SCEC TPV5

TPV5 is the first SCEC benchmark. It has spontaneous rupture on a vertical strike-slip fault in a homogeneous halfspace. There are slightly heterogeneous initial stress conditions. The earthquake rupture is artificially nucleated in a square zone at the center of the fault surface. The rupture then spontaneously propagates over the rest of the fault surface. As it propagates away from the nucleation zone, it encounters two square patches with initial stress conditions that are different from the rest of the fault surface.

Diagram of TPV5.

Diagram of TPV5. The central square patch is the nucleation zone, while pink and green patches with higher and lower initial stress than neighbour region, respectively.

Geometry

The fault within the three-dimensional medium is a vertical right-lateral strike-slip planar fault that resides in a half-space. The fault reaches the Earth’s surface. The rupture is allowed within a rectangular area that is 30000 m long \(\times\) 15000 m deep. The bottom boundary of and the right and left ends of the allowed 30000 m \(\times\) 15000 m rupture area are defined by a strength barrier. The nucleation point is centered both along-dip and along-strike of the 30000m \(\times\) 15000m rupture area, on the fault plane, at 15000m along-strike and 7500m depth.

The mesh is generated in GMSH. All the files that are needed for the simulation are provided.

1. The tpv5.geo file contains the geometry for the fault in a cubit region.

  1. Then the .geo file can be meshed by using:

$ gmsh tpv5.geo -3 -optimize -o tpv5.msh

  1. Then convert the .msh file to 3D Gambit neutral file

$ gmsh2gambit -i tpv5.msh -o tpv5.neu

The toolbox of gmsh2gambit is used for converting gmsh file to Gambit neutrual file. It can be found in SeisSol GitHub https://github.com/SeisSol/SeisSol/tree/master/preprocessing/meshing

  1. The 3D Gambit file can be converted to PUML format for LTS in latest version of SeisSol by:

$ pumgen tpv5.neu tpv5

The compilation and usage of PUMGen can be found in https://github.com/SeisSol/PUMGen/wiki and https://seissol.readthedocs.io/en/latest/ The geometry file (.geo) can be found in this repository.

We strongly recommend users to repeat the geometry and mesh generation processing. However, the generated mesh file (.h5) is also available through the link (https://syncandshare.lrz.de/dl/fiNdYwqvK8cdfM5h8uRZMv9e).

Diagram of fault geometry of TPV5.

Diagram of fault geometry of TPV5. The fault is 30000 m long and 15000 m wide. The square patch has a side-length of 3000m.

Parameters

Nucleation

Nucleation occurs because of the initial shear stress in a 3000 m \(\times\) 3000 m square nucleation patch is set to be higher than the initial static yield stress in that patch. Failure occurs everywhere on the fault plane, including in the nucleation patch, following a linear slip-weakening fracture criterion.

TPV5 uses a linear-slip weakening friction everywhere on the fault. There are ten parameters associated with the friction constitutive law and fault properties in the parameters.par. It can be found at https://github.com/daisy20170101/SeisSol_Cookbook/.

&equations
MaterialFileName = material.yaml
/

&IniCondition
/

&Boundaries
BC_fs = 1
BC_dr = 1                               ! Fault boundaries
BC_of = 1                               ! Absorbing boundaries
/

&DynamicRupture
FL = 2                    ! Friction law (0: none, 1:self-similar crack, 2:LSW, 3:RS (aging), 4:RS (slip))
ModelFileName = fault.yaml
GPwise = 1                  ! elementwise =0 ; GPwise =1

XRef = 0.0                  ! Reference point
YRef = -1.0e5 
ZRef = 0 

RF_output_on = 1            ! RF on      
OutputPointType = 5         ! Type (0: no output, 1: take GP's 2: 4 points per surface triangle, 3: output at certain pickpoints)
/

&Elementwise
printIntervalCriterion = 2      ! 1=iteration, 2=time
printtimeinterval_sec = 1.      ! Time interval at which output will be written
OutputMask = 1 1 1 1 1 1 1 1 1  1 ! output 1/ yes, 0/ no - position: 1/ slip rate 2/ stress 3/ normal velocity 4/ in case of rate and state output friction and state variable
!OutputMask =1 2 3 4 5 6 7 8 9 10 11 ! output 1/ yes, 0/ no - position: 1/ slip rate 2/ stress 3/ normal velocity 4/ in case of rate and state output friction and state variable
                               ! 5/ background values 6:/Slip
refinement_strategy = 2
refinement = 1
/

&Pickpoint
printtimeinterval = 1       ! Index of printed info at timesteps
OutputMask = 1 1 1 1      ! output 1/ yes, 0/ no - position: 1/ slip rate 2/ stress 3/ normal velocity 4/ in case of rate and state output friction and state variable
                            ! 5/ background values
nOutpoints = 9
PPFileName = 'FaultReceivers5.dat'
/



&SourceType
/

&SpongeLayer
/
            
&MeshNml
meshgenerator = 'PUML'       ! Name of meshgenerator (format)
MeshFile = 'mesh/tpv5_200m'             ! Name of mesh file
/

&Discretization
Order = 4                       ! Order of accuracy in space and time
Material = 1                         ! Material order
CFL = 0.5                            ! CFL number (<=1.0)
FixTimeStep = 5                      ! Manualy chosen minimum time

DGMethod = 1                         ! Local time stepping
!IterationCriterion = 1               ! Local time stepping synchronisation criterion
ClusteredLTS =2
/

&Output
OutputFile = 'output/tpv5'
iOutputMask = 1 1 1 1 1 1 1 1 1      ! Variables ouptut
iOutputMaskMaterial = 1 1 1          ! Material output
Format = 10                           ! Format (0=IDL, 1=TECPLOT, 2=IBM DX, 4=GiD))
!Interval = 100000                    ! Index of printed info at timesteps
TimeInterval = 0.25                   ! Index of printed info at time
printIntervalCriterion = 2           ! Criterion for index of printed info: 1=timesteps,2=time,3=timesteps+time
pickdt = 0.005                       ! Pickpoint Sampling
pickDtType = 1                       ! Pickpoint Type
FaultOutputFlag = 1                  ! DR output (add this line only if DR is active)
nRecordPoints = 6                   ! number of Record points which are read from file
RFileName = 'Receivers5.dat'      ! Record Points in extra file
!checkPointInterval = 1.5 ! Set to 0 to disable checkpointing
!checkPointBackend = 'posix' ! Either ’hdf5’, ’mpio’ or ’none’
/

/
            
&AbortCriteria
EndTime = 10.0
/

&Analysis
/

&Debugging

Four friction constitutive parameters are: mu_s, mu_d, d_c and cohesion. Six stress parameters are: s_xx, s_yy, s_zz, s_xy, s_xz, and s_yz. All the parameters are homogeneous on the fault except for the nucleation patch in the center of the fault, where s_xy is larger compared with that elsewhere. The parameters in TPV5 are listed in Table [table:tpv5].

Parameter Description Value Unit
mu_s static friction coefficient 0.677 dimensionless
mu_d dynamic friction coefficient 0.525 dimensionless
d_c critical distance 0.40 m
cohesion friction cohesion 0.0 MPa
s_yy stress 120 MPa
s_xx,s_zz,s_yz,s_xz stress 0 MPa
s_xy outside the nucleation zone 70 MPa
  inside the nucleation zone 81.6 MPa

Table: Table of LSR parameters on the fault in tpv5.

Notice that there are two patches with different initial stress: the one centered at (+7.5, -7.5) has 62 MPa and (-7.5, -7.5) has 78 MPa. This initial stress is included in the fault.yaml file.

Results

All examples here can be illustrated in Paraview (Detailed instruction can be found at ). The output folder contains a series of files for fault dynamic rupture (netcdf), wave filed (netcdf), receiver (.dat) and off-fault receivers (.dat). The fault dynamic rupture and wave filed files can be loaded in Paraview directly. For example, open Paraview and then go through File \(>>\) import \(>>\)prefix-fault.xdmf.

Fault slip rate in the along-strike direction

Fault slip rate in the along-strike direction (SRs) at 4 seconds in TPV5, illustrated in Paraview.

In the wave filed output file (prefix.xdmf, prefix_vertex.h5 and prefix_cell.hf), the variables are shown in Table [table:wavefield]

Index Parameter Description
1 U displacement in x-axis
2 V displacement in y-axis
3 W displacement in z-axis
4 u particular velocity in x-axis
5 v particular velocity in y-axis
6 w particular velocity in z-axis

Table: Table of wavefield output in SeisSol. Index denotes the position used in iOutputMask in SeisSol parameter file.

In the fault dynamics output file (prefix-fault.xdmf, prefix-fault_vertex,h5 and prefix-fault_cell,h5), the variables are shown in Table [table:faultout]

Index Parameter Description
1 SRs and SRd slip rates in strike and dip direction
2 T_s, T_d, P_n transient shear stress in strike and dip direction, transient normal stress
3 U_n normal velocity (note that there is no fault opening in SeisSol)
4 Mud, StV current friction and state variable in case of RS friction
5 Ts0,Td0,Pn0 total stress, including initial stress
6 Sls and Sld slip in strike and dip direction
7 Vr rupture velocity, computed from the spatial derivatives of the rupture time
8 ASl absolute slip
9 PSR peak slip rate
10 RT rupture time
11 DS only with LSW, time at which ASl \(>\) d_c

Table: Table of fault dynamic output in SeisSol. Index denotes the position used in iOutputMask in SeisSol parameter file.