Skip to content

Per-variable model-informed trust region bounds (à la Wang & Tchelepi) #911

Description

@pepijndevos

I was chatting to Claude about limiting and trust regions after talking about trust regions with @oscardssmith, and it seems to have stumbled upon some interesting research on model-informed trust regions. Claude report below:

What kind of problems is it mostly used for? Please describe.

Circuit simulation (SPICE-class), and more broadly any nonlinear system where a subset of variables have extreme nonlinearities with known structure. The canonical case is the PN junction diode equation I = Iₛ·exp(V/Vₜ), where a single unconstrained Newton step can overshoot by tens of volts and overflow IEEE doubles. Every SPICE simulator solves this with ad-hoc "device limiting" — per-variable step clamping baked into the device model — but this makes the residual history-dependent and inconsistent with the Jacobian, breaking compatibility with line search, trust region, and continuation methods. Sandia's Xyce team documented this extensively (SAND2004-2283). Reservoir simulation has the same class of problem with S-shaped flux functions.

Describe the algorithm you'd like

An extension to the trust region framework where the problem (or a callback) provides per-variable trust region bounds and regime boundaries, rather than the solver applying a single scalar radius to ||s||.

Concretely: the NonlinearFunction or problem metadata would accept an optional callback like trust_region_hints(x_current) -> (max_step::Vector, boundaries::Vector, bound_vars::Vector). Each device/subsystem declares things like "variable i needs |Δxᵢ| ≤ 52mV when xᵢ > 0.6V" or "don't cross the boundary at xᵢ = Vth in one step." The solver constructs per-variable box constraints within the trust region iteration. If a Newton step crosses a declared boundary, it's chopped back to that boundary.

The standard trust region ratio test (actual vs predicted reduction) still governs radius adaptation, but the radius can never exceed model-provided bounds. This is stateless, Jacobian-consistent, and composes with existing globalization — unlike traditional SPICE limiting.

Other implementations to know about

No existing implementation for circuit simulation, but the reservoir simulation community has built and proven this exact concept:

  • Wang & Tchelepi (JCP, 2013) divide the S-shaped flux function into trust regions at inflection points. Newton steps crossing a boundary are chopped back. They proved unconditional convergence for single-cell problems and achieved >10× iteration reduction on SPE-10 benchmarks.
  • Voskov et al. (Geoenergy Sci. Eng., 2023) extended this to compositional flows with adaptive boundary detection via directional derivatives — relevant when analytical boundary enumeration is impractical.
  • Xyce/Sandia's PCNR (Aadithya, Keiter & Mei, Springer 2020) is a related but different approach: it reformulates SPICE limiting as a predictor-corrector scheme with augmented unknowns, restoring Jacobian consistency. It solves the same problem but as a circuit-specific construction rather than a general solver feature.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions