165
|
1 // **************************************************************
|
|
2 // OSTC - diving computer code
|
|
3 // Copyright (C) 2008 HeinrichsWeikamp GbR
|
|
4 //
|
|
5 // This program is free software: you can redistribute it and/or modify
|
|
6 // it under the terms of the GNU General Public License as published by
|
|
7 // the Free Software Foundation, either version 3 of the License, or
|
|
8 // (at your option) any later version.
|
|
9 //
|
|
10 // This program is distributed in the hope that it will be useful,
|
|
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13 // GNU General Public License for more details.
|
|
14 //
|
|
15 // You should have received a copy of the GNU General Public License
|
|
16 // along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17 //
|
|
18 // HISTORY
|
197
|
19 // 2011-01-20: jDG Cleanup addressing.
|
|
20 // 2011-02-13: jDG Correct some typos.
|
165
|
21 //
|
|
22 // **************************************************************
|
|
23
|
|
24 rom const float buhlmann_a[32] =
|
197
|
25 { // Data ZH-L16C, from Bühlmann Tauchmedizin 2002, option 1a (4mn)
|
165
|
26 //---a for N2 ----------------------------------------------------------------
|
197
|
27 1.2599,
|
|
28 1.0000,
|
|
29 0.8618,
|
|
30 0.7562,
|
|
31 0.6200,
|
|
32 0.5043,
|
|
33 0.4410,
|
|
34 0.4000,
|
|
35 0.3750,
|
|
36 0.3500,
|
|
37 0.3295,
|
|
38 0.3065,
|
|
39 0.2835,
|
|
40 0.2610,
|
|
41 0.2480,
|
|
42 0.2327,
|
165
|
43 //---- a of He ---------------------------------------------------------------
|
197
|
44 1.7424,
|
|
45 1.3830,
|
|
46 1.1919,
|
|
47 1.0458,
|
|
48 .9220,
|
|
49 .8205,
|
|
50 .7305,
|
|
51 .6502,
|
|
52 .5950,
|
|
53 .5545,
|
|
54 .5333,
|
|
55 .5189,
|
|
56 .5181,
|
|
57 .5176,
|
|
58 .5172,
|
|
59 .5119
|
165
|
60 };
|
|
61
|
|
62 rom const float buhlmann_b[] =
|
|
63 {
|
|
64 //---- b for N2 --------------------------------------------------------------
|
197
|
65 0.5050,
|
|
66 0.6514,
|
165
|
67 0.7222,
|
|
68 0.7825,
|
|
69 0.8126,
|
|
70 0.8434,
|
|
71 0.8693,
|
|
72 0.8910,
|
|
73 0.9092,
|
|
74 0.9222,
|
|
75 0.9319,
|
|
76 0.9403,
|
|
77 0.9477,
|
|
78 0.9544,
|
|
79 0.9602,
|
|
80 0.9653,
|
|
81 //---- b for He --------------------------------------------------------------
|
|
82 0.4245,
|
|
83 0.5747,
|
|
84 0.6527,
|
|
85 0.7223,
|
|
86 0.7582,
|
|
87 0.7957,
|
|
88 0.8279,
|
|
89 0.8553,
|
|
90 0.8757,
|
|
91 0.8903,
|
|
92 0.8997,
|
|
93 0.9073,
|
|
94 0.9122,
|
|
95 0.9171,
|
|
96 0.9217,
|
|
97 0.9267
|
|
98 };
|
|
99
|
|
100 rom const float buhlmann_ht[] =
|
|
101 {
|
|
102 //---- N2 --------------------------------------------------------------------
|
197
|
103 4, // Compartiment half-life, in minute, for nitrogen.
|
165
|
104 8,
|
|
105 12,
|
|
106 18,
|
|
107 27,
|
|
108 39,
|
|
109 55,
|
|
110 77,
|
|
111 109,
|
|
112 146,
|
|
113 187,
|
|
114 239,
|
|
115 305,
|
|
116 390,
|
|
117 498,
|
|
118 635,
|
|
119 //---- He --------------------------------------------------------------------
|
|
120 1.51, // Compartiment half-life, in minute, for helium.
|
|
121 3.02,
|
|
122 4.72,
|
|
123 6.99,
|
|
124 10.21,
|
|
125 14.48,
|
|
126 20.53,
|
|
127 29.11,
|
|
128 41.20,
|
|
129 55.19,
|
|
130 70.69,
|
|
131 90.34,
|
|
132 115.29,
|
|
133 147.42,
|
|
134 188.24,
|
|
135 240.03
|
|
136 };
|
|
137
|
|
138 rom const float e2secs[] =
|
|
139 {
|
|
140 //---- N2 --------------------------------------------------------------------
|
198
|
141 5.75958E-03, // result of 1 - 2^(-1/(30sec*HT))
|
197
|
142 2.88395E-03,
|
198
|
143 1.92356E-03,
|
197
|
144 1.28278E-03,
|
|
145 8.55371E-04,
|
|
146 5.92258E-04,
|
|
147 4.20001E-04,
|
|
148 3.00019E-04,
|
|
149 2.11949E-04,
|
|
150 1.58240E-04,
|
|
151 1.23548E-04,
|
|
152 9.66686E-05,
|
|
153 7.57509E-05,
|
|
154 5.92416E-05,
|
|
155 4.63943E-05,
|
|
156 3.63850E-05,
|
165
|
157 //---- He --------------------------------------------------------------------
|
197
|
158 1.51848E-02,
|
|
159 7.62144E-03,
|
|
160 4.88315E-03,
|
|
161 3.29997E-03,
|
|
162 2.26041E-03,
|
|
163 1.59437E-03,
|
|
164 1.12479E-03,
|
|
165 7.93395E-04,
|
|
166 5.60641E-04,
|
|
167 4.18555E-04,
|
|
168 3.26795E-04,
|
|
169 2.55722E-04,
|
|
170 2.00387E-04,
|
|
171 1.56716E-04,
|
|
172 1.22734E-04,
|
|
173 9.62538E-05
|
165
|
174 };
|
|
175
|
|
176 rom const float e1min[] =
|
|
177 {
|
|
178 //---- N2 --------------------------------------------------------------------
|
197
|
179 1.59104E-01, // Integration constant for 1 minute,
|
|
180 8.29960E-02, // Ie. 1- 2^(-1/HT)
|
|
181 5.61257E-02,
|
|
182 3.77762E-02,
|
|
183 2.53454E-02,
|
|
184 1.76160E-02,
|
|
185 1.25236E-02,
|
|
186 8.96152E-03,
|
|
187 6.33897E-03,
|
|
188 4.73633E-03,
|
|
189 3.69981E-03,
|
|
190 2.89600E-03,
|
|
191 2.27003E-03,
|
|
192 1.77572E-03,
|
|
193 1.39089E-03,
|
|
194 1.09097E-03,
|
165
|
195 //---- e 1min He -------------------------------------------------------------
|
197
|
196 3.68109E-01,
|
|
197 2.05084E-01,
|
|
198 1.36579E-01,
|
|
199 9.44046E-02,
|
|
200 6.56359E-02,
|
|
201 4.67416E-02,
|
|
202 3.31991E-02,
|
|
203 2.35301E-02,
|
|
204 1.66832E-02,
|
|
205 1.24808E-02,
|
|
206 9.75753E-03,
|
|
207 7.64329E-03,
|
|
208 5.99417E-03,
|
|
209 4.69082E-03,
|
|
210 3.67548E-03,
|
|
211 2.88359E-03
|
165
|
212 };
|
|
213
|
|
214 rom const float e10min[] =
|
|
215 {
|
|
216 //---- N2 --------------------------------------------------------------------
|
198
|
217 // The 10 min Value in float notation:
|
|
218 // result of 1 - 2^(-10/ht)
|
197
|
219 8.23223E-01, // 1 - 2^(-10/4.0)
|
|
220 5.79552E-01,
|
|
221 4.38769E-01,
|
|
222 3.19605E-01,
|
|
223 2.26416E-01,
|
|
224 1.62832E-01,
|
|
225 1.18409E-01,
|
|
226 8.60863E-02,
|
|
227 6.16117E-02,
|
|
228 4.63665E-02,
|
|
229 3.63881E-02,
|
|
230 2.85855E-02,
|
|
231 2.24698E-02,
|
|
232 1.76160E-02,
|
|
233 1.38222E-02,
|
|
234 1.08563E-02,
|
165
|
235 //---- He --------------------------------------------------------------------
|
197
|
236 9.89851E-01,
|
|
237 8.99258E-01,
|
|
238 7.69737E-01,
|
|
239 6.29027E-01,
|
|
240 4.92821E-01,
|
|
241 3.80407E-01,
|
|
242 2.86538E-01,
|
|
243 2.11886E-01,
|
|
244 1.54849E-01,
|
|
245 1.18026E-01,
|
|
246 9.34005E-02,
|
|
247 7.38569E-02,
|
|
248 5.83504E-02,
|
|
249 4.59303E-02,
|
|
250 3.61528E-02,
|
|
251 2.84646E-02
|
165
|
252 };
|
|
253
|