Dissolving and re-depositing limestone
Rain picks up CO₂ in the soil (up to a few percent of the air there) and forms carbonic acid. It dissolves limestone: CaCO₃ + CO₂ + H₂O ⇌ Ca²⁺ + 2 HCO₃⁻. At calcite equilibrium and a fixed CO₂ pressure, charge balance (HCO₃⁻ = 2 Ca²⁺) gives [Ca²⁺] = ( K_c K₁ K_H pCO₂ / (4 K₂ γ_Ca γ_HCO₃²) )^(1/3), so dissolved calcium rises with the cube root of pCO₂ and falls as water warms (CO₂ is less soluble). The constants are the Plummer and Busenberg (1982) temperature fits and the activity coefficients come from the Davies equation. Soil water at 6000 ppm and 10 °C carries about 1.7 mmol/L; when it reaches cave air at 2500 ppm the equilibrium value is 1.3 mmol/L, so the drop is supersaturated (saturation index SI = log₁₀(IAP/K_c) > 0) and degasses CO₂ and deposits calcite. If cave air holds more CO₂ than the water was equilibrated with, SI < 0 and calcite dissolves instead.
How fast does a stalagmite grow?
A thin water film of thickness δ ≈ 0.1 mm covers the stalagmite cap. Calcite precipitates at a rate F = α (c − c_eq), so the film relaxes with time constant τ = δ / α (α ≈ 2·10⁻⁵ cm/s at 10 °C, rising with an Arrhenius factor, Ea ≈ 35 kJ/mol; this is an order-of-magnitude value for pure calcite in a thin film). Between two drops (interval T_d) the film deposits δ (c₀ − c_eq)(1 − e^(−T_d/τ)) M/ρ of calcite, with M = 100.09 g/mol and ρ = 2.71 g/cm³, giving the vertical growth R = δ (c₀ − c_eq)(M/ρ)(1 − e^(−T_d/τ)) / T_d. For slow drips R falls as 1/T_d; for fast drips it saturates at δ α (c₀ − c_eq) M/ρ because the film cannot react any faster (Dreybrodt-type model). Typical natural rates are 0.01 to 1 mm per year; the default here gives about 0.1 mm/yr.
Soda straws and the growing pair
A hanging drop of volume V loses calcite for the time it hangs; a fraction (here 6.5 %, which makes the default match field values of about 0.1 mm/yr) is laid down on the thin ring at the tip, ΔL = η V Δc(T_d) M / (ρ π(r_o² − r_i²)). Outer layers fed by water running down the sides make the straw thicker with age: the model uses a radius that grows linearly with the age of each point, r = r_straw + κ·age, with κ a fixed fraction of the length growth rate (6 % for the stalactite, 8 % for the stalagmite). The shape is therefore illustrative, but the time to a column T = G / (R_tite + R_mite) follows directly from the rates and the gap G measured in the 3D model.
The river
Open-channel flow follows Manning's equation Q = (1/n) A R^(2/3) S^(1/2) (n = 0.035 for gravel). Dissolved load is Q·c·M: at 0.15 m³/s and 1.7 mmol/L that is a few hundred tonnes of limestone per year, which is how karst passages widen over many millennia. The value is an upper bound (it assumes the stream is saturated).
Why caves ring: reverberation
In a diffuse field, sound energy decays by absorption at the walls. Sabine's formula is RT60 = 0.161 V / A, A = Σ S_i α_i (+ 4mV for absorption in the air), and the Eyring form replaces S α with −S ln(1 − α), which is more accurate for absorbent rooms. Air absorption m comes from ISO 9613-1 (a function of frequency, temperature and humidity). Bare wet limestone has α of only 0.01 to 0.03, so caves reverberate for seconds; decorated, muddy chambers and open shafts absorb more. V and S of the three chambers are measured from the Blender model (S includes the rough wall detail). Surface absorption rises slightly with frequency in this model (illustrative factors).
Echoes
A wall at distance d returns the first echo after t = 2d / c, with c = 331.3 √(1 + T/273.15) m/s, so it is a clean echo (more than 50 ms) from 8.6 m on. The simulation casts 96 rays from the explorer to find the walls and uses their distances as early reflections. The long tail is a statistical decay set by the RT60 of each band, with level from the room constant: reverberant-to-direct energy = 16π/R, R = Sα/(1−α). It is a plausible synthesis, not a wave simulation: no diffraction, modes or flutter-echo geometry, and the first-order amplitudes are simplified.
Numerical checks
(1) The closed-form calcium equilibrium is compared with a solver that keeps H⁺, OH⁻ and CO₃²⁻ in the charge balance. (2) SI is exactly 0 at equilibrium. (3) The film-growth formula is compared with a numerical integration of the film ODE using the surface flux. (4) The time to close the gap is compared with stepping growth in time. (5) Manning's depth is checked by recomputing Q. (6) Particle tracing (random rays with diffuse reflection and per-bounce loss) in a box with the same V and S gives RT60 independently of Sabine's formula. (7) The impulse response's Schroeder curve recovers the formula. The experiment repeats (6) over eight volumes.
Educational model. Real caves are irregular (S in Sabine's formula is the measured surface of this model), the growth rate depends on many more factors (drip site hydrology, temperature swings, ventilation), and geology is shown schematically. Family-friendly, no animals depicted. The 3D lights and sky are artistic.