""" ctrl_heatup_unsat(t, x, plant, ref) Heatup controller WITHOUT saturation. Identical to `ctrl_heatup` but the `clamp()` is removed — u can be anything the feedback-linearization + ramped-reference P wants. Used as the starting point for nonlinear reach analysis. The full `ctrl_heatup` adds saturation on top of this, which turns the controller into a 3-mode piecewise-affine system and is hybrid-reach territory. """ function ctrl_heatup_unsat(t, x, plant, ref) Kp = 1e-4 T_f = x[8] T_avg = x[9] u_ff = -plant.alpha_f * (T_f - plant.T_f0) - plant.alpha_c * (T_avg - plant.T_c0) T_ref = min(ref.T_start + ref.ramp_rate * t, ref.T_target) return u_ff + Kp * (T_ref - T_avg) end