Educational Use Only — Interactive walk-through of Bühlmann's M-value formula and where its coefficients come from.

M-Value Sandbox

Where the line comes from, and what it looks like for all 16 compartments.

How does the M-value change with ambient pressure?

Choose a compartment and variant, then move the ambient pressure. The point shows the current M-value on the selected M-line.

M(pamb) = a + pamb / b
5.5588 bar = 0.6200 bar + 4.0133 bar / 0.8126
Formula quantities and current values
a | tissue intercept
compartment + variant lookup
0.6200 bar
The M-line intercept on the y-axis. A higher value means more supersaturation is tolerated at the surface.
pamb | ambient pressure
…
4.0133 bar
The horizontal axis of the M-line. Each meter of depth adds 0.1 bar.
b | tissue slope
compartment lookup (slope = 1/b)
0.8126
Lower b → steeper M-line → more supersaturation tolerated as depth increases.
M | tolerated tissue pressure
= a + pamb / b
5.5588 bar
Above this, the algorithm flags supersaturation as unsafe.
Selected M-line: ZH-L16C Equilibrium: pt = pamb Current ambient pressure and corresponding M-value Surface (pamb = 1.013 bar)
Coefficients of all compartments

Compartments are mathematical models of saturation rates, not specific anatomical tissues. The examples are only approximate analogies.

Compartment Approximate analogy ZH-L16A ZH-L16B ZH-L16C

Variants B and C mostly change coefficient a, shifting the M-line. Coefficient b, which affects its slope, stays the same for TC2–16. TC1 is the exception: variants B and C use a different half-time, so b changes too.

Where do a and b come from?

ZH-L16A's a and b are computed from half-time. Variants B and C adjust selected compartments.

a(t1/2) = 2 · t1/2−1/3 bar
b(t1/2) = … − t1/2−1/2
Derived coefficients and current values
t1/2 | half-time
27.0 min
Each compartment's signature time. Not anatomical — a sample point on an exponential axis.
a(t1/2) | analytical intercept
= 2 · t1/2−1/3
0.6667 bar
Variants B and C lower a for selected compartments.
b(t1/2) | analytical slope
…
0.8126
Identical across A/B/C except TC1, whose t1/2 change also changes b.
a(t1/2) curve + 16 stored values (dots) b(t1/2) curve + 16 stored values (dots) Slider position (current t1/2)