Snapshot WIP: solver HP epic progress, BPHX/HX physics, BMAD skill refresh.
Some checks failed
CI / check (push) Has been cancelled
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:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user