haldane(d,
model=pickmodel("DSAT"),
prevstate=NULL,
progressive=FALSE,
relative=FALSE,
deco=FALSE)
dive
."hm"
.
Defaults to the DSAT (PADI) model.TRUE
, the tissue saturations are computed
at every time point during the dive. If FALSE
(the default),
only the final tissue saturation at the end of the dive is computed.FALSE
(the default),
tissue saturations are expressed as absolute pressures in
atmospheres absolute (ata). If TRUE
, the tissue saturation for deco=FALSE
, then relative tissue saturations
are computed by dividing the absolute tissue saturation by the
surfacing M-value, as arelative=FALSE
and progressive=FALSE
, a data frame giving
the diver's inert gas saturation state at the end of the
dive. Each row of the data frame corresponds to a tissue compartment.
The column N2
gives the nitrogen tension (in atmospheres absolute) of
each compartment. The column He
, if present, gives the
Helium tension (in atmospheres absolute) in each compartment. If relative=FALSE
and progressive=TRUE
,
a three-dimensional array giving
the diver's inert gas saturation state at each time point during the
dive. The first dimension of the array corresponds to successive time points
during the dive (the times can be extracted by
times.dive
).
The second dimension corresponds to the tissue compartments.
The third dimension corresponds to the inert gases
(N2
and/or He
).
The entries are gas tensions (in atmospheres absolute).
If relative=TRUE
and progressive=FALSE
, a vector
giving the diver's relative saturation of inert gas at the end of the
dive. Entries in the vector correspond to tissue compartments.
The entries are relative gas tensions, that is,
the total inert gas (Nitrogen plus Helium) tissue saturation
divided by the appropriate M-value for that compartment: either
the surfacing M-value (if deco=FALSE
) or the
M-value at current depth (if deco=TRUE
).
If relative=TRUE
and progressive=TRUE
,
a matrix giving the diver's relative saturation
at each time point during the
dive. Rows of the array correspond to successive time points
during the dive. Columns correspond to the tissue compartments.
The entries are relative gas tensions, that is,
the total inert gas (Nitrogen plus Helium) tissue saturation
divided by the appropriate M-value for that compartment: either
the surfacing M-value (if deco=FALSE
) or the
M-value at current depth (if deco=TRUE
).
No constraints of any kind are checked. In particular it is not guaranteed that the model accepts the dive profile as a no-decompression dive.
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.
Henry's Law is applied
to predict the on- and off-gassing of inert gas
in each tissue (compartment) of the model.
The resulting differential equations are solved analytically
(the solution is often called the prevstate
represents the tissue saturation of the
diver at the start of the dive. It should be a data frame, with one row for
each compartment of the decompression model, and one column for each
inert gas (N2
and/or He
) in the model. Such data frames
are usually generated by saturated.state
or
haldane
.
If progressive=FALSE
, the diver's tissue saturation
at the end of the dive is calculated.
If progressive=TRUE
,
the tissue saturations are calculated at each
waypoint during the dive. The corresponding times
(extracted by times.dive(d)
)
are not equally spaced over time.
To compute the tissue saturation
at an arbitrary instant of time during the dive, tim
, use
haldane(chop.dive(d, 0, tim))
. To view the tissue saturation
at arbitrary instants of time using interactive graphics,
use showstates
.
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.
dive
,
oxtox
,
pickmodel
,
showstates
# First dive to 25 m for 20 min with safety stop
d1 <- dive(c(25,20),c(5,5))
# Evaluate saturation according to DSAT model
s1 <- haldane(d1)
s1
# Look at saturation (in ata)
barplot(s1$N2, ylab="Saturation (ata)")
# Look at relative saturation
M0 <- param(pickmodel("D"), "N2", "M0")
barplot(100 * s1$N2/M0, ylab="Saturation (percent)")
# Evaluate saturation after 2 hour surface interval
s2 <- haldane(dive(c(0,120)), prevstate=s1)
# Then after another dive to 18 m for 30 min with safety stop
s3 <- haldane(dive(c(18, 30),c(5,3)), prevstate=s2)
# Assess effect of breathing 80\% oxygen at safety stop
s3o <- haldane(dive(c(18, 30),5, nitrox(0.8), c(5,3)), prevstate=s2)
# Inspect saturation during dive d1 at time 10 minutes
s10 <- haldane(chop.dive(d1, 0, 10))
Run the code above in your browser using DataLab