Learn R Programming

scuba (version 1.11-1)

hm: Haldane Type Model

Description

Creates a Haldane-type decompression model.

Usage

hm(HalfT, M0=NULL, dM=NULL, ...,
               N2 = list(HalfT=HalfT, M0=M0, dM=dM),
               He = NULL,
               title="user-defined model",
               cnames=NULL,
               mixrule=NULL)

Value

An object of class "hm", representing the decompression model.

Arguments

HalfT

Vector of nitrogen halftimes (in minutes) for each compartment.

M0

Optional vector of surfacing M-values (in ata) of nitrogen for each compartment.

dM

Optional vector of gradients for M-values (dimensionless) for each nitrogen compartment.

...

Ignored.

N2

An alternative way of specifying all the data for Nitrogen. A list with elements labelled "HalfT", "M0" and "dM" giving the halftimes, surfacing M-values, and M-value gradients for each compartment.

He

Data for Helium, if available. A list with elements labelled "HalfT", "M0" and "dM" giving the Helium halftimes, surfacing M-values, and M-value gradients for each compartment.

title

Optional name of model. A character string.

cnames

Optional names of compartments. A vector of character strings.

mixrule

Mixing rule for M-values. Either "N2", "interpolate", or NULL (representing a sensible default).

Author

Adrian Baddeley Adrian.Baddeley@curtin.edu.au.

Details

This function creates an object of class "hm", which represents a Haldane-type decompression model. Objects of this class are needed by the commands ndl, haldane and others.

A Haldane-type decompression model describes the diver's body as a set of independent compartments connected directly to the breathing gas and governed by classical diffusion.

The argument halfT specifies the half-times of the nitrogen compartments, in minutes. The length of halfT implicitly determines the number of nitrogen compartments.

The argument M0, if present, specifies the surfacing M-values for the nitrogen compartments. These are the maximum values of nitrogen tissue tension that are tolerated at the surface. These values are required in order to plan a no-decompression dive.

The argument dM, if present, specifies the rate of increase in nitrogen M-values with pressure. The maximum nitrogen tissue tension tolerated at a pressure P atmospheres is M0 + (P-1) * dM. These values are required in order to plan a decompression dive.

Optionally the model may also allow calculation with Helium diffusion. In that case, the argument He should be a list, with components halfT, M0 and dM, specifying the Helium halftimes, maximum surfacing Helium tensions, and Helium gradients, respectively.

If Helium parameters are included, so that diving with trimix (Oxygen/Nitrogen/Helium mixture) is permitted, then the model must also specify a rule for combining the parameters for Helium and Nitrogen to obtain the parameters for any trimix gas. This rule is specified by the argument mixrule. Current options are:

"N2"

Ignore the Helium parameters; pretend that Helium is Nitrogen. Combine Nitrogen and Helium into a single inert gas, and take the parameters M0, dM for this gas to be the parameters M0, dM for Nitrogen.

"interpolate"

Apply Buehlmann's (1983, 2002) interpolation rule. Convert the parameters M0, dM to the Buehlmann parameters a = M0 - dM and b = 1/dM. For a mixture of Nitrogen and Helium, calculate the a,b values by linear interpolation between the values for Nitrogen and Helium according to the gas fractions. Then convert from a,b back to M0, dM.

The default is mixrule="interpolate" whenever the Helium parameters are specified.

Note that this mixture calculation applies only to the saturation parameters M0, dM which tell us whether a dive is staying within the no-decompression limits. This mixture calculation does not affect the Haldane calculations of the gas tensions in the diver's body.

The class "hm" has methods for print and as.data.frame.

References

Bookspan, J. (1995) Diving physiology in plain English. Undersea and Hyperbaric Medicine Society, Kensington, Maryland (USA). ISBN 0-930406-13-3.

Boycott, A.E. Damant, G.C.C. and Haldane, J.B. (1908) The prevention of compressed air illness. Journal of Hygiene (London) 8, 342--443.

Brubakk, A.O. and Neuman, T.S. (eds.) (2003) Bennett and Elliott's Physiology and Medicine of Diving. 5th Edition. Saunders. ISBN 0-7020-2571-2

Buehlmann, A.A. (1983) Dekompression - Dekompressionskrankheit. Springer-Verlag.

Buehlmann, A.A., Voellm, E.B. and Nussberger, P. (2002) Tauchmedizin. 5e Auflage. Springer-Verlag.

Tikvisis, P. and Gerth, W.A. (2003) Decompression Theory. In Brubakk and Neuman (2003), Chapter 10.1, pages 419-454.

Wienke, B.R. (1994) Basic diving physics and applications. Best Publishing Co.

Workman, R.D. (1965) Calculation of decompression schedules for nitrogen-oxygen and helium-oxygen dives. Research Report 6-65. US Navy Experimental Diving Unit. Washington DC.

See Also

pickmodel for some standard models of Haldane type; ndl, haldane, showstates

Examples

Run this code
  hm(c(10,20,60), rep(2 * 0.79, 3))
  hm(c(10,20,60), rep(2 * 0.79, 3), rep(2 * 0.79, 3))
  hm(c(10,20,60), rep(2 * 0.79, 3), rep(2 * 0.79, 3),
     He=list(HalfT=c(5,10,30), M0=c(1,1,1), dM=c(1,1,1)))

Run the code above in your browser using DataLab