Simulate anaesthetic uptake
sim_anaesthetic_uptake(
pinsp,
delta_time = 0.1,
total_time = 10,
conductances,
capacitances,
use_humidification = FALSE,
pambient = 101.325,
pwater = 6.26,
use_concentration_effect = FALSE,
tp_factor = stp_factor(),
alveolar_minute_ventilation = conductances["lung"]/tp_factor,
shunt_frac = 0,
metabolism_frac = 0,
ppart = partial_pressures(pinsp = pinsp)
)numeric(1), inspiratory partial pressure of the anaesthetic.
numeric(1), time difference between each calculation step
in min.
numeric(1), total time to simulate.
numeric(4), conductances.
numeric(4), capacitances.
logical(1), should humification take into account
(default: FALSE).
numeric(1), ambient pressure in kPa.
numeric(1), water pressure in kPa.
logical(1), should concentration effect
take into account (default: FALSE).
numeric, temperature/pressure factor.
numeric(1), alveolar minute ventilation
in l/min.
double(1), fraction of pulmonary shunt.
double(1), fraction of metabolism of the volatile
anaesthetic per hour (e.g. metabolism_frac = 0.05 for 5 % per hour).
double(6), initial partial pressures settings to start with.
Useful to (re)start a simulation at a given anaesthetic state/time point.
matrix, with partial pressures for each simulation step.
metabolism_frac: applying the values given in Cowles 1973 the output
slightly differs (at the second decimal place).
Figure 1 in Cowles, A. L., Borgstedt, H. H., & Gillies, A. J. (1973). A simplified digital method for predicting anesthetic uptake and distribution. Computers in Biology and Medicine, 3(4), 385-395. doi:10.1016/0010-4825(73)90004-8
## Test case with diethyl ether as in Cowles 1973, Table 4
blood_flow <- cardiac_output(total = 6.3)
part_coefs <- partition_coefficients("diethyl-ether")
# Volumes as in Cowles, Table 3
tissue_volume <- c(
lung_air = 2.68, lung_tissue = 1.0,
vrg = 8.83, mus = 36.25, fat = 11.5
)
blood_volume <- c(lung = 1.4, vrg = 3.2, mus = 0.63, fat = 0.18)
conductances <- c(
lung = conductance(
flow = 4.0, # alveolar minute ventilation
partition_coefficient = 1.0 # gas:gas partition coefficient
),
vrg = conductance(blood_flow["vrg"], part_coefs["lung"]),
mus = conductance(blood_flow["mus"], part_coefs["lung"]),
fat = conductance(blood_flow["fat"], part_coefs["lung"])
)
capacitances <- c(
lung = lung_capacitance(
tissue_volume["lung_air"],
## blood volume and tissue:gas == blood:gas in that case
tissue_volume["lung_tissue"], tissue_coefficient = part_coefs["lung"],
## blood volume and blood:gas part_coefs
blood_volume["lung"], part_coefs["lung"]
),
vrg = capacitance(
tissue_volume["vrg"], part_coefs["vrg"],
blood_volume["vrg"], part_coefs["lung"]
),
mus = capacitance(
tissue_volume["mus"], part_coefs["mus"],
blood_volume["mus"], part_coefs["lung"]
),
fat = capacitance(
tissue_volume["fat"], part_coefs["fat"],
blood_volume["fat"], part_coefs["lung"]
)
)
sim <- sim_anaesthetic_uptake(
pinsp = 12, delta_time = 10/60, total_time = 10,
conductances = conductances, capacitances = capacitances
)
matplot(sim[, 1], sim[, -1], type = "l")