Mercurial > public > mk2
view code_part1/OSTC_code_c_part2/p2_tables.romdata @ 165:8b5b848db4cd
+ Clean Buhlmann tables addressing
+ OSTC 1.80 uses ZH-L16a coefficient, version 1995 (?), with compartiment 1a.
author | JeanDo |
---|---|
date | Fri, 21 Jan 2011 01:44:38 +0100 |
parents | 96a35aeda5f2 |
children | cb055a7d75f3 |
line wrap: on
line source
// ************************************************************** // OSTC - diving computer code // Copyright (C) 2008 HeinrichsWeikamp GbR // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. // // HISTORY // 2011-01-20; jDG Cleanup addressing. // // ************************************************************** rom const float buhlmann_a[32] = { // ??? Data ZH-L16A, from Tauchmedizin 1995 ??? //---a for N2 ---------------------------------------------------------------- 1.2599, /// WARNING ZH-L16c-1990 gives different values: 1.3318 1.0000, /// ... 1.0048 0.8618, /// ... 0.8653 0.7562, /// ... 0.7520 0.6200, /// ... 0.6194 0.5043, /// ... 0.5043 0.4410, /// ... 0.4396 0.4000, /// ... 0.3977 0.3750, /// ... 0.3701 0.3500, /// ... 0.3456 0.3295, /// ... 0.3269 0.3065, /// ... 0.3065 0.2835, /// ... 0.2848 0.2610, /// ... 0.2622 0.2480, /// ... 0.2486 0.2327, /// ... 0.2341 //---- a of He --------------------------------------------------------------- 1.7424, /// ... 1,7443 1.3830, /// ... 1,3800 1.1919, /// ... 1,1879 1.0458, /// ... 1,0455 .9220, /// ... 0,9211 .8205, /// ... 0,8232 .7305, /// ... 0,7321 .6502, /// ... 0,6508 .5950, /// ... 0,5981 .5545, /// ... 0,5568 .5333, /// ... 0,5285 .5189, /// ... 0,5178 .5181, /// ... 0,5137 .5176, /// ... 0,5196 .5172, /// ... 0,5150 .5119 /// ... 0,5109 }; rom const float buhlmann_b[] = { //---- b for N2 -------------------------------------------------------------- 0.5050, /// WARNING ZH-L16c gives a different value: 0.5241 0.6514, /// All the other values matches ZH-L16c-1990 0.7222, 0.7825, 0.8126, 0.8434, 0.8693, 0.8910, 0.9092, 0.9222, 0.9319, 0.9403, 0.9477, 0.9544, 0.9602, 0.9653, //---- b for He -------------------------------------------------------------- 0.4245, 0.5747, 0.6527, 0.7223, 0.7582, 0.7957, 0.8279, 0.8553, 0.8757, 0.8903, 0.8997, 0.9073, 0.9122, 0.9171, 0.9217, 0.9267 }; rom const float buhlmann_t05[] = { //---- half-life for N2 ------------------------------------------------------ -5.77078, // 4 min * -1/ln(2) -11.54156, -17.31234, -25.96851, -38.95277, -56.26511, -79.34823, -111.08752, -157.25376, -210.63348, -269.78397, -344.80411, -440.02199, -562.65107, -718.46213, -916.11135, // 635 min * -1/ln(2) //---- half-life for He ------------------------------------------------------ -2.178469512, // 1.51 min * -1/ln(2) -4.356939024, -6.809520594, -10.08443834, -14.72991637, -20.89022419, -29.61852919, -41.99685264, -59.43903569, -79.62233931, -101.9841124, -130.33307, -166.3283113, -212.6821029, -271.5729145, -346.2900907 // 240,03 * -1/ln(2) }; rom const float buhlmann_ht[] = { //---- N2 -------------------------------------------------------------------- 4, // Compartiment length, in minute, for nitrogen. 8, 12, 18, 27, 39, 55, 77, 109, 146, 187, 239, 305, 390, 498, 635, //---- He -------------------------------------------------------------------- 1.51, // Compartiment half-life, in minute, for helium. 3.02, 4.72, 6.99, 10.21, 14.48, 20.53, 29.11, 41.20, 55.19, 70.69, 90.34, 115.29, 147.42, 188.24, 240.03 }; rom const float e2secs[] = { //---- N2 -------------------------------------------------------------------- 5.7596E-03, // und zwar 1 - 2^(-2sec/HT) 2.8839E-03, 1.8467e-03, 1.2481e-03, 8.5537E-04, 6.0308E-04, 4.2541E-04, 3.0002E-04, 2.1195E-04, 1.5824E-04, 1.2355E-04, 9.6669E-05, 7.5751E-05, 5.92E-05, 4.64E-05, 3.64E-05, //---- He -------------------------------------------------------------------- 0.01518479275, 0.007621439546, 0.004883145696, 0.003299965996, 0.002260409686, 0.00159437032, 0.001124788578, 0.0007933953673, 0.0005606414716, 0.0004185553604, 0.0003267948866, 0.0002557222899, 0.0002003867723, 0.0001567161546, 0.0001227342122, 9.625377675E-5 }; rom const float e1min[] = { //---- N2 -------------------------------------------------------------------- 0.1591036, // Integration constant for 1 minute, 0.08299596, // ie. 1 - 2^(-1/ht) 0.053942353, 0.036774196, 0.02534539, 0.017935055, 0.012684012, 8.961515534E-3, 6.338971845E-3, 4.73633146E-3, 3.699808187E-3, 2.89599589E-3, 2.270033275E-3, 1.775722E-3, 1.390893611E-3, 1.090974815E-3, //---- e 1min He ------------------------------------------------------------- 0.368108684, 0.2050840824, 0.1365792957, 0.09440463235, 0.06563586265, 0.04674161154, 0.03319905126, 0.02353005571, 0.0166832282, 0.01248075064, 0.009757532198, 0.007643290133, 0.005994168431, 0.004690816669, 0.003675481163, 0.002883586737 }; rom const float e10min[] = { //---- N2 -------------------------------------------------------------------- // Die 10 min Werte in float Notation: // und zwar 1 - 2^(-10/ht) 0.823223, // 1 - 2^(-10/4.0) 0.579552, 0.425651, 0.312487, 0.226416, 0.165547, 0.11984, 0.0860863, 0.0616117, 0.0463665, 0.0363881, 0.0285855, 0.0224698, 0.017616, 0.0138222, 0.0108563, //---- He -------------------------------------------------------------------- 0.989851, 0.899258, 0.769737, 0.629027, 0.492821, 0.380407, 0.286538, 0.211886, 0.154849, 0.118026, 0.0934005, 0.0738569, 0.0583504, 0.0459303, 0.0361528, 0.0284646, };