16 Commits

Author SHA1 Message Date
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