Skip to main content

Seismology

Earthquakes, seismic waves, Richter and moment magnitudes, and optional gravitational-wave coupling — the full seismic pipeline phase-locked to HulyaPulse.

  • Live appzeq.dev/apps/seismology/
  • Sourceapps/zeq-me/public/apps/_in-development/seismology/ (1,850 lines)
  • Operators — KO42 · NM30 (harmonic oscillator) · optional GR38 (gravitational-wave)
  • Error budget — ≤ 0.1% on P- and S-wave arrival times through a 1D layered Earth model

What it solves

A seismic workbench. Three modes:

  • Event detection — feed seismogram traces; get onset time, P/S split, and estimated magnitude via STA/LTA trigger and Wood-Anderson response
  • Wave propagation — point-source at depth, 1D layered velocity model (PREM or custom), finite-difference solve on a 2D section
  • Magnitude estimators — local Richter M_L, surface-wave M_s, moment magnitude M_w from scalar seismic moment M₀

Runs in-browser; each Zeqond produces one full forward model through a 1000-km cross-section on a 256² grid.


The math

Wave equation ∂²u/∂t² = c² ∇²u + f
P-wave speed V_p = √((λ + 2μ)/ρ) (Lamé parameters)
S-wave speed V_s = √(μ/ρ)
Richter magnitude M_L = log₁₀ A − log₁₀ A₀(Δ)
Moment magnitude M_w = (2/3) log₁₀ M₀ − 10.7 (Hanks & Kanamori, 1979)
Harmonic oscillator (NM30) x(t) = A cos(ωt + φ)
Gravitational-wave (GR38) □ h_{μν} + κ ∂_t h_{μν} = −16πG/c⁴ T_{μν}

Operator picks

StepDecision
1. PrimeKO42 on
2. LimitKO42 + NM30 = 2 operators (baseline); + GR38 = 3 (for kilometre-scale events where GW emission is measurable)
3. ScaleCrustal to planetary; elastic continuum
4. Precision≤ 0.1% on first-arrival time
5. CompileC_KO42 + C_NM30 (+ C_GR38)
6. ExecuteZ encodes ρ, λ, μ profile, source moment tensor, receiver geometry
7. VerifyCompare P-arrival against a ray-traced reference

Runnable worked example — M6.0 event, 10 km depth, 100 km distance, PREM

PREM reference P-arrival at this geometry: t_P ≈ 16.24 s.

The anonymous playground takes a domain plus named inputs and lets the seven-step wizard pick the operators (always KO42 + the domain fit). It returns a sealed envelope:

curl -s -X POST https://zeqsdk.com/api/playground/compute \
-H "Content-Type: application/json" \
-d '{
"domain": "newtonian-mechanics",
"inputs": { "depth": 10000, "distance": 100000, "magnitude": 6.0 }
}' | jq

The response carries value, unit, the operators the wizard chose, the equations it evaluated, and a zeqProof digest. Compare the returned value against the PREM reference P-arrival (t_P ≈ 16.24 s) yourself — the platform hands you a result any node can recompute, not a printed figure to trust.


Extend it

  1. 3D wavefront — lift FD solve to 3D; reuse the same NM30 stencil
  2. Receiver functions — deconvolve the vertical component from the radial; image the Moho
  3. Full-waveform inversion — adjoint-method gradient over the velocity model; the operator set stays the same

Seeds

  • Forensic seismology — invert to localise sub-surface voids (tunnels, cavities) with GR38 as an optional gravity-sensing channel
  • Planetary seismology — Mars (InSight SEIS) and Moon (Apollo ALSEP) data replay; the same solver, different ρ, λ, μ profile
  • Induced-seismicity forecasting — correlate injection volumes with NM30-resonance pre-cursors; plant seeds for operational safety

Papers

Middleware active. Kernel on the 1.287 Hz HulyaPulse. Awaiting next Zeqond.