home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR6 / BUHLMANN.ZIP / READ.ME < prev   
Text File  |  1993-10-18  |  18KB  |  317 lines

  1. October 20, 1993
  2.  
  3. Submariner Research, Ltd.
  4. P.O. Box 1906
  5. Bainbridge, GA 31717
  6.  
  7. Phone: 912-246-9349
  8.   Fax: 912-246-9349
  9. ***************************************************************************
  10. Submariner Research, Ltd. and John T. Crea III provides this software
  11. for educational purposes only.  This software is not intended to be
  12. used to generate operational dive tables, and has not been tested 
  13. or validated, other than to insure that the math routines and equations
  14. utilized here are accurately implemented.
  15.  
  16. If the user of this software decides to make operational dives based
  17. on information generated by this software, the user accepts full 
  18. responsibility and liability for any and all incidents occurring while
  19. executing dives to any schedule calculated by this software.
  20.  
  21. This software is provided AS IS, and no warranties or guarantees are made
  22. other than that reasonable care has been taken to insure that the math
  23. routines and equations utilized here are accurately implemented.  
  24.  
  25. This software is provided as FREEWARE.  Users are encouraged to distribute
  26. this software as long as they continue to make this software available
  27. at no charge (other than reasonable charges for materials, etc.)  The 
  28. author makes this software available to the diving community, and resale 
  29. or sale of this software is strictly forbidden.  
  30.  
  31. This software is Copyright 1993 by John Crea and Submariner Research, Ltd.
  32.  
  33. **************************************************************************
  34.  
  35.  
  36. Basic information and instructions for the Dive Planner and Simulator
  37. software distributed by Submariner Research, Ltd.
  38.  
  39. This spreadsheet implements the 1983 version of what is commonly called
  40. the "Buhlmann algorithm", as present in the book "Decompression/Decompression
  41. Sickness" by Dr. A.A. Buhlmann.  As this algorithm (or modifications based 
  42. upon it) is currently utilized in many of the diver carried computers on the 
  43. market, it was felt that an introduction to the physiology and mathematics of 
  44. gas uptake and elimination based on this model was needed.  Thus, this spread-
  45. sheet was born.
  46.  
  47. The Buhlmann algorithms - there have been several and they are continually 
  48. evolving - are "neo-Haldanian" in that they are derived from basic Haldane 
  49. principles.  The heart of Haldane is the concept of parallel compartments 
  50. (sometimes called "tissues" but they do not correspond to anatomical tissues)
  51. that load and unload with gas tension (or partial pressure, the gas loading)
  52. according to the exposure and following an exponential pattern.  Ascent is 
  53. limited by the level of calculated gas partial pressure in the compartments.
  54. Haldane set his limits as the ratio of gas partial pressure in a compartment
  55. to ambient pressure.  Buhlmann's algorithm uses a method similar to the one 
  56. developed by Workman (1965) and refined by Schreiner for multiple gases (1971).
  57. This "neo-Haldanian" method set an ascent limit for each compartment for each 
  58. depth based on a differential of partial pressures, the differences between 
  59. compartment total inert gas levels and ambient pressure.  The traditional 
  60. word for these limits is "M-values", with M standing for "maximum".  Ascent is
  61. halted for a stop as the ascent limit is reached, and is resumed when time at 
  62. the stop has allowed enough gas to unload to enable reaching the next stop, 
  63. and so on.  In Buhlmann's method, the maximum allowable loadings are calculated
  64. for nitrogen and helium in each compartment in proportion to the relative 
  65. partial pressures of the two inert gases.  Buhlmann's algorithm calculated 
  66. ascents limits as a specific function of the half times for the compartments, 
  67. using two parameters "a" and "b", which can be related to traditional M-values.
  68. Some conservative factors are included in Buhlmann's implementation of the 
  69. algorithm.
  70.  
  71. The algorithm upon which this software is based is described in the Buhlmann 
  72. book "Decompression/Decompression Sickness" (1983).  This algorithm was 
  73. designated as ZH-L12; it has 16 compartments, with half times from 1 to 240
  74. minutes for helium and from 2.65 to 635 minutes for nitrogen.  In ZH-L12, 
  75. the "12" refers to the number of coefficient pairs used (some are used for more
  76. than one compartment), not the number of compartments; this is confusing, 
  77. and has lead to much confusion among the diving community.
  78.  
  79.  
  80. The compartments and their parameters are as follows (all half times are in 
  81. minutes):
  82.  
  83.  
  84.  
  85. Compartment | He Halftime | N2 Halftime | N2 "a" | N2 "b" | He "a" | He "b"
  86. ------------------------------------------------------------------------------
  87.             |             |             |        |        |        |         
  88.     1       |     1       |     2.65    |  2.20  |  0.820 |  2.20  |  0.820  
  89.     2       |     3       |     7.94    |  1.50  |  0.820 |  1.50  |  0.820  
  90.     3       |     4.6     |    12.2     |  1.08  |  0.825 |  1.08  |  0.825  
  91.     4       |     7       |    18.5     |  0.90  |  0.835 |  0.90  |  0.835  
  92.     5       |    10       |    26.5     |  0.75  |  0.845 |  0.75  |  0.845  
  93.     6       |    14       |    37       |  0.58  |  0.860 |  0.58  |  0.860  
  94.     7       |    20       |    53       |  0.47  |  0.870 |  0.47  |  0.870  
  95.     8       |    30       |    79       |  0.455 |  0.890 |  0.455 |  0.890  
  96.     9       |    43       |   114       |  0.455 |  0.890 |  0.455 |  0.890  
  97.    10       |    55       |   146       |  0.455 |  0.934 |  0.515 |  0.926  
  98.    11       |    70       |   185       |  0.455 |  0.934 |  0.515 |  0.926  
  99.    12       |    90       |   238       |  0.380 |  0.944 |  0.515 |  0.926  
  100.    13       |   115       |   304       |  0.255 |  0.962 |  0.515 |  0.926  
  101.    14       |   150       |   397       |  0.255 |  0.962 |  0.515 |  0.926  
  102.    15       |   190       |   503       |  0.255 |  0.962 |  0.515 |  0.926  
  103.    16       |   240       |   635       |  0.255 |  0.962 |  0.515 |  0.926
  104.  
  105.   
  106. ****************************************************************************
  107. INSTRUCTIONS:
  108.  
  109. This spreadsheet implements the 1983 version of Dr. A.A. Buhlmann's
  110. decompression algorithm.  All the complex math is performed automatically
  111. as you enter the dive depth, dive time, and inert gas concentrations that
  112. you wish to use.
  113.  
  114. The program is started by typing "BUHLMANN" at the DOS prompt.  The opening
  115. screen will be displayed, and you will see a flashing "Loading, Please wait..."
  116. displayed in the upper left corner of your screen.  The program name and
  117. the usual legal disclaimers will be displayed on this opening screen.
  118. After a short time, the "Loading...." display will be replace with one that
  119. reads "Press any key to continue".  Pressing any key on the keyboard will
  120. take you to the main screen of the program.  Please take the time to read the 
  121. opening screen.
  122.  
  123. The main screen is a typical spreadsheet display, and the menu's (these are
  124. pull-down menu's) at top of the screen can be accessed via the "/" key.  
  125. The "Graph" function will allow you to display the inert gas loading at 
  126. anytime during the data entry phase, and initially shows this as a stacked 
  127. bar graph.  You may change this from color to b&w, and you may also change 
  128. the scale (to accommodate different dive ranges).  "VIEW" under the graph menu 
  129. will display the graph.  This menu area is also where you will be able to exit
  130. from the program.
  131.  
  132. The main screen will be essentially divided into 2 parts, the left side
  133. and the right side.  The left side of the screen is where you will entering
  134. your dive data, and changing/adjusting parameters of the program.
  135.  
  136. The right side of the screen displays a "box" with essentially 3 areas
  137. of interest.  At the top of the box is a DECOM CEILING (fsw).   This is
  138. the shallowest depth that you can ascend to and still be within the 
  139. parameters of Dr. Buhlmann's algorithm.  Initially this value will display
  140. a negative number.  This is because a diver saturated at sea level can
  141. ascent to an altitude without violating the model.  Since the display
  142. is in feet of sea water, a negative value here indicates an atmospheric
  143. pressure less than 1.0 ATA (or 1.01325 BAR).
  144.  
  145. Next you will see two time displays - one for Total Decom Time (this
  146. is only time spent at the decompression stops) and one for Total Dive
  147. Time (this is bottom time, travel time, and decom time taken all together).
  148.  
  149. Last, on the left side of the screen you will see the actual compartment
  150. limiting values for all 16 compartments, expressed in feet of sea water.
  151.  
  152. You will notice that some labels and numeric values are bright white, and
  153. some are a "dull" white.  Bright white data locations are user changeable.
  154. Just use the cursor keys to move to the appropriate cell, and input the 
  155. new value.  Be sure to either move with the arrow keys or hit the enter
  156. key to make the change "stick".
  157.  
  158.  
  159.  
  160. I - Parameter modifications:
  161.  
  162. The cursor will be positioned above a series of 6 modifiers.  These are:
  163.  
  164.  - a modifier
  165.  - b modifier
  166.  - N2 modifier
  167.  - He modifier
  168.  - BT modifier (linear)
  169.  - BT modifier (exponential)
  170.  
  171. All modifiers are initially set to values of 1.0.  Changing these values will
  172. allow you to make the model more conservative (or less conservative, as the 
  173. you may desire).
  174.  
  175.  - a modifier:  Buhlmann's "a" parameter is equivalent to Workman's "M-value".
  176.                 The modifier is a multiplier, and setting this modifier to
  177.                 values of less than 1.0 will make the numbers generated more
  178.                 conservative (ie, longer decom times, and deeper first stops.)
  179.                 You might want to try increasing this modifier by 0.05 at a 
  180.                 time.
  181.  
  182.  - b modifier:  Buhlmann's "b" parameter is equivalent to Workman's "delta-M
  183.                 value".  This modifier is also a multiplier, and setting this
  184.                 modifier to values of 1.0 or greater will make the numbers
  185.                 generated more conservative (ie, longer stop times, deeper first
  186.                 stop depths, and longer total decompression.)  Again, a good
  187.                 starting point for modifying this parameter is probably to
  188.                 decrement it's value by 0.05 increments.
  189.  
  190.  - N2 modifier: This modifier adjusts (multiplies) the Nitrogen fraction that 
  191.                 the algorithm uses during both the dive and the decompression 
  192.                 phase of the dive.  It essentially makes the algorithm think
  193.                 that it is being exposed to higher inert gas values than it
  194.                 really is.  Setting this modifier to values greater than 1.0
  195.                 will make the resulting numbers more conservative.
  196.  
  197.  - He modifier: This modifier adjusts (multiplies) the Helium fraction that 
  198.                 the algorithm uses during both the dive and the decompression 
  199.                 phase of the dive.  It essentially makes the algorithm think
  200.                 that it is being exposed to higher inert gas values than it
  201.                 really is.  Setting this modifier to values greater than 1.0
  202.                 will make the resulting numbers more conservative.
  203.  
  204.  
  205.  - BT mod (L)   This is a linear modifier applied to the bottom time.  This
  206.                 is a multiplier that, when set to greater than 1.0, increases
  207.                 bottom time value that is used in the model computations.
  208.                 For example, setting this to 1.1 will change a 30 minute
  209.                 bottom to a 33 minute bottom time.  This is equivalent
  210.                 to what many of us used to do with the Navy dive tables,
  211.                 going to the next longer bottom time on cold, or heavy exertion
  212.                 dives.
  213.  
  214.  
  215.  - BT mod (E)   This is an exponential modifier that is applied to the bottom 
  216.                 time.  This modifier, when set to greater than 1.0, increases
  217.                 bottom time value that is used in the model computations in
  218.                 an exponential manner (ie, raises the bottom time value to
  219.                 this power).  For example, setting this to 1.1 will change a 
  220.                 30 minute bottom to a 42.2 minute bottom time.  This has the
  221.                 advantage that is makes longer bottom times much longer as
  222.                 compared to shorter bottom times.  With the same 1.1 modifier
  223.                 value, a 90 minute bottom time becomes 141.14 minutes for use
  224.                 in the model.  As it is felt that Haldanian models are not
  225.                 conservative enough when it comes to long bottom times, this
  226.                 is one approach to making the output more conservative.
  227.  
  228.  
  229. I would recommend leaving the parameter modifiers at 1.0 for the first
  230. few times that you use this program.  As you begin to get a feel for
  231. the values that are generated, then you can begin to play with adjusting
  232. these parameters.
  233.  
  234.  
  235. II - Entering Dive Data:
  236.  
  237. Next, as you move down the left side window, you will find the area that 
  238. allows you to enter dive and decompression data.  The bright cells are where 
  239. this data is entered, and the values in those cells is changed by moving the
  240. cursor down to the cell you want to change, typing in the numerical value
  241. that you want, and then hitting the enter key (or the cursor key).
  242.  
  243. The row labeled "Surface" is not user changeable in this version, and 
  244. establishes that you are at sea level, breathing air prior to our dive.  This
  245. implementation requires that your dive planning be done for a single, non-
  246. repetitive dive (with no residual inert gas levels remaining from any previous
  247. dives).
  248.  
  249. The program is setup to currently allow a 3 step multi-level dive, and
  250. will allow you to approximate the gas loading and unloading during
  251. ascent/travel/descent between dive steps.  The first row headed Travel
  252. is for entering travel data from the surface to the bottom.  If this
  253. line is left set to zeros, then the dive is calculated with instantaneous
  254. ascent and descents between dive steps.  
  255.  
  256. The easiest way to handle an ascent or descent is to enter the average depth
  257. seen during the travel, and enter the time the ascent or descent required.
  258. For example, if you are descending from the surface to 180 fsw, at a descent
  259. rate of 60 feet per minute, the time required is 3 minutes, and the average
  260. depth is 90 fsw.  Using this will give a fairly good match to doing this
  261. via calculus.
  262.  
  263. After dive depth, and bottom time, you are given the option to set the 
  264. FiN2 and FiHe for the breathing mixture.  These values are entered as
  265. decimal fractions, with Air having a FiN2 of 0.79.  All values are initially
  266. setup to reflect air diving, but the spreadsheet will handle air, nitrox,
  267. heliox, and trimix dives as well.  Gas switches can occur at any dive or
  268. decompression step.  It is left up to the user to track and follow oxygen
  269. toxicity units, and track the CNS toxicity clock.  
  270.  
  271. Again, limited multi-level dives can be simulated, with up to 3 depths 
  272. allowed.  As you input the dive data, you will notice that the Decom Ceiling
  273. changes to track the current shallowest depth that you can ascend to safely.
  274.  
  275. Once the dive data is input, we now come to the decompression data.  We will
  276. plan the travel from the last dive stage to the decompression stop that
  277. is a multiple of 10fsw and deeper than or equal to the Decom Ceiling 
  278. displayed.  The ascent to the first stop can be entered into the last
  279. "travel" row, and quite often, with slower ascent rates, the Decom Ceiling
  280. will become shallower during this ascent phase of the dive.
  281.  
  282. So, now you move to the first stop, and begin entering times (the depths
  283. are not user changeable).  You should start at the deeper stops with stop
  284. times in 1 minute increments, and increment the time spent at that stop
  285. until the Decom Ceiling value will allow you to move up to the next shallower
  286. decompression stop.  You will then move the cursor to that stop, and begin
  287. trial and error until you find the time required to allow the Decom Ceiling
  288. to let you move up to the next stop.  This process is repeatedly cycled
  289. until you reach the surface (0 fsw).
  290.  
  291. Once finished, you can copy the results for later reference, or use the print
  292. menu at the top of the screen to either print the results to paper or
  293. to a computer file.
  294. ****************************************************************************
  295. Hardware requirements:
  296.  
  297. This software is designed to run on the IBM and IBM compatible family of
  298. personal computers.  At this time, an Apple/MacIntosh version is not available.
  299. It requires at least 370K of free ram to run.  If you attempt to run the
  300. program and get a message "Out of memory" or "Not enough memory for virtual
  301. disk", then you will need to free up some additional memory to all the program
  302. to run (try unloading some TSR's to free up additional memory).
  303.  
  304. It may be run either directly from a floppy disk or can be copied to your
  305. hard disk and run from the hard disk drive.  Copying to and running from
  306. your hard disk drive is recommended in terms of performance and speed.
  307.  
  308. A math co-processor will be automatically utilized if present, if not, then
  309. it will be emulated in the software.  A math co-processor will significantly
  310. improve the performance of this software.
  311.  
  312. A color monitor is recommended, but this software will run under a monochrome
  313. monitor, or with a LCD display (as found on many laptops and notebooks).
  314.  
  315.  
  316. *******************************************************************************
  317.