HP Forums
SCUBA - Nitrox and Trimix for HP-41 - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Software Libraries (/forum-10.html)
+--- Forum: HP-41C Software Library (/forum-11.html)
+--- Thread: SCUBA - Nitrox and Trimix for HP-41 (/thread-6863.html)

SCUBA - Nitrox and Trimix for HP-41 - 4ster - 09-16-2016 01:32 PM

First off, thanks to Dieter and Bob Prosperi for improvements to my original posting of this program.
My second hobby lately has been rediscovering my HP-41. I wrote this to support my first hobby.

Many SCUBA divers take a NITROX course to enable them to use a higher percentage of oxygen in their breathing gas to extend their time underwater. If you are a real diving junkie you learn how to use TRIMIX which is a mixture of Oxygen, Helium and Nitrogen to extend the depth limits of NITROX or AIR. The math for this is dead simple and can be done with paper and pencil, but it is tedious to remember which term goes where. If you are a NITROX diver this program solves the "Dalton's Diamond" problems in the coursework.

The following program works out the best mix for a given target depth. Alternatively, it allows a diver to determine the working limits of an existing mix in a scuba cylinder.

The program uses local labels in the top row of keys and a key mnemonic on the display to help with visualizing key assignments. SIZE=5, Total Registers=31. For divers outside the US and Canada who think of depth in meters instead of feet, change lines 36 and 105 from 33 to 10. You will also want to change line 110 to label the depth answers as meters and edit line 09 and 10 to FIX 1, SF 29.

To use, enter two or three knowns using the keys A though E. Find the unknowns using shifted keys a though e. Work the keys from the outside in for the unknowns, as keys b, c and d require that O2 (key A or a) and maximum depth (key E or e) are entered or solved for first. The program does not solve for partial pressure of O2, the diver must enter the target number using key C (for nitrox diving the generally accepted number is 1.4). Key c solves for Minimum Operating Depth and is used when diving hypoxic trimix. For divers using nitrox, just ignore the keys B and b which deal with helium, the helium value is set to zero when the program initializes. Any nitrox mix is breathable all the way to the surface so key c will always return a minimum depth of 0 using nitrox.

Definition of terms:
O2= % oxygen
He= % helium
PP= Partial Pressure of oxygen
ND= END or Equivalent Narcotic Depth (in feet)
D= MOD or Maximum Operating Depth (in feet)
MIN. OD= Minimum Operating Depth (for Hypoxic Mixes). To be conservative the program considers hypoxic to be below 17% O2.

Disclaimer: Do not rely on this program to do any real dive planning. Never exceed your training and check results against the methods you were taught to dive safely.

Of course, USER mode is set to ON for a program that uses single letter local labels.

A nitrox diver analyzes her cylinder and finds it contains 32.4% nitrox (32.4% oxygen and 67.6% nitrogen and trace gasses, Air is 20.9%/79.1%). What is her maximum depth if she does not want to exceed an O2 partial pressure of 1.4? What is the Equivalent Narcotic Depth at the maximum depth?

XEQ: TRIMIX (The display will read "O2/HePP ND D", which correspond to the top row keys below the display.)
Enter Oxygen: 32.4, press "A" (key below "O2" in display), Display: "O2/HePP ND D"
Enter Partial Pressure: 1.4, press "C" (key below "PP" in display), Display: "O2/HePP ND D"
Press "e" (shifted key below "D" in display), Display: "MOD=110 FT" So the diver will not go below 110 ft.
Press "d" (shifted key below "ND" if it was in the display), Display: "END=63 FT" So even though she may dive to 110 ft, she will feel as alert as she would be at 63 feet on air.

Example 2:

A Trimix diver wants to plan a dive to 300 feet. Air is deadly at that depth: The oxygen partial pressure exceeds safe standards and the nitrogen in air is so narcotic at that depth the diver would be incapable of rational thought. The diver wants the partial pressure of oxygen to be no more than 1.3 at 300 feet and he wants the narcotic effect of nitrogen to be no more than if he were diving to 66 feet. The remainder of the gas will be helium, what is the required mix? What is the shallowest depth that the mixture can be breathed?

XEQ: TRIMIX, Display: "O2/HePP ND D"
Enter maximum depth: 300, key "E", Display: "O2/HePP ND D"
Enter the Equivalent Narcotic Depth: 66, key "D", Display: "O2/HePP ND D"
Enter the Partial Pressure of O2: 1.3, key "C", Display: "O2/HePP ND D"
Press key "a", Display: "13% O2"
Press key "b", Display: "57% He"
Press key "c", Display: "MIN. OD=11 FT" The shallowest depth the diver can be to safely breathe this mixture.

Note: A standard convention in trimix diving is to label the cylinder with the gas contents as "O2%/He%", in this case "13/57". The nitrogen portion of the mix is left off of the label. That is why the first two key labels in the nemonic on the display are "O2/He" and why there is no solution for nitrogen % in the program.

02 CLX 'Clears registers 00 thru 04
03 STO 00
04 STO 01
05 STO 02
06 STO 03
07 STO 04
08 SF 21
09 FIX 0
10 CF 29
11 LBL 00
12 "O2/HePP ND D" 'Key mnemonic
14 LBL A 'Oxygen %
15 100
16 /
17 STO 00
18 GTO 00
19 LBL B 'Helium %
20 100
21 /
22 STO 01
23 GTO 00
24 LBL C 'PPO2
25 STO 02
26 GTO 00
28 XEQ 05
29 STO 03
30 GTO 00
32 XEQ 05
33 STO 04
34 GTO 00
35 LBL 05 'Converts feet to ata pressure
36 33
37 /
38 1
39 +
40 RTN
41 LBL a 'Calc O2%
42 RCL 02
43 RCL 04
44 /
45 STO 00
46 100
47 *
48 CLA
50 ">% O2"
52 GTO 00
53 LBL b 'Calc He%
54 RCL 03
55 RCL 04
56 /
57 RCL 00
58 +
59 1
60 X<>Y
61 -
62 STO 01
63 100
64 *
65 CLA
67 ">% He"
69 GTO 00
70 LBL c 'Calc Min. OD
71 0.17
72 RCL 00
73 /
74 XEQ 06
75 X<0? 'To keep O2 mixtures > .17 from returning negative values
76 0
77 "MIN. OD="
78 GTO 10
79 LBL d 'Calc END
80 1
81 RCL 00
82 RCL 01
83 +
84 -
85 RCL 04
86 *
87 STO 03
88 XEQ 06
89 "END="
90 GTO 10
91 LBL e 'Calc MOD
92 RCL 02
93 RCL 00
94 /
95 STO 04
96 XEQ 06
97 "MOD="
98 GTO 10
99 LBL 06 'Converts ata to feet
100 1
101 -
102 33
103 *
104 RTN
105 LBL 10 'Output routine for feet
106 ARCL X
107 "> FT"
109 GTO 00
110 END