Tissue Compartment gas loading and NDL calculator

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!

Dive_TC_Calculator

This is a minor revision. I changed the bold blue "Yes" or "No" for the AD uses this table on the ALT sheet to not bold black. I wanted to be consistent and keep bold blue for user-entered values. I added some comments under the heading Excel and Calc and added a Key column in the ALT sheet. The calculations have not changed. The revision date is 04-JUN-2015 and the file is dive_EFX_rev9.1.xls and can be downloaded by clicking on the link above.

marc.Collin brings up an interesting point. Can we use a constant depth (Haldane) equation to calculate NDL's for descents and ascents which are changing in depth. I haven't seen an actual dive computer algorithm but I'm guessing it uses the same equation to calculate NDL's for descents/ascents. The DC calculates NDL every so many seconds. For each calculation it uses the current depth. Using this methodology a descent looks like a series of constant depth dive segments. I simulated this in the spreadsheet by making each segments 10 ft. deeper to an ending depth of 60 ft for 30 minutes, and compared the NDL's for each profile. There was only a one minute difference between the two profiles. Here are the profiles:

...........SD.. FD .Rate .Time .NDL
Seg 1:... 0... 60.. 60..... 1.0... 58
Seg 2: .60....60.... 0... 30.0... 27

Seg 1:... 0.. .10.. 60.... 0.2... NV
Seg 2:...10.. 20.. 60.... 0.2... NV
Seg 3:. .20.. 30.. 60.... 0.2.. 505
Seg 4:. .30.. 40.. 60.... 0.2.. 165
Seg 5:.. 40.. 50.. 60.... 0.2.... 90
Seg 6:.. 50.. 60.. 60.... 0.2.... 58
Seg 7:.. 60.. 60.... 0.. 30.0.... 28

The one minute difference might be due to rounding errors in the calculations. At any rate I think we can have confidence in using the Haldane equation for ascents and descents in the spreadsheet.
 
Dive_TC_Calculator

This is a minor revision. I changed the bold blue "Yes" or "No" for the AD uses this table on the ALT sheet to not bold black. I wanted to be consistent and keep bold blue for user-entered values. I added some comments under the heading Excel and Calc and added a Key column in the ALT sheet. The revision date is 04-JUN-2015 and the file is dive_EFX_rev9.1.xls and can be downloaded by clicking on the link above.

marc.Collin brings up an interesting point. Can we use a constant depth (Haldane) equation to calculate NDL's for descents and ascents which are changing in depth. I haven't seen an actual dive computer algorithm but I'm guessing it uses the same equation to calculate NDL's for descents/descents. The DC calculates NDL every so many seconds. For each calculation it uses the current depth. A descent looks like a series of constant depths. I simulated this in the spreadsheet by making each segments 10 ft. deeper to an ending depth of 60 ft for 30 minutes, and compared the NDL's for each profile. There was only a one minute difference between the two profiles. Here are the profiles:

SD FD Rate Time NDL
Seg 1: 0 60 60 1.0 58
Seg 2: 60 60 0 30.0 27

Seg 1: 0 10 60 0.2 NV
Seg 2: 10 20 60 0.2 NV
Seg 3: 20 30 60 0.2 505
Seg 4: 30 40 60 0.2 165
Seg 5: 40 50 60 0.2 90
Seg 6: 50 60 60 0.2 58
Seg 7: 60 60 0 30.0 28

The one minute difference might be due to rounding errors in the calculations. At any rate I think we can have confidence in using the Haldane equation for ascents and descents in the spreadsheet.

Dive computers calculate descent and ascent tissue loadings using Schreiner equation. But you are correct using haldane equation with small enought steps you get same result.

Calculation of NDL has nothing to do with how we calculate tissue status, but it takes that status and with help of iterative proces calculates NDL using Haldane equation (mixed gass). For Ean there is a diferent formula that can calculate it in one step.

NDL is in computers usualy calculated with same rate as the tissue status and deco obligation is calculated.

Igor P

Sent from my PAP4500DUO using Tapatalk 2
 
Last edited:
Dive computers calculate descent and ascent tissue loadings using Schreiner equation. But you are correct using haldane equation with small enought steps you get same result.

The spreadsheet uses the Schreiner equation to calculate tissue compartment loadings for all dive segments. The NDL calculation in the above posted profiles and in the spreadsheet uses the Haldane equation. I solved the Schreiner equation for T (NDL) and used the surfacing M-value in place of P. Using the values for segment 1 in the first profile and TC4 I got 1 minute which happens to be the descent time. If you or anyone else knows how to apply the Schreiner equation to calculate NDL's let me know and I'll evaluate it. If it provides a more accurate NDL for ascents/descents I'll use it in the spreadsheet.

---------- Post added June 5th, 2015 at 07:56 AM ----------

The Schreiner equation I used for T turned out to be wrong after I reentered the formula in this equation solver. After getting the correct equations (yes, there are two solutions!) I didn't try to solve them -- they are too complicated. If you want to check yourself I suggest you substitute J for Pi and X for Po. The solver doesn't like subscripted variables.
 
Last edited:
Dive computers calculate descent and ascent tissue loadings using Schreiner equation. But you are correct using haldane equation with small enought steps you get same result.

Calculation of NDL has nothing to do with how we calculate tissue status, but it takes that status and with help of iterative proces calculates NDL using Haldane equation (mixed gass). For Ean there is a diferent formula that can calculate it in one step.

NDL is in computers usualy calculated with same rate as the tissue status and deco obligation is calculated.

Igor P

Sent from my PAP4500DUO using Tapatalk 2

how to be sure they use Schreiner equation?

i started to implement it in an arm platform.

i use bulhman table, schereiner equation and
Alveolar air equation

i do calculation every second.
 
how to be sure they use Schreiner equation?

i started to implement it in an arm platform.

i use bulhman table, schereiner equation and
Alveolar air equation

i do calculation every second.

Well, I use same as OP Schreiner equation for tissue loadings in my "DIY CCR Computer with PPO2 monitoring and HUD". My results compared with Shearwater Pursuit are within minute on long dives, same thing comparing with Multideco X1. I betatested and checked computations of some commercial dive computers and Decoplanners that use ZH-L16 and all of them use in their calculations one or both equations.
Solving Schreiner equation for rate of depth change == 0 jou get basic Haldane equation.

Best

Igor P

Sent from my PAP4500DUO using Tapatalk 2

---------- Post added June 5th, 2015 at 08:16 AM ----------

The spreadsheet uses the Schreiner equation to calculate tissue compartment loadings for all dive segments. The NDL calculation in the above posted profiles and in the spreadsheet uses the Haldane equation. I solved the Schreiner equation for T (NDL) and used the surfacing M-value in place of P. Using the values for segment 1 in the first profile and TC4 I got 1 minute which happens to be the descent time. If you or anyone else knows how to apply the Schreiner equation to calculate NDL's let me know and I'll evaluate it. If it provides a more accurate NDL for ascents/descents I'll use it in the spreadsheet.

---------- Post added June 5th, 2015 at 07:56 AM ----------

The Schreiner equation I used for T turned out to be wrong after I reentered the formula in this equation solver. After getting the correct equations (yes, there are two solutions!) I didn't try to solve them -- they are too complicated. If you want to check yourself I suggest you substitute J for Pi and X for Po. The solver doesn't like subscripted variables.
Yes you are correct there are two of them.

Well I believe you still do not understand what calculating NDL in general diving means. As I wrote we do not ask ourselves how long can we ascend or descend without entering in decompression regime, but how long can we stay at actual depth without entering in decompression regime.

The solved formula for T as I mentioned before can be used only with Ean ir Air and not with Trimix. For trimix dives you need to build interactive method to calculate NDL.

The formula you use is precise enough for Air and Ean diving.
There is no better way to do it.
Well actualy, you can use same interactive proces as is needed with trimix, but the result would be the same if calculated correctely.

Sent from my PAP4500DUO using Tapatalk 2
 
The solved formula for T as I mentioned before can be used only with Ean ir Air and not with Trimix. For trimix dives you need to build interactive method to calculate NDL.

Sent from my PAP4500DUO using Tapatalk 2

you mean:

Trial and error method: for small increments intime, e.g. 1sec or 0.1min, all relevant terms are
calculated and checked to see if the ascent criteria
are met


do you do calcul every second for your computer?

like you know, pressure captor are very sensitive, you move from 1mm and the value will change... do you keep a threshold for your calculation?
 
you mean:

Trial and error method: for small increments intime, e.g. 1sec or 0.1min, all relevant terms are
calculated and checked to see if the ascent criteria
are met


do you do calcul every second for your computer?

like you know, pressure captor are very sensitive, you move from 1mm and the value will change... do you keep a threshold for your calculation?
Yes some kind of checking with small decrement in timings if criteria of no decostop needed true is fine.

I take as a base more than 98 min is displayed as 99, from there calculate NDL usind blackbox method - function a friend that worked on Uemis suggested. He named it so long years agoo... it shortens/lenghtens the test time for certain amount and checkes for criteria if fulfiled.
When criteria fulfiled exits with NDL.

I measure depth every seccond, have incorporated RTC, so as soon as the previous calculation loop is ended check actual depth, read time interval, calculate tissue status ( using Schreiner equation - previous depth,actual depth,time interval..) and than check if decostop needed, if yes calculate decompression stop time and the TTS. If no decostop needed calculate no deco time (NDL).

I use actual reading from sensor. The minimal offset of fewe milibar is no problem. MS suggests to use average of some measurements. I use MS5535c pressure sensor.



Sent from my PAP4500DUO using Tapatalk 2
 
Dive_TC_Calculator

This is still release 9.1.

Igor p:
Well I believe you still do not understand what calculating NDL in general diving means. As I wrote we do not ask ourselves how long can we ascend or descend without entering in decompression regime, but how long can we stay at actual depth without entering in decompression regime.

I understand the principles behind calculating NDL and I agree with you.
 
Last edited:
Dive_TC_Calculator

This is release 10. I've included a new sheet called PLAN. You can use it to plan dives based on gas consumption. The file is dive_EFX_rev10.xls and has a revision date of 09-JUN-2015.

---------- Post added June 10th, 2015 at 06:17 PM ----------

Dive_TC_calculator

This is release 11.0. I removed the VB module so you shouldn't get any more Excel or Calc notices regarding macros. The spreadsheet does not use any macros or VB functions. Gas volumes are based on the stating cylinder volume instead of rated volume. For metric users this means your starting volume for an 11 liter tank will be about 2200 liters instead of 11 liters. This makes the numbers more manageable and perhaps more understandable. Instead of a SAC of 0.058 l/min you will now see 17.5 l/min. Thanks TBone for the primer on metric SAC math.

The revision date is 10-JUN-2015 and the file dive_EFX_rev11.xls can be downloaded by clicking on the link above. I created this version in metric units using the same profile depths and times as the previous imperial version. Imperial users....don't despair. If you have the previous spreadsheet and you want the same profiles copy in the numbers from it and select the proper units.
 
Last edited:
Dive_Calculator

This is release 12.0. I added a new sheet called MISC. It contains calculations for nitrox, tank pressures and volumes, the general gas law for finding pressures and volumes, a section to calculate the volume of an object and its buoyancy, and trimix gas. The revision date is 15-JUN-2015. Download dive_EFX_rev12.xls by clicking on the link above.

---------- Post added June 16th, 2015 at 07:55 PM ----------

Dive_Calculator

This is release 12.1. I changed the cylinder 1 stress gas data so that you can choose which segment to start the stress. The remaining pressure and volume will start from the previous segment instead of from the start volume. This mimics more closely real dive scenarios. I also added a temperature and pressure conversion section to the MISC sheet. I added the version number to the DIVE sheet to help users track versions. The revision date is 16-JUN-2015. Download dive_EFX_rev12_1.xls by clicking on the link above.

---------- Post added June 16th, 2015 at 07:59 PM ----------

Deleted old version 12.0.

Dive_Calculator

This is release 12.1. I changed the cylinder 1 stress gas data so that you can choose which segment to start the stress. The remaining pressure and volume will start from the previous segment instead of from the start volume. This mimics more closely real dive scenarios. I also added a temperature and pressure conversion section to the MISC sheet. I added the version number to the DIVE sheet to help users track versions. The revision date is 16-JUN-2015. Download dive_EFX_rev12_1.xls by clicking on the link above.
 
https://www.shearwater.com/products/swift/

Back
Top Bottom