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:
@@ -10,8 +10,8 @@ description = "Demo and test project for Entropyk library"
|
||||
entropyk-core = { path = "../crates/core" }
|
||||
entropyk-components = { path = "../crates/components" }
|
||||
entropyk-solver = { path = "../crates/solver" }
|
||||
# Fluid properties backend (Story 5.1 - FluidBackend demo)
|
||||
entropyk-fluids = { path = "../crates/fluids" }
|
||||
entropyk-cli = { path = "../crates/cli" }
|
||||
|
||||
# Pour des jolis prints
|
||||
colored = "2.0"
|
||||
@@ -19,10 +19,12 @@ colored = "2.0"
|
||||
# UI serveur (utilise les composants réels)
|
||||
axum = "0.7"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
tower-http = { version = "0.5", features = ["fs"] }
|
||||
tower-http = { version = "0.5", features = ["fs", "cors"] }
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
chrono = "0.4"
|
||||
# Parallel batch endpoint (mirrors crates/cli/src/batch.rs rayon pool)
|
||||
rayon = "1"
|
||||
|
||||
[[bin]]
|
||||
name = "compressor-test"
|
||||
|
||||
@@ -15,9 +15,7 @@
|
||||
|
||||
use colored::Colorize;
|
||||
use entropyk_components::heat_exchanger::{CondenserCoil, Evaporator};
|
||||
use entropyk_components::{
|
||||
Component, ComponentError, JacobianBuilder, ResidualVector, StateSlice,
|
||||
};
|
||||
use entropyk_components::{Component, ComponentError, JacobianBuilder, ResidualVector, StateSlice};
|
||||
use entropyk_core::{MassFlow, Pressure, Temperature, ThermalConductance};
|
||||
use entropyk_solver::{
|
||||
compute_coupling_heat, coupling_groups, has_circular_dependencies, System, ThermalCoupling,
|
||||
|
||||
@@ -8,9 +8,7 @@
|
||||
//! - Heat transfer computation
|
||||
|
||||
use colored::Colorize;
|
||||
use entropyk_components::{
|
||||
Component, ComponentError, JacobianBuilder, ResidualVector, StateSlice,
|
||||
};
|
||||
use entropyk_components::{Component, ComponentError, JacobianBuilder, ResidualVector, StateSlice};
|
||||
use entropyk_core::{Temperature, ThermalConductance};
|
||||
use entropyk_solver::{
|
||||
compute_coupling_heat, coupling_groups, has_circular_dependencies, CircuitId, System,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -13,11 +13,11 @@
|
||||
//! - 1-12: Boundary Conditions (Source/Sink)
|
||||
|
||||
use approx::assert_relative_eq;
|
||||
use entropyk_components::heat_exchanger::HeatTransferModel;
|
||||
use entropyk_components::{
|
||||
Ahri540Coefficients, BrineSink, BrineSource, ConnectedPort, EpsNtuModel, ExpansionValve,
|
||||
FluidId, OperationalState, Port, SstSdtCoefficients,
|
||||
};
|
||||
use entropyk_components::heat_exchanger::HeatTransferModel;
|
||||
use entropyk_core::{Concentration, Enthalpy, MassFlow, Pressure, Temperature};
|
||||
use std::sync::Arc;
|
||||
|
||||
@@ -140,8 +140,8 @@ mod story_1_4_compressor {
|
||||
fn test_sst_sdt_coefficients() {
|
||||
// Use bilinear constructor instead of removed ::default()
|
||||
let coeffs = SstSdtCoefficients::bilinear(
|
||||
0.05, 0.001, 0.0005, 0.00001, // mass flow coefficients
|
||||
1000.0, 50.0, 30.0, 0.5, // power coefficients
|
||||
0.05, 0.001, 0.0005, 0.00001, // mass flow coefficients
|
||||
1000.0, 50.0, 30.0, 0.5, // power coefficients
|
||||
);
|
||||
// Verify evaluation works (bilinear model)
|
||||
let mass_flow = coeffs.mass_flow_at(263.15, 313.15); // -10°C SST, 40°C SDT
|
||||
@@ -289,8 +289,8 @@ mod story_1_8_auxiliary {
|
||||
|
||||
// Use PumpCurves::quadratic constructor (fields are no longer public)
|
||||
let curves = PumpCurves::quadratic(
|
||||
30.0, -10.0, -50.0, // head: H = 30 - 10Q - 50Q²
|
||||
0.5, 0.3, -0.5, // efficiency: η = 0.5 + 0.3Q - 0.5Q²
|
||||
30.0, -10.0, -50.0, // head: H = 30 - 10Q - 50Q²
|
||||
0.5, 0.3, -0.5, // efficiency: η = 0.5 + 0.3Q - 0.5Q²
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
@@ -329,8 +329,7 @@ mod story_1_11_junctions {
|
||||
let outlet1 = make_connected_port("Water", 100_000.0, 42_000.0);
|
||||
let outlet2 = make_connected_port("Water", 100_000.0, 42_000.0);
|
||||
|
||||
let splitter =
|
||||
FlowSplitter::incompressible("Water", inlet, vec![outlet1, outlet2]);
|
||||
let splitter = FlowSplitter::incompressible("Water", inlet, vec![outlet1, outlet2]);
|
||||
assert!(splitter.is_ok());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user