Learn R Programming

scuba (version 1.8-0)

Mmix: Compute M-values for a Mixture of Inert Gases

Description

Computes the maximum tolerated inert gas tension at depth (M-value) or at the surface (surfacing M-value, M0) for a given gas.

Usage

M0mix(model, fN2, fHe, mixrule=NULL)
Mmix(model, depth, fN2, fHe, mixrule=NULL)

Arguments

model
The decompression model. Either an object of class "hm" (see hm) or a character string giving the name of one of the existing models (see pickmodel).
depth
Numeric value or numeric vector giving the depth or depths in metres of seawater.
fN2
Fraction of nitrogen in the breathing gas. Number between 0 and 1. Alternatively this can be a gas object, and the values of fN2,fHe will be extracted from it.
fHe
Fraction of helium in the breathing gas. Number between 0 and 1.
mixrule
Optional string specifying the mixture rule: either "N2" or "interpolate". See Details. If this argument is absent, the mixture rule is taken from the model. If this argument is present, it overrides the mixture rule in model.

Value

A matrix, with one column for each compartment in the model, and one row for each entry of fN2 (and fHe and depth). Entries in the matrix are M-values in atmospheres absolute (ata).

Details

M0mix computes the maximum tolerated inert gas tension, in each tissue compartment, for a diver returning to the surface (known as the surfacing M-value M0). This is used for planning no-decompression dives.

Mmix computes the maximum tolerated inert gas tension, in each tissue compartment, for a diver at a specified depth, called the M-value. This is used for planning decompression dives.

A Haldane-type decompression model only specifies these M-values for a single inert gas (i.e. only nitrogen or only helium). When the breathing gas is trimix, the inert gas is a mixture of nitrogen and helium, and the M-values for nitrogen and helium must somehow be combined to obtain M-values relevant to the mixed gas.

The rule for combining the M-values 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.

If the argument mixrule is missing or NULL, then the default mixture rule is taken from the model (since every Haldane model has a mixture rule, as explained in hm).

See Also

hm, pickmodel for specifying models.

haldane for computing tissue saturations.

Examples

Run this code
  # Trimix 18/50, surfacing M-values
  M0mix("Z", trimix(0.18, 0.5))

  # Trimix 18/50, M-values at 0, 10, 20 metres
  Mmix("Z", c(0,10,20), trimix(0.18, 0.5))

Run the code above in your browser using DataLab