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 --------------------------------------------------------------------
197
+ − 141 5.75958E-03, // und zwar 1 - 2^(-1/(30sec*HT))
+ − 142 2.88395E-03,
+ − 143 1.92356E-03,
+ − 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 --------------------------------------------------------------------
+ − 217 // Die 10 min Werte in float Notation:
+ − 218 // und zwar 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