% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/Mann2022.R
\name{Mann2022Equilibrate}
\alias{Mann2022Equilibrate}
\title{Pre-equilibrate the Mann 2022 respiratory-physiology states}
\usage{
Mann2022Equilibrate(model, params = NULL, duration_min = 90)
}
\arguments{
\item{model}{An `rxode2` model containing at least the Mann 2022
respiratory physiology states (`palv_co2`, `palv_o2`, `cb_co2`,
`cb_o2`, `ct_co2`, `ct_o2`, `yco2`, `yo2`, `dp_state`, `dc_state`,
`alpha_h`). Works with the standalone
`Mann_2022_respiratory_physiology` model, with composed chains
(PK + binding + physiology), or with any user-extended variant.}

\item{params}{Named vector of model parameters. For a composed
chain, supply the full PK + binding + physiology parameter set
(the opioid PK states stay at zero throughout the pre-equilibration
because no dose is given).}

\item{duration_min}{Pre-equilibration duration in minutes. The
default `90` is sufficient for the Mann 2022 physiology to settle
to four-decimal precision; the slowest state is `alpha_h` with a
5-minute time constant.}
}
\value{
Named list of physiology equilibrium state values, suitable
  for passing as the `inits` argument to `rxode2::rxSolve` on
  subsequent dose-bearing simulations.
}
\description{
The Mann 2022 / FDA delaymymod.c physiology layer is sensitive to
initial conditions because the chemoreflex feedback sees a 48.6 mm Hg
error in `p_b_co2 - p_b_co2_0` at t = 0 when the FDA delaystates.R
nominal values (`palv_co2 = 40.28`, `cb_co2 = 0.645`) are used
verbatim. The transient over-ventilation that follows leaves the
system in a state that subsequent opioid doses cannot push into
sustained PaO2 < 15 mm Hg, severely under-estimating cardiac arrest
incidence.
}
\details{
The FDA `simulateToGetOD_IM.R` reference script handles this by
running a no-drug pre-simulation via `fundede` per subject and using
the FINAL state as the dose-time initial state. This function does
the equivalent: it runs the supplied `model` for `duration_min`
minutes with zero opioid dose and zero antagonist input, then returns
the final-time values of the standard Mann 2022 physiology states as
a named list suitable for passing as `inits` to `rxode2::rxSolve`.

The equilibrium does NOT depend on opioid PK parameters (no drug is
present during pre-equilibration). The standalone
`Mann_2022_respiratory_physiology` model and the Laffont 2025
vignette inline chain ship with the FDA nominal initial conditions
as `ini()` defaults (matching `delaystates.R`), so any code that
uses these models for downstream overdose simulation MUST call this
function and pass the result via the `inits` argument of
`rxode2::rxSolve`; without it the FDA-published cardiac-arrest rates
cannot be reproduced.
}
