Commit Graph

49 Commits

Author SHA1 Message Date
c034f20549 Add one-click triple calib setup and warn on orphan Probe Fixed.
Some checks failed
CI / check (push) Has been cancelled
Guide SST/SDT/DGT pairing for evap z_ua, cond z_ua, and f_w; avoid bound f_w=1 and Fixed P/X that confuse DoF.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 23:34:03 +02:00
9b4b7b58b0 Stabilize Modelica Fixed/Free calibration and stop flaky Newton embeds.
Some checks failed
CI / check (push) Has been cancelled
Sort constraint/control assembly for deterministic Jacobians, keep live z_ua on legacy HX, and add generic Fixed/Free UI assist without removing Z factors.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 23:23:35 +02:00
5425685a48 Add model embeddings for Z-factor DoF, separate from SaturatedController.
Some checks failed
CI / check (push) Has been cancelled
Fixed/Free Probe calibration now emits embeddings[] (unknown + equation) instead of controls[], keeping SaturatedController for physical regulation only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 22:42:31 +02:00
3808e0f11b Snapshot WIP: Probe calibration path, faer LU backend, and BPHX phase-change duty.
Some checks failed
CI / check (push) Has been cancelled
Checkpoint incomplete calibration work (cond SDT green, evap SST failing) plus related solver/UI changes so the next pass can fix and extend safely.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 21:44:01 +02:00
2f1f7ecb80 Fix BPHX mass flux per-side channels so pressure drop is visible.
Some checks failed
CI / check (push) Has been cancelled
Mass flux used all plate gaps instead of half the pack per fluid, underestimating G and making ΔP look like zero in the UI (0.000 bar). Also show ΔP in kPa/Pa and sync the web example.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 17:06:44 +02:00
81abd5a591 Add missing SolvedVariablesBlock component for properties panel.
Some checks failed
CI / check (push) Has been cancelled
Fixes the UI compile break from referencing an undefined helper when showing z_dp and other solved actuators.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 16:55:46 +02:00
7250b9fe4d Show solved calibration factors in the properties panel.
Some checks failed
CI / check (push) Has been cancelled
Surface free actuators like z_dp after solve in Results and Calibration tabs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 16:55:29 +02:00
7ae7ebfc09 Add getSolvedVariablesForComponent helper for UI inspection.
Some checks failed
CI / check (push) Has been cancelled
Lets the properties panel read free actuators like z_dp from the solve payload per component.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 16:55:11 +02:00
586d28c745 Expose solved_variables on the web SimulationResult type.
Some checks failed
CI / check (push) Has been cancelled
Align the TypeScript API with the Rust SolvedVariable payload so z_dp and other free actuators can be displayed after solve.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 16:54:21 +02:00
44f793a583 Wire BPHX channel pressure drop on both sides with selectable correlations.
Some checks failed
CI / check (push) Has been cancelled
Replace isobaric 4-port closures with SimplifiedChannel (default) and Martin1996 DP models so z_dp and UI dp_correlation actually affect the Newton solve.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 16:52:25 +02:00
5bd180b5b8 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>
2026-07-19 16:35:31 +02:00
88620790d6 Complete Story 0.2 phantom-gradient regularization standard.
Add analytic derivatives and C1 tests for smooth_max/min/clamp, document epsilon/width guidance, and declare flow_regularization as the HX reference pattern without changing component physics.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 16:33:48 +02:00
f88cd7f7d8 feat(fmi): add FMI 2.0 Co-Simulation FMU export (bindings/fmi) and ntropyk-cli export-fmu command
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 00:46:34 +02:00
329be3856f docs: rewrite README section 5 and solver loop in plain French, define residual/jacobian, drop edge jargon
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 00:19:34 +02:00
f4c104b255 docs: full French rewrite of README, plain language, no unexplained acronyms, only real CLI components
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 00:17:37 +02:00
246f42c25a docs: rewrite French README/DOCUMENTATION/cli README, drop internal CM1.x jargon
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 00:14:32 +02:00
a4f0e26263 Rewrite French project docs for architecture, solver, and CLI.
Bring the root README, technical manual, and CLI guide in sync with
post-CM1.x state (m,P,h), Modelica Fixed/Free, and current component catalog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 00:06:39 +02:00
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
62efea0646 Update project structure and configurations 2026-05-23 10:19:55 +02:00
Sepehr
ab5dc7e568 chore: remove BMAD framework files and IDE configuration artifacts
Clean up unused BMAD workflow, agent, and command files across all IDE
configurations (.agent, .clinerules, .cursor, .gemini, .github, .kilocode,
.opencode) and internal module files (_bmad/bmb, _bmad/bmm).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-25 15:01:09 +02:00
Sepehr
891c4ba436 chore: update documentation to reflect recent architectural changes and improve clarity 2026-03-10 22:59:04 +01:00
Sepehr
d88914a44f chore: remove deprecated flow_boundary and update docs to match new architecture 2026-03-01 20:00:09 +01:00
Sepehr
20700afce8 docs: add AGENTS.md with BMAD workflow compliance instructions 2026-03-01 09:38:08 +01:00
Sepehr
fdd124eefd fix: resolve CLI solver state dimension mismatch
Removed mathematical singularity in HeatExchanger models (q_hot - q_cold = 0 was redundant) causing them to incorrectly request 3 equations without internal variables. Fixed ScrewEconomizerCompressor internal_state_len to perfectly align with the solver dimensions.
2026-02-28 22:45:51 +01:00
Sepehr
c5a51d82dc docs: update AI code review findings in vendor backend story & status 2026-02-28 19:37:17 +01:00
Sepehr
3eb2219454 style: fix AI code review findings for vendor backend 2026-02-28 19:37:02 +01:00
Sepehr
bd4113f49e feat(components): add BphxExchanger with geometry-based heat transfer correlations (Story 11.5)
- Add BphxGeometry with builder pattern for plate heat exchanger specs
- Implement 6 heat transfer correlations: Longo2004, Shah1979/2021, Kandlikar1990, GungorWinterton1986, Gnielinski1976
- Add CorrelationSelector with validity range checking
- Add compute_pressure_drop() using Calib.f_dp
- Implement HeatTransferCorrelation trait for BphxCorrelation
- 45 BPHX tests + 17 correlation tests passing
2026-02-24 21:18:22 +01:00
Sepehr
613afb5351 chore: restore missing Epic 10 stories in sprint-status 2026-02-22 23:50:03 +01:00
Sepehr
dd77089b22 chore: sync project state and current artifacts 2026-02-22 23:27:31 +01:00
Sepehr
1b6415776e chore: restore sprint-status.yaml from on-disk artifact state 2026-02-22 23:24:09 +01:00
Sepehr
56df96ed9e docs: create comprehensive documentation and deep-dive examples
- Created DOCUMENTATION.md covering core philosophy, modules, and platform specifics.
- Created EXAMPLES_FULL.md with complex multi-platform usage scenarios.
- Updated README.md and docs/index.md to centralize documentation links.
2026-02-21 23:25:04 +01:00
Sepehr
fa480ed303 feat: implement mass balance validation for Story 7.1
- Added port_mass_flows to Component trait and implements for core components.
- Added System::check_mass_balance and integrated it into the solver.
- Restored connect methods for ExpansionValve, Compressor, and Pipe to fix integration tests.
- Updated Python and C bindings for validation errors.
- Updated sprint status and story documentation.
2026-02-21 23:21:34 +01:00
Sepehr
4440132b0a feat(python): implement python bindings for all components and solvers 2026-02-21 20:34:56 +01:00
Sepehr
8ef8cd2eba Fix code review issues for Story 1.10 2026-02-21 19:15:34 +01:00
Sepehr
0d9a0e4231 Fix bugs from 5-2 code review 2026-02-21 10:43:55 +01:00
Sepehr
400f1c420e docs(bmad): Add Hierarchical Subsystems (FR48) to PRD, Arch, Epics and Sprint 2026-02-20 22:36:28 +01:00
Sepehr
2d3d19665b docs(bmad): sync status and renumber Epic 8 (Fluid-Component integration) 2026-02-20 22:29:42 +01:00
Sepehr
3dbdfba967 feat(demo): add dedicated saturation temperature column to HTML report 2026-02-20 22:14:20 +01:00
Sepehr
266b3d505a feat(demo): update mass quality to show subcooling (<0) and superheating (>1) in HTML report 2026-02-20 22:12:37 +01:00
Sepehr
032fcae599 feat(demo): add saturation temp and mass quality to HTML report 2026-02-20 22:09:20 +01:00
Sepehr
c7edf0d540 feat(demo): restore HTML report generation in eurovent demo 2026-02-20 22:04:11 +01:00
Sepehr
4a40fddfe3 feat(components): add ThermoState generators and Eurovent backend demo 2026-02-20 22:01:38 +01:00
Sepehr
375d288950 Fix workspace compilation: allow unsafe code in coolprop-sys 2026-02-20 21:31:07 +01:00
Sepehr
fda1925bef Fix code review findings for Story 5-1
- Fixed Critical issue: Wired up _state to the underlying HeatExchanger boundary conditions so the Newton-Raphson solver actually sees numerical gradients.
- Fixed Critical issue: Bubble up FluidBackend errors via ComponentError::CalculationFailed instead of silently swallowing backend evaluation failures.
- Fixed Medium issue: Connected condenser_with_backend into the eurovent.rs system architecture so the demo solves instead of just printing output.
- Fixed Medium issue: Removed heavy FluidId clones inside query loop.
- Fixed Low issue: Added physical validations to HxSideConditions.
2026-02-20 21:26:19 +01:00
Sepehr
73ad750f31 Fix code review findings for Story 5-1
- Fixed Critical issue: Wired up _state to the underlying HeatExchanger boundary conditions so the Newton-Raphson solver actually sees numerical gradients.
- Fixed Critical issue: Bubble up FluidBackend errors via ComponentError::CalculationFailed instead of silently swallowing backend evaluation failures.
- Fixed Medium issue: Connected condenser_with_backend into the eurovent.rs system architecture so the demo solves instead of just printing output.
- Fixed Medium issue: Removed heavy FluidId clones inside query loop.
- Fixed Low issue: Added physical validations to HxSideConditions.
2026-02-20 21:25:44 +01:00
Sepehr
be70a7a6c7 feat(core): implement physical types with NewType pattern
Story 1.2: Physical Types (NewType Pattern)

- Add Pressure, Temperature, Enthalpy, MassFlow types
- Implement SI base units with conversion methods
- Add arithmetic operations (Add, Sub, Mul, Div)
- Add Display and Debug traits
- Comprehensive unit tests (37 tests)
- Add PSI and Fahrenheit conversions
- Code review fixes applied

All tests passing, clippy clean
2026-02-14 15:25:30 +01:00
Sepehr
dd8697b07b Update .gitignore with comprehensive Rust project exclusions 2026-02-14 13:54:04 +01:00
Sepehr
1fdfefe631 Initial commit: BMAD framework + Story 1.1 Component Trait Definition
Features:
- BMAD (Build Modular AI-driven Development) framework setup
- BMM, BMB, CIS, Core modules configured
- Story 1.1: Component trait with error handling
- Workspace Cargo.toml with components crate
- 31 tests passing (19 unit + 12 doc tests)

Technical:
- Component trait with compute_residuals, jacobian_entries, n_equations
- ComponentError enum with thiserror
- JacobianBuilder for sparse matrix construction
- Object-safe trait supporting Box<dyn Component>
- Comprehensive documentation and examples
2026-02-14 13:54:04 +01:00
22dd012a74 first commit 2026-02-14 13:43:29 +01:00