Tectonic Simulation Programs

Interactive Python simulations running in your browser via Pyodide, plus Fortran numerical models compiled and executed on the server. Edit the code, tweak parameters, and explore the physics of plate tectonics computationally.

Oceanic lithosphere thermal evolution using the half-space cooling and plate models. Computes geotherms at different plate ages and predicts ocean depth vs age (Parsons & Sclater, 1977).

Lithosphere Cooling

Oceanic lithosphere thermal evolution using the half-space cooling and plate models. Computes geotherms at different plate ages and predicts ocean depth vs age (Parsons & Sclater, 1977).

Click Run to execute the Python code

First run will download Python environment (~15MB)

Theoretical Background

Lithospheric Thermal Evolution

The thermal structure of oceanic lithosphere is governed by the 1D diffusion equation (neglecting advection for a static plate):

\[\frac{\partial T}{\partial t} = \kappa \frac{\partial^2 T}{\partial z^2}\]

With initial condition T(z,0) = T_m (hot mantle) and boundary conditions T(0,t) = T_s (cold surface), T(โˆž,t) = T_m, the solution is the half-space cooling model:

\[T(z,t) = T_s + (T_m - T_s)\,\text{erf}\!\left(\frac{z}{2\sqrt{\kappa t}}\right)\]

The predicted depth of the ocean floor increases as โˆšt, matching observations for ages < 80 Ma. The plate model (McKenzie, 1967; Parsons & Sclater, 1977) adds a finite plate thickness that causes the bathymetry to flatten at ~6.4 km for old lithosphere. The surface heat flow decays as q(t) = k(T_m โˆ’ T_s)/โˆš(ฯ€ฮบt), from ~200 mW/mยฒ at ridges to ~50 mW/mยฒ for 100 Ma lithosphere.

Plate Kinematics & Euler Poles

On a spherical Earth, the relative motion between two rigid plates is described by a rotation about an axis through Earth's center (Euler's theorem). The velocity at any point is:

\[\mathbf{v} = \boldsymbol{\omega} \times \mathbf{r}, \qquad |\mathbf{v}| = |\boldsymbol{\omega}| R \sin\Delta\]

where ฮ” is the angular distance from the Euler pole. Transform faults trace small circles about the Euler pole, and spreading rates vary sinusoidally with distance from it. The MORVEL model (DeMets et al., 2010) provides angular velocity vectors for 25 plates, derived from GPS, transform fault azimuths, and spreading rates at mid-ocean ridges. Plate circuits relate all plates to a common reference frame.

Mantle Convection & the Rayleigh Number

Thermal convection occurs when the buoyancy driving force exceeds viscous resistance. The Rayleigh number is the ratio of these:

\[\text{Ra} = \frac{\alpha \rho g \Delta T d^3}{\kappa \eta}, \qquad \text{Ra}_{\text{cr}} \approx 10^3 \text{ (free-slip)}\]

For the Earth's mantle, Ra ~ 10โท, indicating vigorous convection. The non-dimensional equations in the Boussinesq approximation with infinite Prandtl number (Pr = ฮท/ฯฮบ โ†’ โˆž) are:

\[\nabla^2 \psi = -\omega, \qquad \nabla^2 \omega = -\text{Ra}\frac{\partial T}{\partial x}, \qquad \frac{\partial T}{\partial t} + \mathbf{v} \cdot \nabla T = \nabla^2 T\]

The stream function ฯˆ relates to velocity as v_x = โˆ‚ฯˆ/โˆ‚z, v_z = โˆ’โˆ‚ฯˆ/โˆ‚x. The Nusselt number Nu = q_total/q_conductive measures convective efficiency; scaling laws predict Nu ~ Ra^(1/3) for vigorous convection (boundary layer theory).

Seismic Wave Propagation & Ray Theory

The elastic wave equation for an isotropic medium separates into P-waves (compressional) and S-waves (shear):

\[v_P = \sqrt{\frac{\lambda + 2\mu}{\rho}}, \qquad v_S = \sqrt{\frac{\mu}{\rho}}\]

In the high-frequency limit, seismic energy propagates along rays governed by Snell's law:

\[p = \frac{\sin\theta_i}{v_i} = \frac{\sin\theta_j}{v_j} = \text{const (ray parameter)}\]

The ray parameter p is conserved along a ray path. Total internal reflection occurs when pยทv โ‰ฅ 1 in a layer, generating head waves and triplication in travel time curves. The IASP91 reference model defines the 1D velocity structure of the Earth from seismic travel time observations, revealing the Moho (35 km), transition zone (410โ€“660 km), and core-mantle boundary (2891 km).

Lithospheric Flexure Theory

The lithosphere responds to loads as a thin elastic plate floating on a viscous fluid. For a 2D plate under a line load Vโ‚€, the deflection follows the flexure equation:

\[D\frac{d^4 w}{dx^4} + \Delta\rho\,g\,w = q(x), \qquad D = \frac{Eh^3}{12(1-\nu^2)}\]

The solution for a concentrated line load at x = 0 shows exponentially decaying oscillations:

\[w(x) = \frac{V_0 \alpha^3}{8D} e^{-|x|/\alpha}\left(\cos\frac{|x|}{\alpha} + \sin\frac{|x|}{\alpha}\right), \quad \alpha = \left(\frac{4D}{\Delta\rho\,g}\right)^{1/4}\]

The flexural parameter ฮฑ determines the wavelength of bending: ~70 km for 10 Ma oceanic lithosphere (Te ~ 10 km) to ~250 km for old cratonic lithosphere (Te ~ 80 km). The forebulgeโ€” a topographic rise at ~ฯ€ฮฑ from the load โ€” is a key prediction verified by observations of moats around volcanic islands and foreland basin geometry.

Earthquake Statistics & Scaling Laws

Earthquake populations obey remarkably simple statistical laws spanning many orders of magnitude:

\[\text{Gutenberg-Richter: } \log_{10} N = a - bM, \quad b \approx 1.0\]
\[\text{Omori (aftershocks): } n(t) = \frac{K}{(t+c)^p}, \quad p \approx 1.0\text{--}1.2\]
\[\text{Moment-magnitude: } M_w = \frac{2}{3}\log_{10}(M_0) - 6.07, \quad M_0 = \mu A \bar{D}\]

The b-value near 1 implies scale-invariant (self-similar) faulting: for each magnitude unit increase, events become 10ร— rarer, but seismic moment (energy) increases ~31.6ร— (= 10^1.5). The maximum likelihood estimator (Aki, 1965) gives b = logโ‚โ‚€(e)/(Mฬ„ โˆ’ M_min). Spatial b-value mapping reveals stress heterogeneity: b < 1 in locked fault patches (stress concentrations), b > 1 in volcanic regions.