how to calculate where your first decompression stop is

Please register or login

Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

Benefits of registering include

  • Ability to post and comment on topics and discussions.
  • A Free photo gallery to share your dive photos with the world.
  • You can make this box go away

Joining is quick and easy. Log in or Register now!

so.... how the heck do you calculate the pressure of a tissue compartment at a certain depth? do you multiply it by a certain number? it seems to be measured in meters on deco for divers, and I'm using 132 feet as a practice example but just cannot figure it out. I ended up just calculating the alveolar pressure of nitrogen on the surface and multiplying it to depth for calculations. which I am sure is not the correct way, but I wanted to at least do something.
when I tried to do gradient factor calculations, I got 2.3 or something like that- book said 1.0 is 100 percent of the M-value line. soooo yeah, something's not quite right LOL.
The first thing to do is calculate the surface pressure. Workman used gauge pressure in his formulas since the US Navy used the surface as the starting point. The surface was sea level which was set to 0. Since Buhlmann was interested in diving in high mountain lakes he used absolute pressures which kept all the numbers positive. So, sea level becomes 1 atm or 33 fsw (feet of sea water). Note: fsw is a pressure, not a depth. Fsw and ft of sea water are not the same units. Here is a description from the DIVE_HELP page in my excel spreadsheet:

UNITS OF PRESSURE
All pressure values on the ss are displayed as absolute pressures in feet or meters of salt or fresh water rather than the typical units of psi (imperial) or Kpa (metric). This seems odd at first because a distance unit (feet or meters) is used to define a pressure unit. What seems even stranger is that the gauge pressure is equal to the depth in feet or meters. To understand why this is true consider this relationship: 33 fsw/33 ft (or 10 msw/10m). We can describe it this way: there is a pressure of 33 fsw which is equivalent to a pressure exerted by 33 ft (depth) of water. The spreadsheet converts depth to a pressure in order to calculate insP, the inspired inert gas pressure. For example, to convert 80 ft of depth to its equivalent gauge pressure (P) in fsw we could write: P = 80 ft x 33 fsw/33 ft. As a sanity check on the math the ft divide out leaving fsw which is what we want. The really interesting part is that the 33 divides out giving us an answer that is actually the depth but in pressure units of fsw. This is convenient because it eliminates the need to use cumbersome unit conversions in the formulas. Absolute pressures are obtained by adding the pressure of the atmosphere at the surface to the pressure exerted by the water (which is gauge pressure).

To get the tissue pressure(s) first calculate the inspired gas pressure (Pi). Here's the formula:

Pi = (new_depth * WATER_PRESS_ADJ + sp - WVP) * N2_GAS / 100

All units need to be in pressures. The new_depth in fsw (remember this is a pressure) is simply the depth in ft. The WATER_PRESS_ADJ is a constant that is either 1.0 for sea water or 0.97 if calculating for fresh water. Sp is the surface pressure, WVP is the water vapor pressure in the lungs which reduces the overall nitrogen pressure, and N2_GAS is the percentage of nitrogen gas in the mix.

Once you have the Pi you can calculate the tissue compartment pressures (TCP) for one or all 16 compartments. Since all dives start at the surface, the surface pressure minus the WVP must be stored because it will be used to calculate the TCP at the new depth. Here is the formula to calculate TCP's (Schreiner equation):

p = Pi + rate * (t - 1 / k) - (Pi - Po - rate / k) * Exp(-k * t)

For N2 the rate is the descent rate x N2 gas percentage as a decimal, t is the time spent at the new depth, k = ln2 / ht or 0.693 divided by the N2 half-time for the particular TC being calculated. Po is the TCP of the last segment or depth, EXP is the natural logarithm. If you are calculating the descent from the surface to some depth then Po will equal the surface pressure for all TC's.

Notice that GF's (gradient factors) do not enter the calculations here. Both GFLo and GFHi are used to calculate the ceiling which is the next step once all the TCP's are calculated. GFLo is used only to calculate the first stop for a deco dive. For NDL dives only GFHi is used. Also, when the ceilings are calculated a GF is used from GFLo to GFHi in equal increments from the first stop to the surface. If GF = 60/80 and the first stop is calculated to be 40 ft then the GF at 40 ft will be 60. The GF will change in increments of 5, so that: 40 ft = 60, 30 ft = 65, 20 ft = 70, 10 ft = 75, and the surface = 80. When GF's are used in the calculations they need to be converted to decimals. So a GF of 0 = 0, a GF of 60% = 0.6, a GF of 80% = 0.8 and so on.

You must use the same units in all calculations.
 
Given that pressures are in fsw, msw, ffw, or mfw how can we convert those pressures to psi (imperial), bar (metric), or atm (atmospheres). It's actually quite simple. Recall that a pressure in fsw (feet of sea water) is actually the depth and the pressures are absolute. So, 49 fsw becomes 49 fsw / 33 ft x 14.7 psi or 49 fsw / 33 ft atm absolute. To convert to gauge pressure subtract out the atmospheric pressure: 49 / 33 x 14.7 - 14.7 psi or 49 / 33 - 1 atm.

In metric units 15 msw becomes 15 msw x 1 bar / 10 msw + 1 bar = 2.5 bar absolute. Again, subtracting out the surface pressure of 1 bar gives the gauge pressure of the water. (Edited)

For altitude diving here is the formula for converting an altitude to a pressure in atm's:

'------------------------------------------------------------------------
'calculate the surface pressure given the pressure at sea level in the
'correct units and base altitude. Use the formula for finding the
'pressure in atm at altitude. Atm are converted to ft or m by sp at sea level.
'
' Pa = (1 atm) x e^(5.255876 x ln(1 - (C * A)))
'
' where C = 0.0000068756 per ft or 0.000022558 per m
' A = altitude in ft or m
' Pa = pressure in atm at altitude
' e = 2.71828 (Exp function uses e as the base)
'------------------------------------------------------------------------
 
Again, subtracting out the surface pressure of 10 bar
Typo for 1 bar or 10 msw I presume
 
Crikey, @BlueTrin. Anyone have it in, say, FORTRAN for geezers? :wink:

Erik Baker does. G77 will compile his code, you just need to change a Microsoft-ism to the standard keyword (forgot what it is, exactly) in a couple of places.

HTH
 
so.... how the heck do you calculate the pressure of a tissue compartment at a certain depth?

Schreiners equation: p = Pi + rate * (t - 1 / k) - (Pi - Po - rate / k) * Exp(-k * t) -- see @EFX's post above.

when I tried to do gradient factor calculations, I got 2.3 or something like that- book said 1.0 is 100 percent of the M-value line. soooo yeah, something's not quite right LOL.

It's a simplification put there to confuse you. Gradient factor apples to Buhlmann's a and b coefficients, not to Workman-style M-values. GF 1 is "no gradient factor" and does match the M-value line, but e.g. GF 0.85 is not exactly 85% of the M-value line. (Erik Baker has the explanation for a and b and the formula to convert the coefficients to M-values and back.)

I didn't put gradient factors in here: diy-zhl/diyzhl.ipynb at master · dmaziuk/diy-zhl but the rest of that worked back when I wrote it.
 
Here is the formula to calculate TCP's (Schreiner equation):

p = Pi + rate * (t - 1 / k) - (Pi - Po - rate / k) * Exp(-k * t)

For N2 the rate is the descent rate x N2 gas percentage as a decimal, t is the time spent at the new depth, k = ln2 / ht or 0.693 divided by the N2 half-time for the particular TC being calculated. Po is the TCP of the last segment or depth, EXP is the natural logarithm.
After re-reading the above post I realized the Schreiner I cited above might be confusing. I copied it from my code in the spreadsheet and the function name in VBA for e raised to some power is EXP. Let me rewrite the equation to make it clearer:

p = Pi + rate * (t - 1 /k) - (Pi - Po- rate / k) * e ^ (-k * t)

the constant e is equal to 2.718 so the last expression in the above equation is e raised to the power of (-k * t). I hope this is clearer.
 
GF 0.85 is not exactly 85% of the M-value line.
True, but it is 85% of the way from ambient to the M-value line. In other words, GF0 is ambient pressure (zero supersaturation).
 
True, but it is 85% of the way from ambient to the M-value line. In other words, GF0 is ambient pressure (zero supersaturation).
I've nearly figured out how to calculate the compartment pressures, but when it comes to gradient factors, I die lmao. because say I do 75/95 (example numbers, I wouldn't dive those lol), do I put in 0.75 or 75? or neither? for tissue compartment pressure, I assume I put in the value I get from Schreiner's equation?
 

Back
Top Bottom