# Story 11.9: MovingBoundaryHX - Zone Discretization

**Epic:** 11 - Advanced HVAC Components  
**Priorité:** P1-HIGH  
**Estimation:** 8h  
**Statut:** backlog  
**Dépendances:** Story 11.8 (CorrelationSelector)

---

## Story

> En tant qu'ingénieur de précision,  
> Je veux un MovingBoundaryHX avec discrétisation par zones de phase,  
> Afin de modéliser les échangeurs avec des calculs zone par zone précis.

---

## Contexte

L'approche Moving Boundary divise l'échangeur en zones basées sur les changements de phase:
- **Zone superheated (SH)**: Vapeur surchauffée
- **Zone two-phase (TP)**: Mélange liquide-vapeur
- **Zone subcooled (SC)**: Liquide sous-refroidi

Chaque zone a son propre UA calculé avec la corrélation appropriée.

---

## Algorithme de Discrétisation

```
1. Entrée: États (P, h) entrée/sortie côtés chaud et froid

2. Calculer T_sat pour chaque côté si fluide pur

3. Identifier les zones potentielles:
   - Superheated: h > h_sat_v
   - Two-Phase: h_sat_l < h < h_sat_v  
   - Subcooled: h < h_sat_l

4. Créer les sections entre les frontières de zone

5. Pour chaque section:
   - Déterminer phase_hot, phase_cold
   - Calculer ΔT_lm pour la section
   - Calculer UA_section = UA_total × (ΔT_lm_section / ΣΔT_lm)
   - Calculer Q_section = UA_section × ΔT_lm_section

6. Validation pinch: min(T_hot - T_cold) > T_pinch
```

---

## Fichiers à Créer/Modifier

| Fichier | Action |
|---------|--------|
| `crates/components/src/moving_boundary.rs` | Créer |

---

## Critères d'Acceptation

- [ ] Zones identifiées: superheated/two-phase/subcooled
- [ ] UA calculé par zone
- [ ] UA_total = Σ UA_zone
- [ ] Pinch calculé aux frontières
- [ ] Support N points de discrétisation (défaut 51)
- [ ] zone_boundaries vector disponible

---

## Références

- [Epic 11 Technical Specifications](../planning-artifacts/epic-11-technical-specifications.md)
- Modelica Buildings, TIL Suite
