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
+ − 19 // 2011-01-20; jDG Cleanup addressing.
+ − 20 //
+ − 21 // **************************************************************
+ − 22
+ − 23 rom const float buhlmann_a[32] =
+ − 24 { // ??? Data ZH-L16A, from Tauchmedizin 1995 ???
+ − 25 //---a for N2 ----------------------------------------------------------------
+ − 26 1.2599, /// WARNING ZH-L16c-1990 gives different values: 1.3318
+ − 27 1.0000, /// ... 1.0048
+ − 28 0.8618, /// ... 0.8653
+ − 29 0.7562, /// ... 0.7520
+ − 30 0.6200, /// ... 0.6194
+ − 31 0.5043, /// ... 0.5043
+ − 32 0.4410, /// ... 0.4396
+ − 33 0.4000, /// ... 0.3977
+ − 34 0.3750, /// ... 0.3701
+ − 35 0.3500, /// ... 0.3456
+ − 36 0.3295, /// ... 0.3269
+ − 37 0.3065, /// ... 0.3065
+ − 38 0.2835, /// ... 0.2848
+ − 39 0.2610, /// ... 0.2622
+ − 40 0.2480, /// ... 0.2486
+ − 41 0.2327, /// ... 0.2341
+ − 42 //---- a of He ---------------------------------------------------------------
+ − 43 1.7424, /// ... 1,7443
+ − 44 1.3830, /// ... 1,3800
+ − 45 1.1919, /// ... 1,1879
+ − 46 1.0458, /// ... 1,0455
+ − 47 .9220, /// ... 0,9211
+ − 48 .8205, /// ... 0,8232
+ − 49 .7305, /// ... 0,7321
+ − 50 .6502, /// ... 0,6508
+ − 51 .5950, /// ... 0,5981
+ − 52 .5545, /// ... 0,5568
+ − 53 .5333, /// ... 0,5285
+ − 54 .5189, /// ... 0,5178
+ − 55 .5181, /// ... 0,5137
+ − 56 .5176, /// ... 0,5196
+ − 57 .5172, /// ... 0,5150
+ − 58 .5119 /// ... 0,5109
+ − 59 };
+ − 60
+ − 61 rom const float buhlmann_b[] =
+ − 62 {
+ − 63 //---- b for N2 --------------------------------------------------------------
+ − 64 0.5050, /// WARNING ZH-L16c gives a different value: 0.5241
+ − 65 0.6514, /// All the other values matches ZH-L16c-1990
+ − 66 0.7222,
+ − 67 0.7825,
+ − 68 0.8126,
+ − 69 0.8434,
+ − 70 0.8693,
+ − 71 0.8910,
+ − 72 0.9092,
+ − 73 0.9222,
+ − 74 0.9319,
+ − 75 0.9403,
+ − 76 0.9477,
+ − 77 0.9544,
+ − 78 0.9602,
+ − 79 0.9653,
+ − 80 //---- b for He --------------------------------------------------------------
+ − 81 0.4245,
+ − 82 0.5747,
+ − 83 0.6527,
+ − 84 0.7223,
+ − 85 0.7582,
+ − 86 0.7957,
+ − 87 0.8279,
+ − 88 0.8553,
+ − 89 0.8757,
+ − 90 0.8903,
+ − 91 0.8997,
+ − 92 0.9073,
+ − 93 0.9122,
+ − 94 0.9171,
+ − 95 0.9217,
+ − 96 0.9267
+ − 97 };
+ − 98
+ − 99 rom const float buhlmann_ht[] =
+ − 100 {
+ − 101 //---- N2 --------------------------------------------------------------------
+ − 102 4, // Compartiment length, in minute, for nitrogen.
+ − 103 8,
+ − 104 12,
+ − 105 18,
+ − 106 27,
+ − 107 39,
+ − 108 55,
+ − 109 77,
+ − 110 109,
+ − 111 146,
+ − 112 187,
+ − 113 239,
+ − 114 305,
+ − 115 390,
+ − 116 498,
+ − 117 635,
+ − 118 //---- He --------------------------------------------------------------------
+ − 119 1.51, // Compartiment half-life, in minute, for helium.
+ − 120 3.02,
+ − 121 4.72,
+ − 122 6.99,
+ − 123 10.21,
+ − 124 14.48,
+ − 125 20.53,
+ − 126 29.11,
+ − 127 41.20,
+ − 128 55.19,
+ − 129 70.69,
+ − 130 90.34,
+ − 131 115.29,
+ − 132 147.42,
+ − 133 188.24,
+ − 134 240.03
+ − 135 };
+ − 136
+ − 137 rom const float e2secs[] =
+ − 138 {
+ − 139 //---- N2 --------------------------------------------------------------------
+ − 140 5.7596E-03, // und zwar 1 - 2^(-2sec/HT)
+ − 141 2.8839E-03,
+ − 142 1.8467e-03,
+ − 143 1.2481e-03,
+ − 144 8.5537E-04,
+ − 145 6.0308E-04,
+ − 146 4.2541E-04,
+ − 147 3.0002E-04,
+ − 148 2.1195E-04,
+ − 149 1.5824E-04,
+ − 150 1.2355E-04,
+ − 151 9.6669E-05,
+ − 152 7.5751E-05,
+ − 153 5.92E-05,
+ − 154 4.64E-05,
+ − 155 3.64E-05,
+ − 156 //---- He --------------------------------------------------------------------
+ − 157 0.01518479275,
+ − 158 0.007621439546,
+ − 159 0.004883145696,
+ − 160 0.003299965996,
+ − 161 0.002260409686,
+ − 162 0.00159437032,
+ − 163 0.001124788578,
+ − 164 0.0007933953673,
+ − 165 0.0005606414716,
+ − 166 0.0004185553604,
+ − 167 0.0003267948866,
+ − 168 0.0002557222899,
+ − 169 0.0002003867723,
+ − 170 0.0001567161546,
+ − 171 0.0001227342122,
+ − 172 9.625377675E-5
+ − 173 };
+ − 174
+ − 175 rom const float e1min[] =
+ − 176 {
+ − 177 //---- N2 --------------------------------------------------------------------
+ − 178 0.1591036, // Integration constant for 1 minute,
+ − 179 0.08299596, // ie. 1 - 2^(-1/ht)
+ − 180 0.053942353,
+ − 181 0.036774196,
+ − 182 0.02534539,
+ − 183 0.017935055,
+ − 184 0.012684012,
+ − 185 8.961515534E-3,
+ − 186 6.338971845E-3,
+ − 187 4.73633146E-3,
+ − 188 3.699808187E-3,
+ − 189 2.89599589E-3,
+ − 190 2.270033275E-3,
+ − 191 1.775722E-3,
+ − 192 1.390893611E-3,
+ − 193 1.090974815E-3,
+ − 194 //---- e 1min He -------------------------------------------------------------
+ − 195 0.368108684,
+ − 196 0.2050840824,
+ − 197 0.1365792957,
+ − 198 0.09440463235,
+ − 199 0.06563586265,
+ − 200 0.04674161154,
+ − 201 0.03319905126,
+ − 202 0.02353005571,
+ − 203 0.0166832282,
+ − 204 0.01248075064,
+ − 205 0.009757532198,
+ − 206 0.007643290133,
+ − 207 0.005994168431,
+ − 208 0.004690816669,
+ − 209 0.003675481163,
+ − 210 0.002883586737
+ − 211 };
+ − 212
+ − 213 rom const float e10min[] =
+ − 214 {
+ − 215 //---- N2 --------------------------------------------------------------------
+ − 216 // Die 10 min Werte in float Notation:
+ − 217 // und zwar 1 - 2^(-10/ht)
+ − 218 0.823223, // 1 - 2^(-10/4.0)
+ − 219 0.579552,
+ − 220 0.425651,
+ − 221 0.312487,
+ − 222 0.226416,
+ − 223 0.165547,
+ − 224 0.11984,
+ − 225 0.0860863,
+ − 226 0.0616117,
+ − 227 0.0463665,
+ − 228 0.0363881,
+ − 229 0.0285855,
+ − 230 0.0224698,
+ − 231 0.017616,
+ − 232 0.0138222,
+ − 233 0.0108563,
+ − 234 //---- He --------------------------------------------------------------------
+ − 235 0.989851,
+ − 236 0.899258,
+ − 237 0.769737,
+ − 238 0.629027,
+ − 239 0.492821,
+ − 240 0.380407,
+ − 241 0.286538,
+ − 242 0.211886,
+ − 243 0.154849,
+ − 244 0.118026,
+ − 245 0.0934005,
+ − 246 0.0738569,
+ − 247 0.0583504,
+ − 248 0.0459303,
+ − 249 0.0361528,
+ − 250 0.0284646,
+ − 251 };
+ − 252