loading...
Synthetic seismogram: sum of block speeds (moment-rate proxy) over the last 350 time units
Gutenberg-Richter plot: log10 of the number of events at or above each magnitude, with the fitted b-value
Mean stress on the fault (sawtooth: slow loading, sudden drops) and the highest load-to-strength ratio
Starting.
running...
How to use
Start with Gutenberg-Richter (disordered) and press play. Top: the blocks (blue = relaxed, yellow = about to fail, red = slipping) in the frame of the plate; bottom: the rupture history, each row a moment in time and each column a block. Try: (1) set coupling very low and watch the events shrink to single blocks; (2) set it high with no disorder and watch whole-fault characteristic ruptures; (3) set alpha to 0 and the fault creeps without earthquakes; (4) click a block to load it by a stress pulse and trigger an event; (5) fit b in graph 2 for different presets. The red curve in graph 1 is a synthetic seismogram. Drag to orbit, wheel to zoom. Space pauses, R restarts, New fault draws fresh random strengths.
The 3D page uses a Blender-built laboratory bench (conveyor belt fault, creeping plate with lead screw and motor, wall-mounted displays, baked PBR textures); blocks, springs, belt motion and both screens are driven by the same solver.
The science
The Burridge-Knopoff model (1967) is the classic table-top caricature of an earthquake fault: a row of blocks rests on a rough surface, each block is pulled by a leaf spring from a plate that creeps at constant speed, and neighbouring blocks are linked by coupling springs. Because friction is stronger at rest than in motion (velocity weakening), a block sticks until its spring is stretched to the static strength, then slips suddenly: that is an earthquake. Because the blocks are coupled, a slip loads the neighbours and a small event can grow into a large one.
In dimensionless form (mass 1, leaf-spring constant 1, static strength F0 = 1, time in units of 1/ω0, lengths in units of D0 = F0/kp), block i obeys
&xdd;i = (νt − xi) + l2 (xi+1 − 2xi + xi−1) − φ(&xd;i) φ(v) = F0 (1 − σ) / (1 + 2αv/(1 − σ)) (v > 0)
l2 = kc/kp is the coupling stiffness ratio, ν the plate speed, σ the drop from static to dynamic friction and α the rate at which friction weakens with speed (Carlson and Langer, 1989). A stuck block stays stuck while the net spring force is below its strength; it starts to slip in the direction of the force when that is exceeded, and stops when its velocity would reverse. Random strengths (the “disorder” slider) make the fault heterogeneous.
From blocks to magnitudes. An event is the whole sequence between the first block starting to slip and the last one stopping. Its seismic moment is M0 = μ A D, with rigidity μ = 30 GPa, A the ruptured area (each block stands for a 1 km × 10 km patch) and D the slip. The moment magnitude is Mw = (2/3)(log10 M0 − 9.1) with M0 in N m. The scale D0 sets the slip size and the real plate speed sets the clock. The Gutenberg-Richter law says log10 N(≥Mw) = a − b Mw with b close to 1 for real faults: ten times fewer events for each unit of magnitude. Graph 2 fits b to your simulated catalogue.
Honest simplifications. (1) One dimension: a real fault is a two-dimensional surface in an elastic solid, with long-range elastic interactions and radiated waves, not nearest-neighbour springs. (2) The quasi-static loading is compressed in time: the model uses an unphysically fast plate relative to the dynamic time scale, so the real-time axis is only an equivalent. (3) The b-value of a simple BK chain depends on the parameters (about 0.5 to 1.3 here) and is not expected to equal the observed value; it demonstrates the mechanism, not a prediction. (4) The synthetic seismogram is the sum of block speeds, a moment-rate proxy, not a recorded ground motion. (5) Magnitudes use fixed patch size, so they are for orientation.
Checks run in the page. A single block has an exact stick-slip cycle, 2σ/ν + π in time and 2σ in slip (for constant dynamic friction); a frictionless chain oscillates in normal modes with ω2 = 1 + 4 l2 sin2(kπ/2N), so the lowest mode and the energy error are tested; and the slip accounting confirms that every unit of plate motion is either stored in the springs or recorded in an event.