diff --git a/code/scripts/reach/reach_scram_pj_fat.jl b/code/scripts/reach/reach_scram_pj_fat.jl index c790d84..ff12ade 100644 --- a/code/scripts/reach/reach_scram_pj_fat.jl +++ b/code/scripts/reach/reach_scram_pj_fat.jl @@ -18,6 +18,7 @@ using Pkg Pkg.activate(joinpath(@__DIR__, "..", "..")) using LinearAlgebra +using Printf using ReachabilityAnalysis, LazySets using JSON using MAT diff --git a/journal/entries/2026-04-21-polytopic-sos-tikhonov.tex b/journal/entries/2026-04-21-polytopic-sos-tikhonov.tex index e51f41b..864aab0 100644 --- a/journal/entries/2026-04-21-polytopic-sos-tikhonov.tex +++ b/journal/entries/2026-04-21-polytopic-sos-tikhonov.tex @@ -181,10 +181,33 @@ One-session task. \subsection*{Other odds and ends} -\apass{Scram entry-set expansion (user's morning point 2) queued; not -done this session. The LOCA-driven scenario is a separate reach run -that needs to complete first, then its final-state bounding box feeds -into the scram \textit{X\_entry}.} +\textbf{Scram entry-set expansion (user's morning point 2) --- +landed later this session.} Built +\texttt{code/scripts/reach/reach\_loca\_operation.jl} (LQR reach under +$Q_{\mathrm{sg}} \in [0,\ 1.5 P_0]$, the steam-line-break envelope, +for 3~\unit{\second} horizon) and +\texttt{code/scripts/reach/reach\_scram\_pj\_fat.jl} (bounding-box +union of hot-standby + heatup-tight envelope + operation-LQR envelope ++ LOCA envelope, clamps LOCA's numerical outliers on precursors to +physically plausible bounds, reruns PJ scram reach). + +Result: $n$ decays monotonically +\textbf{$0.047 \to 0.021 \to 0.0094$ over $\{10, 30, 60\}$~\unit{\second}}, +factor-of-five per minute even starting from the fat entry (which +includes the LOCA-perturbed post-operation state). Temperatures +fall from $[226,\ 361]\,^\circ\mathrm{C}$ (clamp-saturated initially) +toward the decay-heat equilibrium. No step-budget truncation; +23{,}919 reach-sets over 60~\unit{\second}. $X_{\mathrm{exit}}$ +threshold of $n \leq 10^{-4}$ still not reached in 60~\unit{\second}; +same $T_{\max}$-vs-plant-decay mismatch flagged in the earlier scram +entry. \emph{But}: this is now a defensible obligation because the +entry set represents ``anywhere the plant could realistically be,'' +not the narrow 1~K box around $x_{\mathrm{op}}$ of the earlier run. + +\apass{The LOCA reach itself is numerically loose (box-hull propagation +amplifies slow precursor modes under large disturbance, so horizons +$> 3$~\unit{\second} blow up). A proper zonotope-generator +propagator would fix this; deferred.} \apass{Heatup with steam-dump $Q_{\mathrm{sg}}$ demand (user's point 3) queued; a one-line change to \texttt{main\_mode\_sweep.jl}'s