# Story 11.8: CorrelationSelector **Epic:** 11 - Advanced HVAC Components **Priorité:** P1-HIGH **Estimation:** 4h **Statut:** backlog **Dépendances:** Aucune --- ## Story > En tant qu'ingénieur simulation, > Je veux sélectionner parmi plusieurs corrélations de transfert thermique, > Afin de comparer différents modèles ou utiliser le plus approprié. --- ## Contexte Différentes corrélations existent pour calculer le coefficient de transfert thermique (h). Le choix dépend de: - Type d'échangeur (tubes, plaques) - Phase (évaporation, condensation, monophasique) - Fluide - Conditions opératoires --- ## Corrélations Disponibles ### Évaporation | Corrélation | Année | Application | Défaut | |-------------|-------|-------------|--------| | Longo | 2004 | Plaques BPHX | ✅ | | Kandlikar | 1990 | Tubes | | | Shah | 1982 | Tubes horizontal | | | Gungor-Winterton | 1986 | Tubes | | | Chen | 1966 | Tubes classique | | ### Condensation | Corrélation | Année | Application | Défaut | |-------------|-------|-------------|--------| | Longo | 2004 | Plaques BPHX | ✅ | | Shah | 1979 | Tubes | ✅ Tubes | | Shah | 2021 | Plaques récent | | | Ko | 2021 | Low-GWP plaques | | | Cavallini-Zecchin | 1974 | Tubes | | ### Monophasique | Corrélation | Année | Application | Défaut | |-------------|-------|-------------|--------| | Gnielinski | 1976 | Turbulent | ✅ | | Dittus-Boelter | 1930 | Turbulent simple | | | Sieder-Tate | 1936 | Laminaire | | --- ## Architecture ```rust // crates/components/src/correlations/mod.rs pub trait HeatTransferCorrelation: Send + Sync { fn name(&self) -> &str; fn year(&self) -> u16; fn supported_types(&self) -> Vec; fn supported_geometries(&self) -> Vec; fn compute(&self, ctx: &CorrelationContext) -> Result; fn validity_range(&self) -> ValidityRange; fn reference(&self) -> &str; } pub struct CorrelationSelector { defaults: HashMap>, selected: Option>, } ``` --- ## Fichiers à Créer/Modifier | Fichier | Action | |---------|--------| | `crates/components/src/correlations/mod.rs` | Créer | | `crates/components/src/correlations/longo.rs` | Créer | | `crates/components/src/correlations/shah.rs` | Créer | | `crates/components/src/correlations/kandlikar.rs` | Créer | | `crates/components/src/correlations/gnielinski.rs` | Créer | --- ## Critères d'Acceptation - [ ] `HeatTransferCorrelation` trait défini - [ ] Longo (2004) implémenté (évap + cond) - [ ] Shah (1979) implémenté (cond) - [ ] Kandlikar (1990) implémenté (évap) - [ ] Gnielinski (1976) implémenté (monophasique) - [ ] `CorrelationSelector` avec defaults par type - [ ] Chaque corrélation documente sa plage de validité - [ ] `CorrelationResult` inclut h, Re, Pr, Nu, validity --- ## Références - [Epic 11 Technical Specifications](../planning-artifacts/epic-11-technical-specifications.md) - Longo, G.A. et al. (2004). Int. J. Heat Mass Transfer