Online Material: Software packages with documentation.Quasistatic or quasidynamic rate-state friction (QRSF) simulators are used to study the mechanics of faults (e.g., Shibazaki and Shimamoto, 2007). The displacement discontinuity method (DDM;Crouch and Starfield, 1983) meshes the fault or faults into N elements and constructs a matrix of Green's functions (GFs) relating slip to stress. The simulator evolves strength and slip in time. Usually, the most expensive part of a simulation time step is the matrix-vector product (MVP) of the slip distribution with the DDM matrix; the straightforward implementation performs ON 2 operations. A simulator performs thousands to millions of MVPs with the same DDM matrix.My free and open-source software (FOSS) package hmmvp speeds up simulations by an asymptotic factor of a little less than N faster than the straightforward implementation for both forming an approximation to and performing MVP with the GF matrix.In QRSF simulations, rupture tip length scales as f r ∝ μ ′ d c =bσ for the aging evolution law and f r multiplied by a factor that depends on slip speed and background values for the slip law. In this case, μ ′ μ=1 − ν, μ is the shear modulus, ν is Poisson's ratio, b is the constant multiplying the state term in rate-state friction, σ is the effective normal stress, and d c is the characteristic slip distance for friction evolution (Rubin and Ampuero, 2009). Rupture tips must be well resolved in simulations. If f r is nonuniform on the fault, discretization also can be nonuniform for efficiency. However, not all DDM operators are accurate on nonuniform meshes. My FOSS package dc3dm implements a method, IGA, that is as accurate on a nonuniform mesh as the standard method is on a uniform mesh. dc3dm uses hmmvp to efficiently approximate the IGA operator.
H-MATRIXES AND hmmvpA variety of methods can speed up the MVP. Let a rectangular fault be discretized uniformly into N N s N d elements, in which N s is the number of along-strike elements and N d is the number along dip. The straightforward implementation is ON 2 , in which O is big-O notation. In a homogeneous elastic (HE) full-space, the fast Fourier transform (FFT) can be used to calculate stress from slip in ON log N work. In an HE halfspace, the FFTcan be used in the along-strike direction to implement the convolution, resulting in ON 2 d N s log N s time. In general, the FFTcannot be applied to a nonuniformly discretized or nonplanar fault. A class of methods, including fast multipole methods (Greengard and Rokhlin, 1987;Ying et al., 2004), Barnes-Hut (Barnes and Hut, 1986), and hierarchical matrixes (H-matrixes;Hackbusch, 1999), are instead applicable. These methods take advantage of off-diagonal block (for an appropriate permutation) approximate low-rank structure. A block B ≈ UV T , with columnsU ≪ minrowsB; columnsB. For a mesh having N elements, work is close to ON . Among these methods, the H-matrix is best suited to QRSF simulators because it is fastest when the operator is formed infrequently relative to ...