Tectonic_Utils.seismo package
MT_calculations
Calculations that deal with seismic moment tensors. Notes from Lay and Wallace Chapter 8:
Decomposition 1: Mij = isotropic + deviatoric
Decomposition 2: Mij = isotropic + 3 vector dipoles
Decomposition 3: Mij = isotropic + 3 double couples
Decomposition 4: Mij = isotropic + 3 CLVDs
Decomposition 5: Mij = isotropic + major DC + minor DC
Decomposition 6: Mij = isotropic + DC + CLVD
The most useful in practice are Decomposition 1 and Decomposition 6.
- decompose_iso_dc_clvd(MT)
Decompose a full moment tensor into an isotropic part, a double-couple, and a CLVD component.
- Returns
three np.arrays, each 3x3 matrix
- diagonalize_MT(MT)
Build a diagonal matrix whose elements are the ordered eigenvalues of original matrix MT.
- Returns
np.array, 3x3 matrix
- get_MT(mrr, mtt, mpp, mrt, mrp, mtp)
Build a matrix from the six components of the moment tensor
- Returns
np.array, 3x3 matrix
- get_clvd_dc_from_deviatoric_MT(MT)
Calculate the dc and clvd components of a deviatoric MT, from Shearer Equation 9.14.
- Returns
two np.arrays, each 3x3 matrix
- get_deviatoric_MT(MT)
Get deviatoric MT from a full MT.
- Returns
np.array, 3x3 matrix
- get_iso_MT(MT)
Calculate the isotropic moment tensor from a full MT.
- Returns
np.array, 3x3 matrix
- get_percent_double_couple(MT)
Get the percent double couple and percent clvd moment from a deviatoric moment tensor. When isotropic term is involved, this can get more complicated and there are several approaches. See Shearer equation 9.17 for epsilon. See Vavrycuk, 2001 for other approaches when isotropic component is involved.
- Parameters
MT – np.array, 3x3 matrix
- Returns
percentage double couple, percentage CLVD
- Return type
float, float
- get_total_scalar_moment(MT)
Shearer Equation 9.8: quadratic sum of element of moment tensor components, in newton-meters.
- Parameters
MT – np.array, 3x3 matrix
- Returns
Mo, scalar moment
- Return type
float
moment_calculations
Utilities that convert between moment and magnitude, etc.
- moment_from_muad(mu, A, d)
moment = mu * A * d.
- Parameters
mu (float) – shear modulus, in Pa
A (float) – area, in m^2
d (float) – slip, in m
- Returns
moment, in Newton-meters
- Return type
float
- moment_from_mw(Mw)
Definition of moment magnitude from Hanks and Kanamori (1979). Takes magnitude, returns moment in newton-meters.
- Parameters
Mw (float) – moment magnitude
- Returns
moment in Newton-meters
- Return type
float
- mw_from_moment(moment)
Definition of moment magnitude from Hanks and Kanamori (1979). Takes newton-meters, returns moment magnitude.
- Parameters
moment (float) – moment in Newton-meters
- Returns
magnitude
- Return type
float
second_focal_plane
Utility tool for computing the second possible strike, rake, and dip in a focal mechanism, given the strike, rake, and dip of the first focal plane. Inspiration from Vince Cronin’s website.
- find_aux_plane(strike, dip, rake)
Find the second auxiliary plane in a double couple focal mechanism from the given slip plane/vector.
- Parameters
strike (float) – strike of first focal plane, in degrees
dip (float) – dip of first focal plane, in degrees
rake (float) – rake of slip vector on first focal plane, in degrees
- Returns
[strike, dip, rake] of second focal plane
- Return type
list of 3 floats
- unit_vector(v)
Computes unit vector associated with 3-component vector.
- vector_angle(v1, v2)
Returns angle between two vectors, in radians.
- vector_norm(v)
Computes norm of vector.
wells_and_coppersmith
Set of functions that calculate important scaling relationships between earthquake magnitude and other parameters. From Wells and Coppersmith, 1994.
FAULT_TYPE = SS, R, N, All
a, b = parameters in equation
sa, sb = parameter uncertainties
s = estimate uncertainty
r = R correlation coefficient
Average displacements, Max displacements, and inverse relationships not included.
- RA_from_M(M, fault_type)
Rupture Area from Magnitude, computed using log(RA)=a + b*M
- Parameters
M (float) – magnitude
fault_type (string) – fault_type [“SS”, “N”, “R”, “ALL”]
- Returns
rupture area, in km^2
- Return type
float
- RLD_from_M(M, fault_type)
Subsurface rupture length from Magnitude, computed using log(RLD)=a + b*M
- Parameters
M (float) – magnitude
fault_type (string) – fault_type [“SS”, “N”, “R”, “ALL”]
- Returns
subsurface rupture length, in km
- Return type
float
- RW_from_M(M, fault_type)
Downdip rupture width from Magnitude, computed using log(RW)=a + b*M
- Parameters
M (float) – magnitude
fault_type (string) – fault_type [“SS”, “N”, “R”, “ALL”]
- Returns
downdip rupture width, in km
- Return type
float
- SLR_from_M(M, fault_type)
Surface rupture width from Magnitude, computed using log(SLR)=a + b*M
- Parameters
M (float) – magnitude
fault_type (string) – fault_type [“SS”, “N”, “R”, “ALL”]
- Returns
surface rupture length, in km
- Return type
float
- check_fault_types(fault_type)
Ensure that provided fault type is within [“SS”, “N”, “R”, “ALL”]
- get_magnitude_from_rectangle(length, width, slip, mu=30000000000.0)
- Parameters
length (float) – fault length, in m
width (float) – fault width, in m
slip (float) – fault slip, in m
mu (float, optional) – shear modulus, in Pa, defaults to 30 GPa
- Returns
magnitude
- Return type
float
- rectangular_slip(length, width, magnitude, mu=30000000000.0)
Magnitude to slip on rectangular patch
- Parameters
length (float) – fault length, in m
width (float) – fault width, in m
magnitude (float) – magnitude
mu (float, optional) – shear modulus, in Pa, defaults to 30 GPa
- Returns
slip, in m
- Return type
float