Stress projection API#
Direct calls use Pa, NED tensor order [NN,NE,ND,EE,ED,DD] and degrees. These functions operate on supplied stress and do not need a Green’s-function library. See scientific conventions.
- dyncfs.cfs_static.cal_coulomb_failure_stress(norm_stress, shear_stress, mu_f=0.4)#
norm_stressis tension-positive normal stress in Pa;shear_stressis signed shear in Pa;mu_fis dimensionless effective friction. Returnshear_stress + mu_f * norm_stress, preserving NumPy broadcasting.
- dyncfs.cfs_static.cal_coulomb_failure_stress_poroelasticity(norm_stress, shear_stress, mean_stress, mu_f=0.6, B_pore=0)#
Normal, shear and mean stresses are in Pa;
mean_stressis tensor trace/3. Dimensionlessmu_fandB_poregiveshear + mu_f*(normal-B_pore*mean). Returns a scalar or broadcast array. Note its friction default is 0.6; the single-point wrappers default to 0.4.
- dyncfs.cfs_static.cal_cfs_static_single_point_fix_fm(obs_fm, stress, mu_f=0.4, B_pore=0.0)#
obs_fmis[strike,dip,rake];stressis a six-entry perturbation tensor. Return(n,d,sigma,tau,cfs): two(3,)NED unit vectors and three scalar stresses in Pa.mu_fandB_poreselect the Coulomb formula.
- dyncfs.cfs_static.cal_cfs_static_single_point_opt_rake(obs_strike, obs_dip, stress, tectonic_stress, mu_f=0.4, B_pore=0.0)#
obs_strike/obs_dipfix the plane.stressandtectonic_stressare six-entry NED tensors in Pa. Optimize rake using total traction, then resolve perturbation stress. Return(n,d,sigma,tau,cfs,rake), with vectors(3,), stresses in Pa and rake in degrees.
- dyncfs.cfs_static.cal_cfs_static_single_point_opt_plane(stress, tectonic_stress_type, tectonic_stress, mu_f=0.4, B_pore=0.0)#
stressis the perturbation tensor in Pa. Type 1 uses a fulltectonic_stresstensor in Pa; type 2 uses ordered principal-axis azimuth/plunge pairs in degrees. Invalid types raise ValueError. Return([n1,d1,sigma1,tau1], [n2,d2,sigma2,tau2], cfs). The one CFS value is evaluated on plane 2. Units follow the other projection functions.
- dyncfs.cfs_dynamic.cal_stress_vector_ned_dynamic(stress_ned, n)#
stress_nedhas shape(T,6)in Pa andnis a three-component fixed NED normal. Return traction vectors(T,3)in Pa. This helper does no synthesis or disk I/O.
- dyncfs.signal_process.correct_zero_frequency(data, srate, A0, f_c, tc1, tc2, ratio_interp=0)#
datais a 1D series, normally stress rate in Pa/s;srateis Hz;A0is the desired integral (Pa for stress rate).f_ccounts frequency bins, not Hz.tc1/tc2are start/inclusive and stop/exclusive sample indices clipped to the data. Positiveratio_interpresamples before FFT; 0 disables it. Return a same-length corrected array without mutating input. Outside the corrected window the returned series is zero; a window shorter than two samples instead returns an unchanged copy.
- dyncfs.utils.static_stress_ned2enz(stress_ned)#
Convert a stress array
(6,)or(N,6)from NED to ENU component order, exchanging horizontal axes and reversing vertical-shear signs. Return a new same-shaped array with unchanged units.