pynetdesign.modelling.homo.calculate_M0#
- pynetdesign.modelling.homo.calculate_M0(density, v, Q, rad_pattern, r, amps, f=None, fcorner=None, amps_type='displacement')[source]#
Calculates the seismic moment \(M_0\) in a homogeneous medium given the density \(\rho\), wave velocity \(v\), distance from the source \(r\) and the displacement amplitude spectrum \(\left|U(f)\right|\) using:
\[M_0 = \frac{4 \pi \rho v^3 r}{\left|R\right|}\,\left|U(f)\right|\,e^{\pi f t^*},\]where \(R\) is the provided radiation pattern factor and the exponential term corrects for the intrinsic attenuation accumulated along the ray path.
The amplitudes passed in
ampsare the displacement amplitude spectrum \(\left|U(f)\right|\). Amplitudes of another type are converted to it with the coefficients ofget_scaling_displacement, which follow from \(\left|V(f)\right| = 2 \pi f \left|U(f)\right|\).The term \(t^*\) is the integral along the ray path of the inverse value of attenuation factor \(Q\) multiplied by the inverse of the wave velocity \(v\):
\[t^* = \int_R \frac{dr}{v(r) Q(r)},\]which in a homogenous medium reads as
\[t^* = \frac{r}{vQ}.\]Frequency \(f\) is the representative frequency of the wave. If it is not provided, it defaults to the peak frequency computed from the model, and limited by the corner frequency.
- Parameters:
- density
float Density (kg/m^3)
- v
float Wave velocity (m/s)
- Q
float Attenuation factor
- rad_pattern
float Radiation pattern factor
- r
floatornumpy.ndarray Distance(s) from the source (m)
- amps
floatornumpy.ndarray Displacement amplitude spectrum \(\left|U(f)\right|\), single value or array of amplitudes, one for each ray. If
ris a single float,ampsmust be a single float Ifris an array,ampsmust be an array of the same shape.- f
float, optional, default:None Frequency. If
None, peak frequency is computed from the model- fcorner
float, optional, default:None Corner frequency, limit for peak frequency.
- amps_type
str, optional, default:displacement Type of amplitudes in
amps, can be ‘displacement’, ‘velocity’, ‘acceleration’, ‘strain rate’, ‘strain’. Used for scaling of amplitudes in casefisNone.
- density
- Returns:
- M0
floator array_like Seismic moment (N m)
- M0