of 17
SEAS Benchmark Problem BP4-QD
Brittany Erickson and Junle Jiang
December 23, 2019
Benchmark problem BP4 is for a three-dimensional (3D) extension of BP1 to a problem in
a whole-space (quasi-dynamic approximation is still assumed), although some parameters
are changed to make the computations more feasible. The model size, resolution, initial and
boundary conditions, and model output are designed specifically for 3D problems.
1 3D Problem Setup
The medium is assumed to be a homogeneous, isotropic, linear elastic whole-space defined
by
x
R
3
with
x
3
as positive downward. A vertical, strike-slip fault is embedded at
x
1
= 0, see Figure
1. We assume 3D motion, letting
u
i
=
u
i
(
x
,t
)
,i
= 1
,
2
,
3 denote the displacement in the
i
-direction. Motion is governed by the equilibrium equation
0
=
∇·
σ
(1)
in
R
3
. Hooke’s law relates stresses to strains by
σ
ij
=
K
kk
δ
ij
+ 2
μ
(

ij
1
3

kk
δ
ij
)
(2)
for bulk modulus
K
and shear modulus
μ
. The strain-displacement relations are given by

ij
=
1
2
[
∂u
i
∂x
j
+
∂u
j
∂x
i
]
.
(3)
2 Boundary and Interface Conditions
At
x
1
= 0, the fault defines the interface and we supplement equations (1)–(3) with six
interface conditions. We use the notation “+” and “
” to refer to the side of the fault with
x
1
positive, and
x
1
negative, respectively. We assume a “no-opening condition”, namely that
u
1
(0
+
,x
2
,x
3
,t
) =
u
1
(0
,x
2
,x
3
,t
)
,
(4)
and define the slip vector
s
j
(
x
2
,x
3
,t
) =
u
j
(0
+
,x
2
,x
3
,t
)
u
j
(0
,x
2
,x
3
,t
)
, j
= 2
,
3
,
(5)
1
2
W
f
3D particle
motion
whole-space
homogeneous, linear elastic bulk
VW
VS
2
H
2D RSF fault
l
h
h
x
1
x
2
x
3
w
i
h
i
V
p
V
p
Figure 1: This benchmark considers 3D motion with a planar fault embedded vertically in a homogeneous,
linear elastic whole-space. The fault is governed by rate-and-state friction in the region
W
f
x
3
W
f
outside of which it creeps at an imposed constant horizontal rate
V
p
. There is a velocity-weakening patch
(green) in the rectangle
H
x
3
H,
l/
2
x
2
l/
2, surrounded by a transition zone (yellow) of width
h
to velocity-strengthening (blue).
i.e. the jump in horizontal and vertical displacements across the fault, with right-lateral
motion yielding positive values of
s
2
. Positive values of
s
3
occur when the + side of fault
moves in the positive
x
3
-direction and the
side moves in the negative
x
3
-direction.
We require that components of the traction vector be equal and opposite across the fault,
which yields the three conditions
σ
11
(0
+
,x
2
,x
3
,t
) =
σ
11
(0
,x
2
,x
3
,t
)
,
(6a)
σ
21
(0
+
,x
2
,x
3
,t
) =
σ
21
(0
,x
2
,x
3
,t
)
,
(6b)
σ
31
(0
+
,x
2
,x
3
,t
) =
σ
31
(0
,x
2
,x
3
,t
)
,
(6c)
and denote the common values by
σ
n
(positive in compression),
τ
and
τ
z
(respectively), i.e.
the normal traction and two components of shear traction. Note that positive values of
τ
denote stress that tends to cause right-lateral faulting and positive values of
τ
z
denote stress
that tends to cause the + side of the fault to move downward (in the positive
x
3
direction)
and the
side to move in the negative
x
3
-direction.
In addition to conditions (4) and (6), the last two interface conditions are domain depen-
dent. We define the slip velocity vector
V
in terms of the components
V
j
= ̇
s
j
, j
= 2
,
3
,
(7)
2
letting
V
=
||
V
||
denote the norm of the vector. The vector of shear stresses due to quasi-
static deformation is given by
τ
qs
=
[
τ
τ
z
]
.
(8)
Within the domain (
x
2
,x
3
)
f
= (
−∞
,
)
×
(
W
f
, W
f
) we impose rate-and-state friction
where shear stress on the fault is equal to fault strength
F
, namely
τ
=
F
(
V
)
,
(9)
where
τ
=
τ
0
+
τ
qs
η
V
is the sum of the prestress, the shear stress due to quasi-static
deformation, and the radiation damping approximation to inertia, where
η
=
μ/
2
c
s
is half
the shear-wave impedance for shear wave speed
c
s
=
μ/ρ
and density
ρ
. The fault strength
F
= ̄
σ
n
f
(
V,θ
)
V
V
,
(10)
where
θ
is the state variable and ̄
σ
n
=
σ
n
p
(the effective normal stress on the fault) for
pore-pressure
p
.
θ
evolves according to the aging law
dt
= 1
V θ
L
,
(11)
where
L
(denoted
D
c
in BP1 and BP2) is the critical slip distance. The friction coefficient
f
is given by a regularized formulation
f
(
V,θ
) =
a
sinh
1
[
V
2
V
0
exp
(
f
0
+
b
ln(
V
0
θ/L
)
a
)]
(12)
for reference friction coefficient
f
0
, reference slip rate
V
0
, and rate-and-state parameters
a
and
b
. For this benchmark,
b
is constant as
b
0
and
a
varies throughout Ω
f
in order to define
the velocity-weakening/strengthening regions (see Figure 1) as follows:
a
(
x
2
,x
3
) =
a
0
,
(
|
x
3
|≤
H
)
(
|
x
2
|≤
l/
2)
a
max
,
(
H
+
h
≤|
x
3
|
< W
f
)
(
l/
2 +
h
≤|
x
2
|
<
)
a
0
+
r
(
a
max
a
0
)
,
else
(13)
where
r
= max(
|
x
3
|−
H,
|
x
2
|−
l/
2)
/h
.
Outside the domain Ω
f
(i.e.
|
x
3
|
> W
f
) the fault creeps horizontally at an imposed
constant rate, given by the interface conditions
V
2
(
x
2
,x
3
,t
) =
V
p
,
(14a)
V
3
(
x
2
,x
3
,t
) = 0
,
(14b)
where
V
p
is the plate rate.
3 Initial Conditions and Simulation Time
Initial conditions on slip and the state variable are required. We consider that slip is initially
zero everywhere in the domain, i.e.
s
j
(
x
2
,x
3
,
0) = 0
, j
= 2
,
3
.
(15)
3
Since slip on a fault separating identical materials does not alter the normal traction,
σ
n
remains constant. The initial state on the fault is chosen so that the model can start with
a uniform slip velocity and pre-stress, given by
V
=
[
V
init
V
zero
]
,
(16)
where
V
zero
is chosen as 10
20
m/s to avoid infinite log(
V
3
) in data output, and
τ
0
=
τ
0
·
V
/V.
(17)
The scalar pre-stress
τ
0
corresponds to the steady-state stress at the slip rate
V
init
within
each region, namely
θ
(
x
2
,x
3
,
0) =
L/V
init
.
(18)
and
τ
0
= ̄
σ
n
a
sinh
1
[
V
init
2
V
0
exp
(
f
0
+
b
ln(
V
0
/V
init
)
a
)]
+
ηV
init
,
(19)
To break the symmetry of the problem and facilitate comparisons of different simulations,
we choose a square region with width
w
i
, at the lower-left corner of the VW region with an
offset of
h
i
, as a favorable location for nucleation of the first seismic event. For this purpose,
we impose a higher slip rate along the
x
2
-direction (
V
i
= 1 mm/s) within this region while
keeping the state variable
θ
(
x
2
,x
3
,
0) unchanged, which means that a higher pre-stress along
the
x
2
-direction is also required:
τ
0
i
= ̄
σ
n
a
sinh
1
[
V
i
2
V
0
exp
(
f
0
+
b
ln(
V
0
/V
init
)
a
)]
+
ηV
i
.
Equations (1)–(3), along with interface conditions (4), (6), (9), (14), and initial conditions
(15), (16), (18), (19) are solved over the time period 0
t
t
f
, where
t
f
is a specified final
simulation time. All necessary parameter values for this benchmark problem are given in
Table 1.
Because computational efficiency for 3D problems demands a large cell size, we have
changed some model parameters from BP1 in order to resolve relevant physical length scales.
At a rupture speed of 0
+
, the quasi-static process zone, Λ
0
, is expressed as:
Λ
0
=
C
μL
b
̄
σ
n
,
(20)
where C is a constant on the order of 1. Another important length scale, the nucleation zone
size,
h
, is expressed as:
h
=
π
2
μbL
(
b
a
)
2
̄
σ
n
.
(21)
With the provided model values, the process zone Λ
0
and
h
are nearly uniform within the
VW region, with a size of
2.0 km and
12.4 km, respectively (
h
is about 40% of the
width of the VW zone).
We suggest using a cell size of ∆
z
= 500 m for the simulations; results from simulations
using smaller, if feasible, or larger cell sizes are welcome. For a cell size of 500 m, Λ
0
is resolved by
4 grid points and
h
by
25 grid points. For methods that use multiple
degrees of freedom along cell edges/faces, please take ∆
z
= edge length / number of unique
degrees of freedom. For instance, for a high-order finite element method, if
h
is the edge
length and
N
the polynomial order then ∆
z
=
h/N
.
4
Table 1: Parameter values used in this benchmark problem
Parameter
Definition
Value, Units
ρ
density
2670 kg/m
3
c
s
shear wave speed
3
.
464 km/s
ν
Poisson’s ratio
0
.
25
a
0
rate-and-state parameter
0
.
0065
a
max
rate-and-state parameter
0
.
025
b
0
rate-and-state parameter
0
.
013
̄
σ
n
effective normal stress
50 MPa
L
critical slip distance
0
.
04 m
V
p
plate rate
10
9
m/s
V
init
initial slip rate
10
9
m/s
V
0
reference slip rate
10
6
m/s
f
0
reference friction coefficient
0
.
6
H
half-width of uniform VW region
15 km
l
length of uniform VW region
60 km
h
width of VW-VS transition zone
3 km
W
f
half-width of rate-and-state fault
40 km
z
suggested cell size
500 m
t
f
final simulation time
1500 years
w
i
width of favorable nucleation zone
12 km
h
i
distance of nucleation zone to SZ boundary
1
.
5 km
5
4 Benchmark Output
We request five types of data output for this benchmark:
(1) On-fault time series (section 4.1)
(2) Source parameter time series (section 4.2)
(3) Earthquake catalog (section 4.3)
(4) Slip and stress evolution profile (section 4.4)
(5) Rupture time contour for first event (section 4.5)
The location information relevant to these outputs are shown in Fig. 2. Data files for (1),
(2) and (5) are uploaded to the SCEC code verification web server:
http://scecdata.usc.edu/cvws/cgi-bin/seas.cgi
.
Information on how to share output (3) and (4) is detailed in sections 4.3 and 4.4.
VW
VS
2D RSF fault
x
1
x
2
x
3
Figure 2: Observational points, lines, and region for model outputs. Local time series is output at on-fault
observational points (red). Slip and stress evolution are output along two cross-section profiles (orange).
The rectangular region outlined in red is used for estimating source parameter time series and rupture time
contour. Dashed lines mark boundaries of different fault areas shown in Figure 1.
6
4.1 On-fault Time Series Output
You need to upload on-fault (
x
1
= 0) time series files, which give slip components
s
2
and
s
3
,
base 10 log of the components of slip rate
V
2
and
V
3
, base 10 log of the state variable (i.e.
log
10
(
θ
)), and shear stress components
τ
and
τ
z
, for each on-fault station at representative
time steps. We define the simulation periods as either aseismic (when max(
V
)
<
10
3
m/s,
where max(
V
) is the maximum of the norm of the slip velocity vector over the entire fault)
or seismic (when max(
V
)
10
3
m/s). When outputting modeling results, use larger time
intervals (e.g.,
0.1 yr) during aseismic periods and smaller time intervals (e.g.,
0.1 s)
during seismic periods. More variable time steps are OK. Please keep the total number of
time steps in the data file on the order of 10
4
–10
5
.
Time series data is supplied as ASCII files, one file for each station. There are 14 stations
in total, as follows:
1.
fltst
strk-360dp+000
:
x
2
=
36
.
0
,x
3
= +0
.
00 km
2.
fltst
strk-225dp-750
:
x
2
=
22
.
5
,x
3
=
7
.
50 km
3.
fltst
strk-165dp-120
:
x
2
=
16
.
5
,x
3
=
12
.
0 km
4.
fltst
strk-165dp+000
:
x
2
=
16
.
5
,x
3
= +0
.
00 km
5.
fltst
strk-165dp+120
:
x
2
=
16
.
5
,x
3
= +12
.
0 km
6.
fltst
strk+000dp-210
:
x
2
= +0
.
00
,x
3
=
21
.
0 km
7.
fltst
strk+000dp-120
:
x
2
= +0
.
00
,x
3
=
12
.
0 km
8.
fltst
strk+000dp+000
:
x
2
= +0
.
00
,x
3
= +0
.
00 km
9.
fltst
strk+000dp+120
:
x
2
= +0
.
00
,x
3
= +12
.
0 km
10.
fltst
strk+000dp+210
:
x
2
= +0
.
00
,x
3
= +21
.
0 km
11.
fltst
strk+165dp-120
:
x
2
= +16
.
5
,x
3
=
12
.
0 km
12.
fltst
strk+165dp+000
:
x
2
= +16
.
5
,x
3
= +0
.
00 km
13.
fltst
strk+165dp+120
:
x
2
= +16
.
5
,x
3
= +12
.
0 km
14.
fltst
strk+360dp+000
:
x
2
= +36
.
0
,x
3
= +0
.
00 km
Each time series has 8 data fields, as follows.
Field Name
Description, Units and Sign Convention
t
Time (s)
slip
2
Horizontal component of slip (m). Positive for right-lateral motion.
slip
3
Vertical component of slip (m). Positive for + side moving downward.
slip
rate
2
log
10
of the amplitude of the horizontal component of slip-rate (log
10
m/s),
which is positive for right-lateral motion.
slip
rate
3
log
10
of the amplitude of the vertical component of slip-rate (log
10
m/s), which
is positive for + side moving downward.
shear
stress
2
Horizontal component of shear stress (MPa), which is positive for shear stress
that tends to cause right-lateral motion.
shear
stress
3
Vertical component of shear stress (MPa), which is positive for shear stress
that tends to cause + side to move downward.
state
log
10
of state variable (log
10
s).
The on-fault time series file consists of three sections, as follows:
7
File Section
Description
File Header
A series of lines, each beginning with a # symbol, that give the following information:
Benchmark problem (No.4)
Code name
Code version (optional)
Modeler
Date
Node spacing or element size
Station location
Minimum time step (optional)
Maximum time step (optional)
Number of time steps in file (optional)
Anything else you think is relevant (optional)
Descriptions of data columns (8 lines)
Anything else you think is relevant
Field List
A single line, which lists the names of the 8 data fields, in column order, separated
by spaces. It should be:
t slip
2 slip
3 slip
rate
2 slip
rate
3 shear
stress
2 shear
stress
3
state
(all on one line).
The server examines this line to check that your file contains the correct data fields.
Time History
A series of lines. Each line contains 8 numbers, which give the data values for a
single time step. The lines must appear in order of increasing time.
Make sure to use double-precision when saving all fields
.
C/C++ users:
We recommend using 21.13E or 21.13e floating-point format for
the time field and 14.6E or 14.6e format for all other data fields.
Fortran users:
We recommend using E22.14 or 1PE22.13 floating-point format for
the time field and E15.7 or 1PE15.6 format for other data fields. The server accepts
most common numeric formats. If the server cannot understand your file, you will
see an error message when you attempt to upload the file.
Here is an example of an on-fault time-series file, with invented data.
# This is the file header:
# problem=SEAS Benchmark No.4
# code=MYcode
# version=1.0
# modeler=A.Modeler
# date=2019/12/01
# element
size=500 m
# location= on fault, 0km along strike, 7.2km depth
# minimum
time
step=0.1
# maximum
time
step=3.157e6
# num
time
steps=2400
# Column #1 = Time (s)
# Column #2 = Slip
2 (m)
# Column #3 = Slip
3 (m)
# Column #4 = Slip
rate
2 (log10 m/s)
# Column #5 = Slip
rate
3 (log10 m/s)
# Column #6 = Shear
stress
2 (MPa)
8
# Column #7 = Shear
stress
3 (MPa)
# Column #8 = State (log10 s)
# The line below lists the names of the data fields
t slip
2 slip
3 slip
rate
2 slip
rate
3 shear
stress
2 shear
stress
3 state
# Here is the time-series data.
0.000000E+00 0.000000E+00 -9.000000E+00 3.000000E+01 7.000000E+00 ...
5.000000E-02 0.000000E+00 -9.000000E+00 3.000000E+01 7.000000E+00 ...
1.000000E-01 0.000000E+00 -9.000000E+00 3.000000E+01 7.000000E+00 ...
1.500000E-01 0.000000E+00 -9.000000E+00 3.000000E+01 7.000000E+00 ...
# ... and so on.
4.2 Source Parameter Time Series Output
You need to upload a file named
global.dat
, which includes time series of two global source
variables, maximum amplitude of slip rates
V
max
= max
(
x
2
,x
3
)
A
V
and moment rates
M
t
=
A
μV dA
for the domain
A
that surrounds the velocity-weakening patch plus twice the transition zone
width in every direction, i.e. (
|
x
2
|≤
l/
2 + 2
h
)
(
|
x
3
|≤
H
+ 2
h
) (shown in Fig. 2). Upload
data corresponding to the same time steps you used for section 4.1.
Here is an example of a source parameter time-series file, with invented data.
# This is the file header:
# problem=SEAS Benchmark No.4
# code=MYcode
# version=1.0
# modeler=A.Modeler
# date=2019/12/01
# element
size=500 m
# location= VW patch + transition zone
# minimum
time
step=0.1
# maximum
time
step=3.157e6
# num
time
steps=2400
# Column #1 = Time (s)
# Column #2 = Max
slip
rate (log10 m/s)
# Column #3 = Moment
rate (N-m/s)
# The line below lists the names of the data fields
t max
slip
rate moment
rate
# Here is the time-series data.
0.000000E+00 0.000000E+00 -9.000000E+00
5.000000E-02 0.000000E+00 -9.000000E+00
9
1.000000E-01 0.000000E+00 -9.000000E+00
1.500000E-01 0.000000E+00 -9.000000E+00
# ... and so on.
4.3 Earthquake Catalog Output
The earthquake catalog output file with a name
catalog.dat
is a single ASCII file that
includes characteristics of all seismic events in the simulation. We define an event to start
when the maximum slip rate exceeds 10
3
m/s, and to be over when maximum slip rate dips
below 10
3
m/s for a time duration of at least 10 seconds (to avoid inaccurate estimate of
event termination in the presence of slip rate fluctuation at the end of rupture). For each
earthquake in the 1500-year simulation period, the file contains the event number, the event
initiation time, event termination time, the total rupture area
R
, average stress in the rup-
ture area
τ
avg
at the beginning and end of the event (so stress drops can be computed from
the two values), and the average coseismic slip in the rupture area
s
avg
.
We consider the rupture domain Ω
R
as those locations on the fault where slip rates have
exceeded 10
3
m/s at any time during the event, with
R
=
R
being the total rupture area.
We define
τ
avg
as the amplitude of spatially averaged stress vector
τ
within the rupture area:
τ
avg
=
1
R
R
τ
d
R
.
Similarly, we define
s
avg
as the amplitude of spatially averaged slip vector
s
within the
rupture domain:
s
avg
=
1
R
R
s
d
R
.
NOTE
: Please upload this data to a Dropbox folder that will be shared with you (or send
request to bae@uoregon.edu). Please ensure that the file is
10s of MBs or less.
The data file has 7 data fields, as follows:
Field Name
Description, Units and Sign Convention
event
no
Event number.
t
start
Time event starts (s).
t
end
Time event ends (s).
rup
area
Rupture area (m
2
).
avg
stress
start
Spatial average of stress within rupture area at
t
start
(MPa).
avg
stress
end
Spatial average of stress within rupture area at
t
end
(MPa).
avg
slip
Average slip in rupture area (m).
The data output consists of three sections, as follows:
10
File Section
Description
File Header
A series of lines, each beginning with a # symbol, that give the following
information:
Benchmark problem (No.4)
Modeler
Date
Code
Code version (if desired)
Node spacing or element size
Descriptions of data fields (1 line)
Anything else you think is relevant (e.g. computational domain size)
Field List
One line listing the 7 data fields on one line, separated by spaces. It should be:
event
no t
start t
end rup
area avg
stress
start avg
stress
end
avg
slip
(all on one line).
Catalog
A series of lines.
Make sure to use double-precision when saving all fields
.
C/C++ users:
We recommend using 21.13E or 21.13e floating-point format
for the time field and 14.6E or 14.6e format for all other data fields.
Fortran users:
We recommend using E22.14 or 1PE22.13 floating-point for-
mat for the time field and E15.7 or 1PE15.6 format for other data fields.
Here is an example of a catalog file, with invented data.
# This is the file header:
# problem=SEAS Benchmark No.4
# author=A.Modeler
# date=2019/12/01
# code=MyCode
# code
version=3.7
# element
size=500 m
# Column #1 = Event number
# Column #2 = Event start time (s)
# Column #3 = Event end time (s)
# Column #6 = Rupture area (m^2)
# Column #7 = Stress avg at start time (MPa)
# Column #8 = Stress avg at end time (MPa)
# Column #9 = Avg slip in rupture area (m)
# Computational domain size: depth 100 km, distance off fault 100 km
# The line below lists the names of the data fields
event
no t
start t
end rup
area avg
stress
start avg
stress
end avg
slip
# Here are the data
1 3.15500000E+07 3.15500200E+07 1.800000E+09 ... 5.000000E+00
2 4.70000000E+09 4.70000002E+09 1.800000E+09 ... 4.800000E+00
3 9.45000000E+09 9.45000002E+09 1.800000E+09 ... 4.820000E+00
# ... and so on.
11
4.4 Slip and Stress Evolution Output
The slip and stress evolution output files with the names
slip
2
depth.dat
slip
2
strike.dat
stress
2
depth.dat
stress
2
strike.dat
slip
3
depth.dat
slip
3
strike.dat
stress
3
depth.dat
stress
3
strike.dat
are 8 ASCII files that record the spatial distribution of slip and stress (both horizontal and
vertical components) on a subset of fault nodes at one-dimensional cross sections (either
a specified distance along strike OR along depth), at representative time steps during the
aseismic and seismic phases of the simulation. Data can be saved using representative time
intervals of
5 yr and
1 s for results in aseismic and seismic phases, respectively, or with
variable time steps. Either way, data will be interpolated to plot slip every 5 yr during the
aseismic phase, and every 1 s during the coseismic phase. The data should include nodes
with a spacing of
500 m (or larger for simulations with larger cells) either along depth
(from
W
f
to
W
f
) or along strike (from
l/
2
7 km to
l/
2 + 7 km). The files should also
contain the time series of maximum slip rate amplitude (taken over the entire fault), so that
we can precisely differentiate aseismic and seismic phases. We request a total of 8 data files
containing slip and stress data at two one-dimensional cross sections: one along-dip profile
at
x
2
= 0 km and one along-strike profiles at
x
3
= 0 km (see the orange lines in Figure 2).
NOTE
: Please upload this data to a Dropbox folder that will be shared with you (or send
a request to bae@uoregon.edu).
Each data file has 4 data fields, as follows:
Field Name
Description, Units and Sign Convention
x2
OR
x3
Strike (m) at
500 m increments from
37 km to 37 km OR Depth
(m) at
500 m increments from
40 km to 40 km
t
Time (s). Nonuniform time steps.
max
slip
rate
The log
10
of maximum amplitude of slip-rate (taken over the entire
fault) (log
10
m/s).
slip
2
OR
slip
3
OR
stress
2
OR
stress
3
Horizontal OR vertical component of slip (m) (positive for right-lateral
motion OR for + side moving downward, respectively) OR horizontal
OR vertical component of stress (in MPa).
The data output consists of three sections, as follows:
12
File Section
Description
File Header
A series of lines, each beginning with a # symbol, that give the following
information:
Benchmark problem (No.4)
Modeler
Date
Code
Code version (if desired)
Node spacing or element size
Descriptions of data fields (4 lines)
Anything else you think is relevant (e.g. computational domain size)
Field List
Four lines. The first line lists either
x
2
OR
x
3
. The next two lines lists the time
steps and max slip rate (respectively). The last line lists which component of
slip or stress. It should be:
x2
OR
x3
t
max
slip
rate
slip
2
OR
slip
3
OR
stress
2
OR
stress
3
Slip History
A series of lines that form a 2-dimensional array of rows and columns. The first
row/line lists the numbers 0, 0 (to maintain a consistent array size), followed
by the spatial nodes with increasing distance along strike OR depth as you go
across the row. Starting from the second row/line, each row/line contains time,
maximum slip rate, and slip OR stress at all nodes at the time. These lines
appear in order of increasing time (from top to bottom) and slip OR stress is
recorded with increasing distance along strike or depth (from left to right).
Make sure to use double-precision when saving all fields
.
C/C++ users:
We recommend using 21.13E or 21.13e floating-point format
for the time field and 14.6E or 14.6e format for all other data fields.
Fortran users:
We recommend using E22.14 or 1PE22.13 floating-point for-
mat for the time field and E15.7 or 1PE15.6 format for other data fields.
Note that
x
2
or
x
3
should appear in the first row, preceded by two zero numbers, for nodes
with a spacing of
500 m. Time and maximum slip rate should appear as two single columns
that start on the second row, with time increasing as you go down. Slip or stress history
(the remaining block) is represented by a two-dimensional array with time increasing as
you go down the rows/lines, and either
x
2
or
x
3
increasing as you go across the columns
(
149 and 161 columns, respectively). For example, the output in
slip
2
strike.dat
is a
two-dimensional matrix of the form:
[
0
0
x
2
T
max(
V
) slip
]
The matrix should be of size (
N
t
+ 1
,
151), where
N
t
is the total number of time steps.
This means that you output slip at selected nodes at one time step and move on to the next
time step. (To keep the file on the order of 10s of MB,
N
t
should be on the order of 10,000).
Here is an example of a slip-evolution file for
slip
2
strike.dat
, with invented data.
# This is the file header:
# problem=SEAS Benchmark No.4
13
# author=A.Modeler
# date=2019/12/01
# code=MyCode
# code
version=3.7
# element
size=500 m
# Row #1 = Strike (m) with two zeros first
# Column #1 = Time (s)
# Column #2 = Max slip rate (log10 m/s)
# Columns #3-83 = Horizontal slip along depth (Slip
2) (m)
# Computational domain size: -100km < x1 < 100km, -100km < x2 < 100km, -100km < x3 < 100km
# The line below lists the names of the data fields
x2
t
max
slip
rate
slip
2
# Here are the data
0.000000E+00 0.000000E+00 -3.70000E+04 -3.65000E+04 ... 3.700000E+04
0.000000E+00 -9.000000E+00 0.000000E+00 0.000000E+00 ... 0.000000E+00
3.140000E+05 -9.000000E+00 1.340000E-05 1.340000E-05 ... 3.140000E-05
1.227000E+07 -9.000000E+00 1.560000E-05 1.560000E-05 ... 1.220000E-02
4.690000E+07 -9.000000E+00 1.580000E-05 1.580000E-05 ... 4.680000E-02
...
9.467078E+10 -4.500000E-01 9.050000E+01 9.050000E+01 ... 9.461000E+01
4.5 Rupture Time Contour Output
The rupture time contour output with a name
rupture.dat
is a single ASCII files that
record the spatial distribution of arrival time of coseismic rupture front for the 1st earth-
quake in the simulation. We request the rupture time contour within a larger region that
includes the VW zone, (
|
x
2
|≤
l/
2 + 2
h
)
(
|
x
3
|≤
H
+ 2
h
) (shown in Fig. 2). At each node,
the rupture time value is chosen as the first time instance when local slip rate amplitude
reaches 1 mm/s. This data needs to be uploaded to the web server.
Each data file has 3 data fields, as follows:
Field Name
Description, Units and Sign Convention
x2
Distance along strike (m). Positive means a location to the right of the origin.
The values range from
36 km to 36 km.
x3
Distance down-dip (m). Positive means a location below the origin. The values
range from
21 km to 21 km.
t
Rupture time (s). This is the time at which slip rate first reaches a value
greater than 1 mm/s. If this node never ruptures, use the value 1.0E+09.
The data output consists of three sections, as follows:
14
File Section
Description
File Header
A series of lines, each beginning with a # symbol, that give the following
information:
Benchmark problem (No.4)
Modeler
Date
Code
Code version (if desired)
Node spacing or element size
Descriptions of data fields (1 line)
Anything else you think is relevant (e.g. computational domain size)
Field List
A single line, which lists the names of the 3 data fields on one line, separated
by spaces. It should be:
x2 x3 t
(on one line).
Rupture History
A series of lines. Each line contains three numbers, which give the (x2,x3)
coordinates of a node on the fault surface, and the time t at which that node
ruptures.
Make sure to use double-precision when saving all fields
.
C/C++ users:
We recommend using 21.13E or 21.13e floating-point format.
Fortran users:
We recommend using E22.14 or 1PE22.13 floating-point for-
mat.
If a node never ruptures, the time should be given as 1.0E+09.
Note:
The nodes may appear in any order. The nodes do not have to form a rectangular
grid, or any other regular pattern.
Note:
When you upload a file, the server constructs the Delaunay triangulation of your
nodes. Then, it uses the Delaunay triangulation to interpolate the rupture times over the
entire fault surface. Finally, it uses the interpolated rupture times to draw a series of contour
curves at intervals of 0.5 seconds.
Here is an example of a rupture time file, with invented data.
# This is the file header:
# problem=SEAS Benchmark No.4
# author=A.Modeler
# date=2019/12/01
# code=MyCode
# code
version=3.7
# element
size=500 m
# Column #1 = x2 (m)
# Column #2 = x3 (m)
# Column #3 = time (s)
# Computational domain size: depth 100 km, distance off fault 100 km
# The line below lists the names of the data fields
x2 x3 t
# Here are the data
-3.60000E+04 0.000000E+04 0.000000E+00
15
-3.50500E+04 0.100000E+04 3.140000E+05
6.000000E+04 7.200000E+04 6.440000E+06
7.000000E+04 7.000000E+04 3.140000E+06
7.000000E+04 8.100000E+04 2.140000E+06
7.000000E+04 8.200000E+04 1.400000E+06
# ... and so on.
5 Using the Web Server
The web server lets you upload your modeling results (section 4). Once uploaded, you and
other modelers can view the data in various ways.
5.1 Logging in and Selecting a Problem
To log in, start your web browser and go to the home page at:
http://scecdata.usc.edu/cvws/cgi-bin/seas.cgi
Click on “Upload Files,” and then log in using your user name and password. Remember
that passwords are case-sensitive. You are then presented with a list of code validation
problems. Find the problem you want, and click the “Select” button. You will then see a
list of files for the problem.
5.2 Navigating the Site
You navigate through the site by clicking buttons on the web pages. Avoid using your
browser’s Back or Forward buttons. If you use the Back or Forward buttons, you may get
error messages from your browser.
5.3 Uploading Files
To upload a file, do the following steps:
Find the file you want to upload, and click “Select.” The server displays a page for you
to upload the file.
Select the data file on your computer. The exact method for file selection varies de-
pending on operating system and web browser.
Click on “Click Once to Upload.” The file you selected is uploaded to the server.
When you upload a file, the web server immediately checks for correct formatting. There
are three possible results:
If the file is correctly formatted, the server displays a page noting the successful upload.
If the file contains errors, the server displays an error log. The error log lists the errors
that were detected in the file, each identified as specifically as possible.
16