Gas bubbles nucleate in the melt and rise toward the vent. Their rise speed follows a Stokes-law-style balance between buoyancy and viscous drag:
v_rise = k / eta_eff
eta_eff = viscosity * exp(-(T - 1180) / 300)
P += bubbles_arriving * pressure_slider
eruption when P > threshold:
v0 = base * sqrt(P / threshold) * pressure_slider
x(t) = x0 + v0x * t
y(t) = y0 + v0y * t + 0.5 * g * t^2
Hotter melt is thinner (lower effective viscosity eta_eff), so bubbles rise faster and vent gas continuously — a gentle, effusive chamber. Cold, stiff, high-viscosity melt traps gas until chamber pressure crosses the eruption threshold, then releases it all at once as a violent pulse — the same viscosity/gas coupling that separates a lava-fountain volcano from an explosive one.
- Viscosity — resistance to bubble rise; higher values trap more gas and build toward bigger, less frequent eruptions.
- Gas pressure — how much pressure each arriving bubble contributes, and how forcefully the eruption launches ejecta.
- Temperature — thins the melt (lowers effective viscosity), directly speeding bubble ascent and shifting the process toward effusive venting.
- Gravity — the deceleration ejecta feel once airborne; lower gravity throws the plume higher and lets it hang longer, exactly as in the projectile equation above.
- Pulse eruption — forces an immediate release regardless of the current pressure reading, useful for comparing eruption strength at different settings.