next up previous contents index
Next: Functions Up: Models Previous: Example   Contents   Index


Fault System

The FaultSystem is an easy to use interface to handle 2D and 3D fault systems as used for instance in simulating fault ruptures. The main purpose of the class is to provide a parameterization of an individual fault in the system of fault. In case of a 2D fault the fault is parameterized by a single value $ w\hackscore {0}$ and in the case of a 3D fault two parameters $ w\hackscore {0}$ and $ w\hackscore{1}$ are used. This parameterization can be used to impose data (e.g. a slip distribution) onto the fault. It can also be a useful tool to visualize or analyze the results on the fault if the fault is not straight.

A fault $ t$ in the fault system is represented by a staring point $ V^{t0}$ and series of direction, called strikes , and the lengths $ (l^{ti})$ . The strike of segment $ i$ is defined by the angle $ \sigma^{ti}$ between the $ x\hackscore{0}$ -axis and the direction of the fault, see Figure 6.1. The length and strike defines the polyline $ (V^{ti})$ of the fault by

$\displaystyle V^{ti} = V^{t(i-1)} + l^{ti} \cdot S^{ti}$    with $\displaystyle S^{ti} = \left[ \begin{array}{c} cos(\sigma^{ti}) \\ sin(\sigma^{ti}) \\ 0 \end{array} \right]$ (182)

In the 3D case each fault segment $ i$ has an additional dip $ \theta^{ti}$ and and at each vertex $ i$ a depth $ \delta^{ti}$ is given. The fault segment normal $ n^{ti}$ is given by

$\displaystyle n^{ti} = \left[ \begin{array}{c} -sin(\theta^{ti}) \cdot S^{ti}\h...
...(\theta^{ti}) \cdot S^{ti}\hackscore{0} \\ cos(\theta^{ti}) \end{array} \right]$ (183)

At each vertex we define a depth vector $ d^{ti}$ defined as the intersect of the fault planes of segment $ (i-1)$ and $ i$ where for the first segment and last segment the vector orthogonal to strike vector $ S^{ti}$ and the segment normal $ n^{ti}$ is used. The direction $ \tilde{d}^{ti}$ of the depth vector is given as

$\displaystyle \tilde{d}^{ti} = n^{ti} \times n^{t(i-1)}$ (184)

If $ \tilde{d}^{ti}$ is zero the strike vectors $ L^{t(i-1)}$ and $ L^{ti}$ are collinear and we can set $ \tilde{d}^{ti} = l^{ti} \times n^{ti}$ . If the two fault segments are almost orthogonal $ \tilde{d}^{ti}$ is pointing in the direction of $ L^{t(i-1)}$ and $ L^{ti}$ . In this case no depth can be defined. So we will reject a fault system if

$\displaystyle min(\Vert \tilde{d}^{ti} \times L^{t(i-1)} \Vert,\Vert \tilde{d}^{ti} \times L^{ti} \Vert) \le 0.1 \cdot \Vert \tilde{d}^{ti} \vert$ (185)

which corresponds to an angle of less then $ 10^o$ between the depth vector and the strike. We then set

$\displaystyle d^{ti}=\delta^{ti} \cdot \frac{\tilde{d}^{ti}}{\Vert\tilde{d}^{ti}\Vert}$ (186)

We can then define the polyline $ (v^{ti})$ for the bottom of the fault as

$\displaystyle v^{ti}= V^{ti}+d^{ti}$ (187)

In order to simplify working on a fault $ t$ in a fault system a parameterization $ P^t: (w\hackscore{0},w\hackscore{1}) \rightarrow (x\hackscore{0},x\hackscore{1},x\hackscore{2})$ over a rectangular domain is introduced such that

$\displaystyle 0\le w\hackscore{0} \le w^t\hackscore{0 max}$    and $\displaystyle -w^t\hackscore{1max}\le w\hackscore{1} \le 0$ (188)

with positive if numbers $ w^t\hackscore{0 max}$ and $ w^t\hackscore{1 max}$ . Typically one chooses $ w^t\hackscore{0 max}$ to be the unrolled length of the fault $ w^t\hackscore{1 max}$ to be the mean value of segment depth. Moreover we have

$\displaystyle P^t(W^{ti})=V^{ti}$ and $\displaystyle P^t(w^{ti})=v^{ti}\ $ (189)

where

$\displaystyle W^{ti}=(\Omega^{ti},0)$    and $\displaystyle w^{ti}=(\Omega^{ti},-w^t\hackscore{1 max})$ (190)

and $ \Omega^{ti}$ is the unrolled distance of $ W^{ti}$ from $ W^{t0}$ , ie $ l^{ti}=\Omega^{t(i+1)}-\Omega^{ti}$ . In the 2D case $ w^t\hackscore{1 max}$ is set to zero and therefore the second component is dropped, see Figure 6.1.

In the case of 2D the parameterization $ P^t$ is constructed as follows: The line connecting $ V^{t(i-1)}$ and $ V^{ti}$ is given by

$\displaystyle x=V^{ti} + s \cdot ( V^{t(i+1)}- V^{ti} )$ (191)

where $ s$ is between 0 and $ 1$ . The point $ x$ is on $ i$ -th fault segment if and only if such an $ s$ exists. If assume $ x$ is on the fault one can calculate $ s$ as

$\displaystyle s = \frac{ (x- V^{ti})^t \cdot (V^{t(i+1)}- V^{ti}) }{ \Vert V^{t(i+1)}- V^{ti}\Vert^2}$ (192)

We then can set

$\displaystyle w\hackscore{0}=\Omega^{ti}+s \cdot (\Omega^{ti}-\Omega^{t(i-1)})$ (193)

to get $ P^t(w\hackscore{0})=x$ . It remains the question if the given $ x$ is actual on the segment $ i$ of fault $ t$ . To test this $ s$ is restricted between 0 and $ 1$ (so if $ s<0$ $ s$ is set to 0 and if $ s>1$ $ s$ is set to $ 1$ ) and the we check the residual of equation 6.91, ie. $ x$ is been accepted to be in the segment if

$\displaystyle \Vert x-V^{ti} - s \cdot (V^{t(i+1)}- V^{ti}) \Vert \le tol \cdot max(l^{ti}, \Vert x-V^{ti} \Vert)$ (194)

where $ tol$ is a given tolerance.

In the 3D case the situation is a bit more complicated: we split the fault segment across the diagonal $ V^{ti}$ - $ v^{t(i+1)}$ to produce two triangles. In the upper triangle we use the parameterization

$\displaystyle x= V^{ti} + s \cdot (V^{t(i+1)}-V^{ti}) + r \cdot (v^{t(i+1)}-V^{t(i+1)})$    with $\displaystyle r \le s;$ (195)

while in the lower triangle we use

$\displaystyle x= V^{ti} + s \cdot (v^{t(i+1)}-v^{ti}) + r \cdot (v^{ti}-V^{ti})$    with $\displaystyle s \le r;$ (196)

where $ 0\le s,r \le 1$ . Both equations are solved in the least-squares sense e.g. using the Moore–Penrose pseudo-inverse for the coefficient matrices. The resulting $ s$ and $ r$ are then restricted to the unit square. Similar to the 2D case (see equation 6.94) we identify $ x$ to be in the upper triangle of the segment if

$\displaystyle \Vert x- V^{ti} - s \cdot (V^{t(i+1)}-V^{ti}) - r \cdot (v^{t(i+1...
...) \Vert \le tol \cdot max(\Vert x-V^{ti} \Vert,\Vert v^{t(i+1)}-V^{t(i)})\Vert)$ (197)

and in the lower part

$\displaystyle \Vert x-V^{ti} - s \cdot (v^{t(i+1)}-v^{ti}) - r \cdot (v^{ti}-V^...
...) \Vert \le tol \cdot max(\Vert x-V^{ti} \Vert,\Vert v^{t(i+1)}-V^{t(i)})\Vert)$ (198)

after the restriction of $ (s,t)$ to the unit square. Note that $ \Vert v^{t(i+1)}-V^{t(i)})\Vert$ is length of the diagonal of the fault segment. For those $ x$ which have been located in the $ i$ -th segment we then set

$\displaystyle w\hackscore{0}=\Omega^{ti}+s \cdot (\Omega^{ti}-\Omega^{t(i-1)})$    and $\displaystyle w\hackscore{1}=w^t\hackscore{1max} (r-1)$ (199)



Subsections
next up previous contents index
Next: Functions Up: Models Previous: Example   Contents   Index
esys@esscc.uq.edu.au