Files
Entropyk/apps/web/public/docs/components/flow-regularization.md
sepehr 3358b74342 Add diagram workbench UI with Modelica DoF coaching and ISO glyphs.
Ship the Next.js cycle editor with CAD chrome, technical HX symbols, Fixed/Free boundary guidance, and secondary water/air pressure drop support in the solver stack.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 22:46:46 +02:00

1.8 KiB
Raw Blame History

Flow regularization (zero-flow helpers)

Source: crates/components/src/heat_exchanger/flow_regularization.rs
Used by: FloodedEvaporator (full residual path); Condenser / Evaporator (smooth |ṁ| for live C_sec).


EN

Why

Zero mass flow is a valid state (staging, circuit off, Newton trial steps). Hard branches like if |m| < ε { Q = 0 } create Jacobian discontinuities.

API

Function Meaning
flow_activity(m, ε) α = m²/(m²+ε²) ∈ [0,1), α(0)=0
flow_activity_derivative dα/dm
effective_duty(Q, α_a, α_b) Q_eff = α_a · α_b · Q
blend_transport_residual blend active transport residual with Δh hold
blend_transport_partials analytic partials of the blend
smooth_mass_magnitude C¹-ish smooth |m| for C = |ṁ| · cp
smooth_mass_magnitude_derivative d|m|_smooth / dm

Defaults: DEFAULT_M_EPS_KG_S = 1e-4, DEFAULT_M_SCALE_KG_S = 0.05.

Interaction with rating mode (Flooded)

On FloodedEvaporator system path (live secondary): duty uses effective_duty with α_ref and α_sec.
On Flooded rating path (scalar C_sec only): residual energy uses full Q (no α_ref gate) so ṁ_ref = 0 is not a trivial root when C_sec > 0.

DoF rule

Regularization must not change n_equations(). It only reshapes residual values and derivatives.


FR

Pourquoi

Le débit nul est un état valide. Les if |m| < ε durs cassent le Newton.

API

Voir le tableau EN.

Rating vs système (Flooded)

  • Système (ports live) : duty régularisée α_ref · α_sec · Q.
  • Rating (scalaires) : Q plein dans le résidu énergie (pas de racine triviale ṁ=0).

Règle DoF

La régularisation ne change pas n_equations().