Snapshot WIP: solver HP epic progress, BPHX/HX physics, BMAD skill refresh.
Some checks failed
CI / check (push) Has been cancelled

Capture uncommitted solver robustness work (regularization, domain errors, linear solver lifecycle, tube DP/MSH), web workbench updates, and synced BMAD skills across IDE agent folders before starting BPHX pressure-drop.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-19 16:35:31 +02:00
parent 88620790d6
commit 5bd180b5b8
1363 changed files with 101041 additions and 58547 deletions

View File

@@ -5,6 +5,7 @@
//! - AC #2: Jacobian block correctly contains cross-derivatives for MIMO systems
//! - AC #3: Simultaneous multi-variable solving converges when constraints are compatible
//! - AC #4: DoF validation correctly handles multiple linked variables
#![allow(clippy::needless_range_loop)]
use entropyk_components::{
Component, ComponentError, ConnectedPort, JacobianBuilder, ResidualVector, StateSlice,
@@ -812,7 +813,7 @@ fn test_mimo_jacobian_structure_and_bounds() {
// Verify bounds are respected (AC #3 requirement)
for &cv in &control_values {
assert!(
cv >= 0.0 && cv <= 1.0,
(0.0..=1.0).contains(&cv),
"Control variables must respect bounds [0, 1]"
);
}
@@ -1083,11 +1084,13 @@ fn test_mimo_cross_derivatives_have_consistent_signs() {
}
/// Helper: builds a three-component system for 3x3 MIMO testing.
/// CM1.4: 3-edge series cycle → 1 branch + 6 P,h = 7 unknowns.
/// Using mock(2) for each component gives 6 equations (under-constrained, allowed).
fn build_three_component_system() -> System {
let mut sys = System::new();
let comp = sys.add_component(mock(3)); // compressor
let evap = sys.add_component(mock(3)); // evaporator
let cond = sys.add_component(mock(3)); // condenser
let comp = sys.add_component(mock(2)); // compressor
let evap = sys.add_component(mock(2)); // evaporator
let cond = sys.add_component(mock(2)); // condenser
sys.add_edge(comp, evap).unwrap();
sys.add_edge(evap, cond).unwrap();
sys.add_edge(cond, comp).unwrap();