Fault output

Introduction

There are two primary methods for visualizing on-fault rupture dynamics:

  1. Evaluation of rupture characteristics at specific on-fault locations via ASCII receiver files

  2. Visualization across the entire fault surface with files that can be opened with ParaView

While threads or nodes can be allocated to write the ParaView output (see Asynchronous Output), it is typically not required.

DynamicRupture Namelist OutputPointType Configuration

The output type generated is determined by the OutputPointType variable in the DynamicRupture namelist. Here is an example of how to configure it:

&DynamicRupture
OutputPointType = 4
/

OutputPointType determines the type of output:

0 : No output
3 : ASCII fault receivers
4 : ParaView file
5 : Both ASCII fault receivers and ParaView file

Configuring ParaView output

You can adjust the ParaView output using the Elementwise namelist. Here’s an example of how to do this:

&Elementwise
printtimeinterval_sec = 1.0
OutputMask = 1 1 1 1 1 1 1 1 1 1 1 1 !described herafter
refinement_strategy = 1 ! or 2
refinement = 1
/

printTimeInterval_Sec

  • Output is generated every printtimeinterval_sec.

refinement

The refinement variable determines how the output mesh is created:

  • refinement = 0 outputs a single triangle for each mesh cell. The unknowns are calculated at the center of each cell.

  • refinement = 1 subdivides each triangle into 3 or 4 subtriangles, depending on the refinement_strategy. A higher refinement value will further subdivide each subtriangle.

  • refinement_strategy = 1 divides each triangle into 3 triangles, all sharing the triangle barycenter as a node.

  • refinement_strategy = 2 divides each triangle into 4 triangles.

OutputMask

The OutputMask variable allows you to select specific unknowns for visualization. You can toggle the output writing of each unknown by changing its corresponding bit in the OutputMask array.

Here’s what each bit in the OutputMask array represents:

  1. SRs and SRd: Slip rates in along-strike and along-dip directions

  2. T_s, T_d: Shear stress in strike and dip directions, P_n: Normal stress

  3. u_n: Fault normal velocity (Note: SeisSol does not allow for fault opening (mode I))

  4. Mud: Current effective friction coefficient, StV: State variable for RS friction

  5. Ts0,Td0,Pn0: Total shear and normal stresses, including initial stresses

  6. Sls and Sld: Fault slip in along-strike and -dip directions

  7. Vr: Rupture velocity, computed from the spatial derivatives of the rupture time

  8. ASl: Accumulated slip

  9. PSR: Peak slip rate

  10. RT: Rupture time

  11. DS: Dynamic stress time. With LSW, the time at which ASl>D_c. With RS, the time at which mu <= (f0 + mu_w). DS can be used to evaluate the process zone size.

  12. P_f and Tmp: Only with thermal pressurization, pore pressure and temperature

seissolxdmf python module

You can read SeisSol ParaView files (XDMF/Hdf5 or XDMF/binary files, describing the fault outputs and the free-surface outputs and the volume wavefield outputs) using our Python module seissolxdmf. Find it on PyPi at: seissolxdmf.

Ascii fault receivers

To generate ASCII receiver files, configure the Pickpoint namelist as in this example:

&Pickpoint
printtimeinterval = 1
OutputMask = 1 1 1 1 1 1 1 1 1 1 1 1 !described herafter
nOutpoints = 24
PPFileName = 'fault_receivers.dat'
/

printtimeinterval determines how frequently the output is generated — every printtimeinterval (local) time step. Please note that using this output with local time-stepping may result in differently sampled receiver files.

OutputMask

This is the same as for the ParaView output.