This is not a flattened camera view of the 3D scene — it is an independent finite-difference field solved on a 2D grid (lateral distance × depth). Each grid cell generates excess pore pressure with the same Seed–Booker degradation law as the 3D model:
r_u(N) = (2/π)·asin[ (N/N_liq)^(1/2θ) ], θ ≈ 0.7
but Nliq now also rises with depth (deeper cells sit under more confining stress and resist liquefaction longer), and every cell's excess pressure then diffuses through the grid:
∂r_u/∂t = c_v·(∂²r_u/∂x² + ∂²r_u/∂z²) + generation
r_u(x=0, z, t) → 0 (free face = fast-draining boundary)
Because the free face drains fastest, pore pressure stays measurably lower right next to it than it does further inland — a real hydrogeological effect the original single-scalar model can't show. The bottom strip then integrates the same sliding-block equation per column, using each column's own locally-diffused residual strength:
τ_drive = γ'·H·sin(β)
τ_resid(x) = γ'·H·tan(φ_r)·max(0.02, 1 − r_u_col(x))
du/dt = k·max(0, τ_drive − τ_resid(x))·w(x), w(x) = e^(−x/decay)
The e−x/decay weight represents the passive resistance blocks further inland get from the mass of soil piled up ahead of them — the same confinement effect the 3D model uses — so the widest tension cracks still open right at the free face, but now the strength each column resists with comes from a real spatial diffusion simulation instead of one shared number.
- Peak ground acceleration and relative density set the generation rate and depth profile of r_u across the whole grid.
- Slope and layer thickness set the driving stress every column has to resist.
- The heatmap (top) is the raw r_u(x,z) field; the strip (bottom) is the resulting block/crack plan view, driven entirely by that field's column averages.