In this example we illustrate how to calculate the stress distribution around a fault in the Earth's crust caused by a slip through an earthquake.
To simplify the presentation we assume a simple domain
with
a vertical fault in its center. We assume that the slip distribution
on the fault is known. We want to calculate the distribution of the displacements
and stress
in the domain. We assume an isotropic, linear elastic material model of the form
However, we need to address an additional challenge: The displacement
is in fact discontinuous across the fault
but we are in the lucky situation that we know the jump of the displacements across the fault. This is
in fact the the given slip
. So we can split the total distribution
into a component
which is continuous across the fault and the known slip
We insert this into the stress definition
To define the fault we use the FaultSystem class introduced in Section
.
The following statements define a fault system fs and add the fault 1
to the system.
The fault added starts at point
has length
and is pointing north.
The main purpose of the FaultSystem class is to define a parameterization
of the fault using a local coordinate system. One can inquire the class
to get the range used to parameterize a fault.
Typically p0 is equal to zero while p1 is equal to the length of the fault. The parameterization
is given as a mapping from a set of local coordinates onto parameter range (in our case
the range p0 to p1). For instance to map the entire domain mydomain onto the fault
one can use
Of course there is the problem that not all location are on the fault. For those locations which are on the
fault m is set to
otherwise 0 is used. So on return the values of p are defining
the value of the fault parameterization (typically the distance from the starting point of the fault along the fault)
where m is positive. On all other locations the value if p is undefined. Now p can
be used to define a slip distribution on the fault via
Notice that the factor m which makes sure that s is zero away from the fault. It is important
that the slip is zero at the ends of the faults.
We can now put all components together to get the script:
The script creates the slip.vtu giving the total displacements and stress. These values are stored as cell
centered data. See Figure
for the result.