RELAX
Git Revision fd9f5b2058b7d672cf1d2ed542c5dd5969d2a21e
RELAX

program relax
PURPOSE: The program RELAX computes nonlinear timedependent viscoelastic deformation with powerlaw rheology and ratestrengthening friction in a cubic, periodic grid due to coseismic stress changes, initial stress, surface loads, and/or moving faults.
ONLINE DOCUMENTATION: generate html documentation from the source directory with the doxygen (http://www.stack.nl/~dimitri/doxygen/index.html) program with command:
doxygen .doxygen
DESCRIPTION: Computation is done semianalytically inside a cartesian grid. The grid is defined by its size sx1*sx2*sx3 and the sampling intervals dx1, dx2 and dx3. rule of thumb is to allow for at least five samples per fault length or width, and to have the tip of any fault at least 10 fault widths away from any edge of the computational grid.
Coseismic stress changes and initial coseismic deformation results from the presence of dislocations in the brittle layer. Fault geometry is prescribed following Okada or Wang's convention, with the usual slip, strike, dip and rake and is converted to a doublecouple equivalent bodyforce analytically. Current implementation allows shear fault (strike slip and dip slip), dykes, Mogi source, and surface traction. Faults and dykes can be of arbitrary orientation in the half space.
METHOD: The current implementation is organized to integrate stress/strain rate constitutive laws (rheologies) of the form
as opposed to epsilon^dot = f(sigma,epsilon) wich would include work hardening (or weakening). The timestepping implements a secondorder RungeKutta numerical integration scheme with a variable timestep. The RungeKutta method integrating the ODE y'=f(x,y) can be summarized as follows:
where h is the timestep and n is the timeindex. The elastic response in the computational grid is obtained using elastic Greens functions. The Greens functions are applied in the Fourier domain. Strain, stress and bodyforces are obtained by application of a finite impulse response (FIR) differentiator filter in the space domain.
INPUT: Static dislocation sources are discretized into a series of planar segments. Slip patches are defined in terms of position, orientation, and slip, as illustrated in the following figure:
N (x1) / / Strike x1,x2,x3 >@— (x2) \ p . \ W :\ i . \ i  \ l . \ d :90 \ S . \ t Dip\ . \ h : .  Rake !!  —