Why PBPK Models Can Be Stiff
A PBPK model may combine processes that evolve on very different time scales. Blood can move through an organ over minutes or hours, while drug binding, membrane exchange, or elimination may introduce much faster or slower changes. A numerical solver must follow the coupled system, not just the process that looks most important in a concentration-time plot. If a fast mode restricts the step size even after that mode has largely decayed, simulation can become computationally demanding. This behavior is a common sign of stiffness.
Stiffness is not a property that can be established from a single universal cutoff. It depends on the equations, the simulated interval, the modes activated by the initial conditions or inputs, and the numerical method. Comparing process time scales is a useful first screen; solver behavior and the local Jacobian provide additional evidence.
In PBPK notation, the model can be written as \(\frac{d\mathbf{x}}{dt}=\mathbf{f}(t,\mathbf{x})\), where \(\mathbf{x}\) collects the compartment states. Near a state \(\mathbf{x}\), small perturbations evolve approximately according to \(\frac{d\delta\mathbf{x}}{dt}=J\delta\mathbf{x}\), where \(J=\partial\mathbf{f}/\partial\mathbf{x}\) is the Jacobian. The eigenvalues of \(J\) describe local linear modes: negative real parts indicate local decay, and a large spread in decay rates can signal stiffness. For nonlinear PBPK models, this is a local diagnostic; the Jacobian and its modes can change over time.
Use Time Scales as a First Screen
For a first-order process with rate constant \(k>0\), the equation \(\frac{dz}{dt}=-kz\) has solution \(z(t)=z(0)e^{-kt}\). Its characteristic time scale is \(\tau=1/k\): after one \(\tau\), the mode has fallen to \(e^{-1}\), or about 36.8%, of its initial value. A perfusion turnover time can be approximated by \(V/Q\), where \(V\) is the relevant volume and \(Q\) is blood flow, provided that this ratio is an appropriate description of the process being considered. These estimates do not replace analysis of the coupled equations, but they help identify possible fast and slow processes.
Worked Example: Screening Three PBPK Process Time Scales
Consider a hypothetical PBPK model with an organ volume of \(1.50\ \mathrm{L}\), organ blood flow of \(0.500\ \mathrm{L\,h^{-1}}\), a first-order binding rate of \(8.00\ \mathrm{h^{-1}}\), and a slow elimination rate of \(0.0400\ \mathrm{h^{-1}}\). Treat these as illustrative process rates, not as measured values from a study.
The organ perfusion turnover estimate is \(V/Q\):
The binding time scale is \(1/k_{\mathrm{binding}}=1/(8.00\ \mathrm{h^{-1}})=0.125\ \mathrm{h}\), or 7.50 minutes. The elimination time scale is \(1/k_{\mathrm{elim}}=1/(0.0400\ \mathrm{h^{-1}})=25.0\ \mathrm{h}\). Thus, the fastest and slowest of these estimates differ by \(25.0/0.125=200\). This wide separation warrants checking for stiffness, but it does not prove that the full coupled model is stiff: coupling, state amplitudes, inputs, and the solver all matter.
Why Fast Modes Constrain Explicit Steps
The stability restriction can be seen in a simple scalar model before applying it as a diagnostic to a PBPK system. Forward Euler applied to \(y'=\lambda y\) gives \(y_{m+1}=(1+h\lambda)y_m\), where \(h\) is the step size. For a real, negative \(\lambda\), repeated numerical steps decay without growing in magnitude only if \(|1+h\lambda|\leq 1\), which is equivalent to \(0\leq h\leq 2/|\lambda|\). This is a stability condition for this particular method and mode; other explicit methods have different stability regions.
The result explains the numerical difficulty: a rapidly decaying mode has a large \(|\lambda|\), so an explicit method may require a small step for stability even when that mode changes little in the later part of the simulation. A stable step is not automatically an accurate step. Resolving a fast transient may require steps smaller than the stability limit, while accurately representing slow changes also requires adequate resolution of those changes. Stiffness arises when these demands make explicit integration inefficient for the interval or output of interest.
Worked Example: A Two-State Jacobian and Its Time Scales
Suppose a hypothetical local linearization of two concentration states, expressed in consistent concentration units, has the Jacobian below. The entries have units of \(\mathrm{h^{-1}}\); the system is considered at a fixed state and time for this local calculation.
For a two-by-two matrix, the eigenvalues solve \(\lambda^2-\operatorname{tr}(J)\lambda+\det(J)=0\). Here, the trace is \(-8.00-0.0400=-8.04\ \mathrm{h^{-1}}\). The determinant is
Therefore the characteristic equation is \(\lambda^2+8.04\lambda+0.295=0\). Its discriminant is \(8.04^2-4(0.295)=64.6416-1.180=63.4616\ \mathrm{h^{-2}}\). Applying the quadratic formula gives
Both modes decay locally. Their time scales are approximately \(1/0.03686=27.13\ \mathrm{h}\) and \(1/8.00314=0.12495\ \mathrm{h}\). The ratio of the fast to slow rate magnitudes is \(8.00314/0.03686\approx217.1\). For forward Euler, the fast real mode alone imposes the stability condition \(h\leq2/8.00314\approx0.2499\ \mathrm{h}\). This is a useful illustration of a wide local time-scale separation, not a universal step-size prescription for a nonlinear PBPK run.
Read Solver Steps as Evidence, Not a Verdict
Adaptive solvers propose steps and use their method-specific error estimates and acceptance criteria to decide whether to accept a step or try again with a different one. A run that repeatedly reduces steps, rejects trials, or takes many small steps during a rapid transient may be encountering a fast process or a stability constraint. If steps remain unusually small after the visible fast transient has subsided, stiffness is one possible explanation. The same pattern can also arise from sharp inputs, discontinuities, rapidly changing derivatives, poor scaling, or difficult equations.
Worked Example: Interpreting a Hypothetical Step Log
Imagine a hypothetical explicit-solver log for the local system in the previous example. Near the start of a simulation, a trial step of \(0.500\ \mathrm{h}\) is rejected; a retry of \(0.200\ \mathrm{h}\) is accepted. Later, after the initial rapid change, the solver continues to use steps near \(0.200\ \mathrm{h}\), while an implicit-solver run takes larger steps over the same smooth interval.
The local forward-Euler stability bound from the fast eigenvalue was about \(0.2499\ \mathrm{h}\). A \(0.500\ \mathrm{h}\) step would exceed that illustrative bound, whereas \(0.200\ \mathrm{h}\) would be within it. This comparison makes the rejected trial and small explicit steps consistent with a fast mode restricting stability. However, it does not establish the reason for the actual rejection: a practical solver uses its own method and error test, and the trial might instead have failed its accuracy criterion. Nor does the larger implicit step prove that the implicit solution is accurate. The log is a diagnostic clue to compare with model dynamics and convergence checks.
A useful diagnostic sequence is to relate the observed step pattern to the model's process time scales, inspect whether the pattern changes across the simulation, and compare solver behavior under suitable methods. An explicit method taking many small steps while an implicit method advances efficiently is consistent with stiffness, especially when a Jacobian also has widely separated stable modes. It is not conclusive by itself. A sharp dose or infusion event, for example, can require small steps because the equations or inputs change abruptly, rather than because the smooth system is stiff.
Compare Solver Approaches and Recognize Limitations
Explicit methods calculate a new state from previously available derivative information. They are often effective when the problem is not stiff, but their stability regions can force small steps for fast stable modes. Implicit methods involve the unknown future state in the step calculation and are often more suitable for stiff systems because they can remain stable at larger steps for decaying modes. They may require more work per step, and their stability does not guarantee that a step accurately captures a transient or that the PBPK equations have been implemented correctly.
Eigenvalues are also an incomplete description. The Jacobian is a local approximation, so its eigenvalues can change with state and time. A system with complex eigenvalues may have oscillatory modes; their real parts describe growth or decay, while their imaginary parts describe oscillation. In addition, eigenvalues alone may not fully characterize transient amplification in a non-normal system. The practical diagnosis should therefore combine time-scale reasoning, Jacobian information, solver behavior, and checks that the numerical solution is sufficiently resolved.
A small or invisible fast mode may have little influence on a particular reported quantity, but that should not be assumed from a plot alone. Conversely, a small solver step does not automatically mean the model is stiff. These are reasons to investigate, not labels to apply without context. Numerical stiffness also does not identify a biological mechanism or validate parameter values; it describes a computational challenge arising from the model equations over the simulation being performed.
Check Your Understanding
Answer the questions, then check the concise solutions below.
- A first-order process has rate \(2.00\ \mathrm{h^{-1}}\). What is its characteristic time scale?
- A local stable Jacobian has real eigenvalues \(-0.10\ \mathrm{h^{-1}}\) and \(-5.0\ \mathrm{h^{-1}}\). What are the modal time scales, and what is the fast-to-slow rate-magnitude ratio?
- For forward Euler applied to a real mode with \(\lambda=-10\ \mathrm{h^{-1}}\), what is the stability upper bound on \(h\)?
- Why does a rejected step not, on its own, prove stiffness?
- What is one useful interpretation, and one limitation, of finding widely separated negative real eigenvalues?
Solutions. (1) \(\tau=1/k=1/(2.00\ \mathrm{h^{-1}})=0.500\ \mathrm{h}\). (2) The time scales are \(1/0.10=10.0\ \mathrm{h}\) and \(1/5.0=0.200\ \mathrm{h}\); the rate-magnitude ratio is \(5.0/0.10=50\). (3) Forward Euler requires \(h\leq2/|\lambda|=2/10=0.200\ \mathrm{h}\) for this mode. (4) Rejection means the trial failed the solver's acceptance criteria; a transient, discontinuity, or accuracy requirement may explain it, among other causes. (5) The eigenvalues indicate locally decaying modes with different time scales, a stiffness clue; they do not alone establish stiffness throughout a nonlinear simulation or guarantee that a numerical solution is accurate.