chore: sync project state and current artifacts

This commit is contained in:
Sepehr
2026-02-22 23:27:31 +01:00
parent 1b6415776e
commit dd77089b22
232 changed files with 37056 additions and 4296 deletions

View File

@@ -102,6 +102,43 @@ RustThermoCycle est une librairie de simulation thermodynamique haute-performanc
- **Calibration inverse** (estimation des paramètres depuis données banc d'essai)
- **Export données synthétiques** (génération de datasets pour ML/surrogates)
### Advanced HVAC Components (Epic 11)
**Composants pour Chillers et Pompes à Chaleur Industriels:**
| Composant | Description | Priorité |
|-----------|-------------|----------|
| **Node** | Sonde passive (0 équations) pour extraction P, h, T, x, SH, SC | P0 |
| **Drum** | Ballon de recirculation (2 in → 2 out: liquide saturé + vapeur saturée) | P0 |
| **FloodedEvaporator** | Évaporateur noyé avec récepteur BP (sortie diphasique 50-80% vapeur) | P0 |
| **FloodedCondenser** | Condenseur à accumulation (bain liquide régule P_cond) | P0 |
| **BphxExchanger** | Échangeur à plaques brasées configurable (DX/Flooded) | P0 |
| **MovingBoundaryHX** | Échangeur discretisé par zones de phase (SH/TP/SC) | P1 |
| **VendorBackend** | API données fournisseurs (Copeland, Danfoss, SWEP, Bitzer) | P1 |
**Corrélations de Transfert Thermique:**
| Corrélation | Application | Défaut |
|-------------|-------------|--------|
| Longo (2004) | Plaques BPHX évap/cond | ✅ Défaut BPHX |
| Shah (1979, 2021) | Tubes condensation | ✅ Défaut tubes |
| Kandlikar (1990) | Tubes évaporation | Alternative |
| Gungor-Winterton (1986) | Tubes évaporation | Alternative |
| Gnielinski (1976) | Monophasique turbulent | Défaut mono |
**Architecture VendorBackend:**
```
entropyk-vendors/
├── data/
│ ├── copeland/compressors/*.json
│ ├── danfoss/compressors/*.json
│ ├── swep/bphx/*.json
│ └── bitzer/compressors/*.csv
└── src/
├── vendor_api.rs (trait VendorBackend)
└── compressors/{copeland,danfoss,bitzer}.rs
```
### Vision (Future)
- Simulation transitoire (dynamique, pas juste steady-state)
@@ -516,6 +553,7 @@ Le produit est utile uniquement si tous les éléments critiques fonctionnent en
- **FR45** : Le système supporte la calibration inverse (estimation des paramètres depuis données banc d'essai)
- **FR46** : Composants Coils air explicites (EvaporatorCoil, CondenserCoil) pour batteries à ailettes (post-MVP)
- **FR51** : Le système permet d'échanger les coefficients de calibration (f_m, f_ua, f_power, etc.) en inconnues du solveur et les valeurs mesurées (Tsat, capacité, puissance) en contraintes, pour une calibration inverse en One-Shot sans optimiseur externe
- **FR52** : Les bindings Python exposent la totalité des options de configuration du solveur Rust (initial_state, jacobian_freezing, convergence_criteria, timeout_config, etc.) pour permettre l'optimisation de la convergence depuis Python
---
@@ -556,15 +594,16 @@ Le produit est utile uniquement si tous les éléments critiques fonctionnent en
**Workflow :** BMAD Create PRD
**Steps Completed :** 12/12
**Total FRs :** 51
**Total FRs :** 52
**Total NFRs :** 17
**Personas :** 5
**Innovations :** 5
**Last Updated :** 2026-02-21
**Last Updated :** 2026-02-22
**Status :** ✅ Complete & Ready for Implementation
**Changelog :**
- `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).
- `2026-02-20` : Ajout FR49 (FlowSplitter/FlowMerger) et FR50 (FlowSource/FlowSink) — composants de jonction et conditions aux limites pour fluides compressibles et incompressibles (Story 1.11 et 1.12).