Computes the maximum tolerated inert gas tension at depth
(M-value) or at the surface (surfacing M-value, M0
)
for a given gas.
M0mix(model, fN2, fHe, mixrule=NULL) Mmix(model, depth, fN2, fHe, mixrule=NULL)
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).
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
).
Numeric value or numeric vector giving the depth or depths in metres of seawater.
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.
Fraction of helium in the breathing gas. Number between 0 and 1.
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
.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au.
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
).
hm
,
pickmodel
for specifying models.
haldane
for computing tissue saturations.
# 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