
Translate a mixed `linCmt()`/ODE model to all-ODEs
Source:R/preProcessLinCmtOde.R
dot-preProcessLinCmtOde.Rdrxode2 requires the `linCmt()` compartments to be the last states of the solve (`op$linOffset = neq - numLin - numLinSens`), so their compartment number is one past the ODE states. The FOCEi inner model adds an ODE state per eta, and the nlm family one per theta, which pushes depot/central past the compartment numbers the data was translated against (`.foceiPreProcessData()` uses the plain model). A dose then silently lands in a sensitivity state – every prediction comes back 0. Solving the linear part as ODEs removes the `linCmt()` block, so the numbering agrees again. SAEM builds no sensitivity states and is left alone.