Bases: object
The FaultSystem class defines a system of faults in the Earth’s crust.
A fault system is defined by set of faults index by a tag. Each fault is defined by a starting point V0 and a list of strikes strikes and length l. The strikes and the length is used to define a polyline with points V[i] such that
So strikes defines the angle between the direction of the fault segment and the x0 axis. ls[i]==0 is allowed.
In case of a 3D model a fault plane is defined through a dip and depth.
The class provides a mechanism to parametrise each fault with the domain [0,w0_max] x [0, w1_max] (to [0,w0_max] in the 2D case).
adds a new fault to the fault system. The fault is named by tag.
The fault is defined by a starting point V0 and a list of strikes and length ls. The strikes and the length is used to define a polyline with points V[i] such that
So strikes defines the angle between the direction of the fault segment and the x0 axis. In 3D ls[i] ==0 is allowed.
In case of a 3D model a fault plane is defined through a dip dips and depth depths. From the dip and the depth the polyline bottom of the bottom of the fault is computed.
Each segment in the fault is decribed by the for vertices v0=top[i], v1==top[i+1], v2=bottom[i] and v3=bottom[i+1] The segment is parametrized by w0 and w1 with w0_offsets[i]<=w0<=w0_offsets[i+1] and -w1_max<=w1<=0. Moreover
If no w0_offsets is given,
where L[i] is the length of the segments on the top in 2D and in the middle of the segment in 3D.
If no w1_max is given, the average fault depth is used.
Parameters: |
|
---|---|
Note : | In the three dimensional case the lists dip and top must have the same length. |
returns the list of the vertices defining the bottom of the fault tag :param tag: the tag of the fault :type tag: float or str :return: the list of vertices. In the 2D case None is returned.
returns the center point of the fault system at the surface :rtype: numpy.array
returns the list of the depth vector at top vertices in fault tag. :param tag: the tag of the fault :type tag: float or str :return: the list of segment depths. In the 2D case None is returned.
returns the list of the depths of the segements in fault tag. :param tag: the tag of the fault :type tag: float or str :return: the list of segment depths. In the 2D case None is returned.
returns the spatial dimension :rtype: int
returns the list of the dips of the segements in fault tag :param tag: the tag of the fault :type tag: float or str :return: the list of segment dips. In the 2D case None is returned.
Returns: | the lengths of segments in fault tag |
---|---|
Return type: | list of float |
returns the tag of the fault of where f takes the maximum value and a Locator object which can be used to collect values from Data class objects at the location where the minimum is taken.
Parameters: |
|
---|---|
Returns: | the fault tag the maximum is taken, and a Locator object to collect the value at location of maximum value. |
returns the medium depth of fault tag :rtype: float
returns the tag of the fault of where f takes the minimum value and a Locator object which can be used to collect values from Data class objects at the location where the minimum is taken.
Parameters: |
|
---|---|
Returns: | the fault tag the minimum is taken, and a Locator object to collect the value at location of minimum value. |
returns the orientation of the fault system in RAD on the surface around the fault system center :rtype: float
returns the parametrization of the fault tag in the fault system. In fact the values of the parametrization for at given coordinates x is returned. In addition to the value of the parametrization a mask is returned indicating if the given location is on the fault with given tolerance tol.
Typical usage of the this method is
dom=Domain(..) x=dom.getX() fs=FaultSystem() fs.addFault(tag=3,...) p, m=fs.getParametrization(x, outsider=0,tag=3) saveDataCSV(‘x.csv’,p=p, x=x, mask=m)
to create a file with the coordinates of the points in x which are on the fault (as mask=m) together with their location p in the fault coordinate system.
Parameters: |
|
---|---|
Returns: | the coordinates x in the coordinate system of the fault and a mask indicating coordinates in the fault by 1 (0 elsewhere) |
Return type: | escript.Data object or numpy.array |
returns the list of the normals of the segments in fault tag :param tag: the tag of the fault :type tag: float or str :return: the list of vectors normal to the segments. In the 2D case None is returned.
returns the side and the distance at x from the fault tag.
Parameters: |
|
---|---|
Returns: | the side of x (positive means to the right of the fault, negative to the left) and the distance to the fault. Note that a value zero for the side means that that the side is undefined. |
returns the starting point of fault tag :rtype: numpy.array.
Returns: | the strike vectors of fault tag |
---|---|
Return type: | list of numpy.array. |
Returns: | the strike of the segements in fault tag |
---|---|
Return type: | list of float |
returns a list of the tags used by the fault system :rtype: list
returns the polyline used to describe fault tagged by tag
Parameters: | tag (float or str) – the tag of the fault |
---|---|
Returns: | the list of vertices defining the top of the fault. The coordinates are numpy.array. |
Returns: | the total unrolled length of fault tag |
---|---|
Return type: | float |
returns the offsets for the parametrization of fault tag.
Returns: | the offsets in the parametrization |
---|---|
Return type: | list of float |
returns the range of the parameterization in w0 :rtype: two float
returns the range of the parameterization in w1 :rtype: two float
applies a shift and a consecutive rotation in the x0x1 plane.
Parameters: |
|
---|