fault3D class¶
- class csi.fault3D(name, utmzone=None, ellps='WGS84', lon0=None, lat0=None, verbose=True)¶
A class that handles faults in 3D. It inherits from RectangularPatches but allows to build the fault in 3D using tying points.
- Args:
name : Name of the fault.
- Kwargs:
utmzone : UTM zone (optional, default=None)
lon0 : Longitude of the center of the UTM zone
lat0 : Latitude of the center of the UTM zone
ellps : ellipsoid (optional, default=’WGS84’)
verbose : Speak to me (default=True)
- buildPatches(dip=None, dipdirection=None, every=10, minpatchsize=1e-05, trace_tol=0.1, trace_fracstep=0.2, trace_xaxis='x', trace_cum_error=True)¶
Builds a dipping fault given a certain dip angle evolution. Dip angle is linearly interpolated between tying points given as arguments.
- Args:
dip : Dip angle tying points
[[alongstrike, depth, dip], [alongstrike, depth, dip], …, [alongstrike, depth, dip]]
dipdirection : Direction towards which the fault dips.
every : patch length for the along trace discretization
minpatchsize : minimum patch size
trace_tol : tolerance for the along trace patch discretization optimization
trace_fracstep : fractional step in x for the patch discretization optimization
trace_xaxis : x axis for the discretization (‘x’ or ‘y’)
trace_cum_error : if True, account for accumulated error to define the x axis bound for the last patch
Example: dip = [[0, 0, 20], [10, 10, 30], [80, 10, 90]] means that from the origin point of the fault (self.xi[0], self.yi[0]), the dip is 20 deg at 0 km and 0 km depth, 30 deg at km 10 and 10 km-depth and 90 deg at km 80 and 10 km-depth. The routine starts by discretizing the surface trace, then defines a dip evolution as a function of distance from the fault origin and drapes the fault down to depth.
- dipatZ(interp, z)¶
Uses the interpolator to return the dip angle evolution along strike at depth z. The interpolation scheme is piecewise linear.
Args:
interp : Dip interpolation function
z : Depth.