top of page

"Better to be on the boat wishing you were diving, than underwater wishing you were on the boat."

Augusto Pavan

HOW IT WORKS

Compared to the existing tools (where you generally know the basics — e.g. Bühlmann algorithm — but never the full details, such as how they handle rounding, which causes small differences between software), mine is completely free and open-source.
You can check for yourself exactly how it works in detail.
Here you’ll find the full explanation of how the planner works, along with the code and the source files.

THEORY - The Algorithm

​

For his ZH-L16 model, Bühlmann divided the body into 16 theoretical “tissues” and assigned them a wide range of half-times — from just a few minutes to several hours.
It is important to stress that these tissues do not represent actual biological tissues. The half-times are not measured values of any specific organs, but rather a simplification derived from more than 200,000 hyperbaric chamber tests.
In other words, these “tissues” are better understood as compartments, each with a different rate of inert gas uptake and release, chosen to represent a plausible spectrum of real physiological behavior.

​​​

​

table c.JPG

The only different from ZHL-16C and ZHL-16B is the table of coefficients

Step 1: Calculating tissue saturation at a given depth and time

​

The uptake (or release) of inert gas in a compartment can be described by an exponential equation.
For a tissue with half-time t½, exposed to an ambient inert gas pressure Pamb for a time interval Δt, the tissue inert gas pressure Pt after the interval is given by Bühlmann’s equation:

formula sat.JPG
  • Pbegin = pressure of inert gas inside the compartment before the exposure (ATA)

  • Pcomp = pressure of inert gas inside the compartment after the exposure (ATA)

  • Pgas = pressure of the inspired inert gas (ATA)

  • te = duration of the exposure (min)

  • t½ = half-time of the compartment (min) (see table)

esempio sat.JPG

Step 2: Calculating the limit

​

Now we have to calculate the limit of sovra-saturation tollerate by tissue 

Pambtol = ( Pcomp - a ) x b

​

This formula gives the maximum supersaturation a tissue can tolerate — its M-value.

If a compartment’s inert-gas pressure (red curve) would rise above its M-value line during ascent, you must make a decompression stop and wait until the tissue pressure falls back below the M-value before ascending further.

The intersection between the tissue saturation curve and the M-value line defines the first decompression stop (the ceiling).

Technical note (Bühlmann): for each compartment the M-value is:


Pambtol = ( Pcomp - a ) x b

​

And this is our first stop.

​

After this, we compute how long we must wait before ascending 3 m (to the next ambient pressure) without crossing the M-value line.

​​​

​

graficosat.jpg

THIS IS ZHL-16C/B

BUT WE USE ZHL-16C/B + GF

GF is a gradient factor to draw a line (green line) under the m-vaule whit different slope respect M-value

​

A Gradient Factor is simply a decimal fraction (or percentage) of the M-value Gradient. Gradient Factors (GF) are 0 GF 1. defined between zero and one, the ambient pressure line. A Gradient Factor of 0 represents A Gradient Factor of 1 represents the M-value line. Gradient Factors modify the conservatism within the original M-value equations for decompression zone-

​

In practice we use two values, GF_low (applied at the first/deepest stop) and GF_high (applied at the surface). During ascent, GF is ramped linearly from GF_low to GF_high, so the permitted tissue pressure stays below the M-value line with a depth-dependent margin (often drawn as a green line under the M-value).

graficosat.jpg

THIS IS ZHL-16C/B + GF

IMG_6442.jpg

About Me

With a strong passion for electronics and technology, I’ve begun integrating it into another deep interest of mine: scuba diving.

 

© 2023 by Going Places. 

bottom of page