Update project structure and configurations

This commit is contained in:
2026-05-23 10:19:55 +02:00
parent ab5dc7e568
commit 62efea0646
1832 changed files with 83568 additions and 51829 deletions

View File

@@ -1193,3 +1193,55 @@ cargo new entropyk --lib
---
*Architecture document complete. Ready for implementation phase.*
---
## Crate-to-Pillar Mapping
The codebase is organized into Rust crates that map directly to the 6 business-driven pillars defined in `pillars.md` and `epic-restructuring.md`.
| Crate | Pillar | Responsibility | Stories |
|-------|--------|----------------|---------|
| `entropyk-core` | **P1 Foundation** | Physical types (NewType), Component trait, Port/Connection system, SystemState, graph topology, state machine | P1-01 to P1-14 |
| `entropyk-components` | **P2 Real Components** | All thermodynamic components (compressor, HX, valve, pump, fan, pipe, boundary conditions, BPHX, flooded equipment, drums) | P2-01 to P2-39 |
| `entropyk-vendors` | **P2 Real Components** | VendorBackend trait, Copeland/Danfoss/Bitzer/SWEP parsers, equipment catalog | P2-26 to P2-30, P2-37, P2-39 |
| `entropyk-fluids` | **P3 Fluid Properties** | FluidBackend trait, CoolProp sys-crate, tabular interpolation, LRU cache, mixtures, CO2 damping, incompressible fluids, ThermoState, psychrometrics | P3-01 to P3-09 |
| `entropyk-solver` | **P4 Simulation & Solver** | Newton-Raphson, Picard, fallback strategy, inverse control, constraints, calibration, validation, JSON serialization, energy methods | P4-01 to P4-26 |
| `entropyk-cli` | **P5 User Interfaces** | CLI for batch execution, component configuration, output formatting | P5-05, P5-07 to P5-14, P5-22 to P5-41 |
| `bindings/python` | **P5 User Interfaces** | PyO3 bindings, Python API parity | P5-02, P5-06, P5-42 to P5-54 |
| `bindings/c` | **P5 User Interfaces** | C FFI via cbindgen, header generation | P5-03 |
| `bindings/wasm` | **P5 User Interfaces** | WebAssembly compilation via wasm-bindgen | P5-04, P5-55 to P5-59 |
| *(none yet)* | **P6 HVAC Applications** | Free cooling, mode switching, control applications, Eurovent, ASHRAE, calibration workflow | P6-01 to P6-14 |
### Dependency Flow (Pillar Order)
```
P1 (entropyk-core)
| \
v v
P3 (entropyk-fluids) P2 (entropyk-components + entropyk-vendors)
| / |
v v v
P4 (entropyk-solver)
|
v
P5 (entropyk-cli + bindings/*)
|
v
P6 (no dedicated crate yet — uses P5 interfaces)
```
### Cross-Chain Dependencies
| From Crate | To Crate | Nature |
|------------|----------|--------|
| `entropyk-components` | `entropyk-core` | Component trait, types, ports |
| `entropyk-components` | `entropyk-fluids` | FluidBackend for residual computation |
| `entropyk-vendors` | `entropyk-core` | VendorBackend trait |
| `entropyk-solver` | `entropyk-core` | SystemState, graph, types |
| `entropyk-solver` | `entropyk-components` | Components provide residuals/Jacobian |
| `entropyk-solver` | `entropyk-fluids` | Property evaluation during solve |
| `entropyk-cli` | `entropyk-solver` | Solve API, result types |
| `bindings/*` | `entropyk-solver` | Re-export public API |
This mapping replaces the old "Feature/Epic Mapping" table. See `pillars.md` for the authoritative story-to-pillar assignment.

View File

@@ -10,6 +10,11 @@ inputDocuments:
# Entropyk - Epic Breakdown
> **NOTE (2026-04-25):** Epics have been reorganized into 6 business-driven pillars.
> See **[epic-restructuring.md](epic-restructuring.md)** for the full rationale and
> **[pillars.md](pillars.md)** for the pillar-level source of truth.
> The old epic content below is preserved for historical reference.
## Overview
This document provides the complete epic and story breakdown for Entropyk, decomposing the requirements from the PRD and Architecture requirements into implementable stories.
@@ -1992,3 +1997,32 @@ The current Python bindings expose only a subset of the Rust solver configuratio
| **Frost/Defrost** | Givre, dégivrage, enthalpy method | arXiv 2412.00017 |
| **Moving Boundary** | Échangeurs discretisés, zones phase | Modelica Buildings, TIL Suite |
| **Export ML** | Données synthétiques pour surrogates | arXiv 2505.15041 |
---
## Epic 20: Heat Pump Components & Enhanced Models
**Goal:** Add missing components for reversible heat pump simulation and enhance existing models with advanced features.
**Innovation:** Reversible heat pump support (4-way valve), high-pressure safety control, generalized performance curves, complete psychrometrics, and multi-zone heat exchanger calculations.
**FRs covered:** (new) FR61-FR70
**Status:** Backlog (2026-04-26)
**Source:** [Epic 20 Detail](epic-20-heat-pump-enhanced-models.md)
### Stories
| Story | Title | Phase | Depends on |
|-------|-------|-------|------------|
| 20-1 | Generalized Performance Curve Engine | 1 (Foundation) | None |
| 20-2 | Complete Psychrometric Module | 1 (Foundation) | None |
| 20-3 | Reversing Valve (4-Way) Component | 2 (Components) | 20-1 |
| 20-4 | High Pressure Control Valve | 2 (Components) | None |
| 20-5 | Compressor Parallel Units & VFD | 4 (Compressor) | None |
| 20-6 | Multi-Zone Heat Exchanger Component | 3 (HX Advanced) | 20-1 |
| 20-7 | Additional Plate HX Correlations | 3 (HX Advanced) | 20-6 |
| 20-8 | Equipment Catalog System | 5 (Catalog) | 20-5, 20-10 |
| 20-9 | Fouling / Encrustation Resistance | 6 (Advanced) | 20-6 |
| 20-10 | Vendor Backend Verification & Modernization | 4 (Compressor) | None |

View File

@@ -599,10 +599,11 @@ Le produit est utile uniquement si tous les éléments critiques fonctionnent en
**Personas :** 5
**Innovations :** 5
**Last Updated :** 2026-02-22
**Last Updated :** 2026-04-26
**Status :** ✅ Complete & Ready for Implementation
**Changelog :**
- `2026-04-26` : Ajout section "Pillar Mapping" et "FR Coverage Map by Pillar" pour alignement avec la restructuration en 6 piliers (voir `epic-restructuring.md`).
- `2026-02-28` : Correction du compteur FR (52→60) pour refléter les FR53-FR60 ajoutés dans epics.md pour Epic 11.
- `2026-02-22` : Ajout FR52 (Python Solver Configuration Parity) — exposition complète des options de solveur en Python (Story 6.6).
- `2026-02-21` : Ajout FR51 (Swappable Calibration Variables) — calibration inverse One-Shot via échange f_ ↔ contraintes (Story 5.5).
@@ -610,4 +611,52 @@ Le produit est utile uniquement si tous les éléments critiques fonctionnent en
---
## Pillar Mapping
Ce PRD a été réorganisé selon une architecture à 6 piliers métier. La correspondance entre piliers et sections du PRD est la suivante :
| Pillar | Nom | PRD Sections | Crate |
|--------|-----|-------------|-------|
| P1 | Foundation | Types (FR6-FR8), Topologie (FR9-FR13, FR48) | `entropyk-core` |
| P2 | Real Components | Composants (FR1-FR5, FR46, FR53-FR60) | `entropyk-components`, `entropyk-vendors` |
| P3 | Fluid Properties | Fluides (FR25-FR29, FR40, FR47) | `entropyk-fluids` |
| P4 | Simulation & Solver | Solveur (FR14-FR21), Régulation (FR22-FR24), Validation (FR35-FR39, FR43, FR45, FR51) | `entropyk-solver` |
| P5 | User Interfaces | API (FR30-FR34), Sérialisation (FR41, FR52) | `entropyk-cli`, `bindings/*` |
| P6 | HVAC Applications | Validation industrielle (FR44), Applications futures | (pas de crate dédié) |
Voir `pillars.md` pour l'inventaire complet des stories par pilier.
## FR Coverage Map by Pillar
| FR | Pillar | Stories clés |
|----|--------|-------------|
| FR1 | P2 | P2-01 (Compressor AHRI 540) |
| FR2 | P2 | P2-02 (Generic HX Framework) |
| FR3 | P2 | P2-03 (Expansion Valve) |
| FR4 | P2 | P2-02, P2-18, P2-19, P2-21, P2-22 |
| FR5 | P2 | P2-02 (Economizer / HX Framework) |
| FR6-FR8 | P1 | P1-04 (Component State Machine) |
| FR9-FR13 | P1 | P1-05, P1-06, P1-07, P1-08, P1-09 |
| FR14-FR21 | P4 | P4-01 à P4-08 |
| FR22-FR24 | P4 | P4-09, P4-10, P4-11 |
| FR25-FR29 | P3 | P3-01 à P3-06 |
| FR30-FR34 | P5 | P5-01 à P5-04 |
| FR35-FR39 | P4 | P4-15 à P4-18 |
| FR40 | P3 | P3-07 (Incompressible Fluids) |
| FR41 | P4 | P4-19 (JSON Serialization) |
| FR42 | P4 | P4-06 (Smart Initialization) |
| FR43 | P4 | P4-20 (Calib Parameters) |
| FR44 | P6 | P6-09 (ASHRAE 140/BESTEST) |
| FR45 | P4, P6 | P4-25 (Inverse Calib Solver), P6-10 (Inverse Calib App) |
| FR46 | P2 | P2-05 (Air Coils) |
| FR47 | P3 | P3-08 (Rich ThermoState) |
| FR48 | P1 | P1-10 (Hierarchical Subsystems) |
| FR49 | P2 | P2-07 (FlowSplitter/FlowMerger) |
| FR50 | P2 | P2-08 (RefrigerantSource/Sink) |
| FR51 | P4 | P4-13 (Swappable Calibration Variables) |
| FR52 | P5 | P5-06 (Python Solver Parity) |
| FR53-FR60 | P2 | P2-16 à P2-30 (Epic 11: Advanced HVAC Components) |
---
*Ce PRD sert de fondation pour toutes les activités de développement produit. Tout le travail de conception, d'architecture et de développement doit être tracé vers les exigences et la vision documentées dans ce PRD.*