# Epic 10: Enhanced Boundary Conditions

**Epic ID:** epic-10  
**Titre:** Enhanced Boundary Conditions - Sources/Puits Typés  
**Priorité:** P1-HIGH  
**Statut:** backlog  
**Date Création:** 2026-02-22  
**Dépendances:** Epic 7 (Validation & Persistence), Story 9-4 (FlowSource/FlowSink Energy Methods)

---

## Vision

Refactoriser les conditions aux limites (`FlowSource`, `FlowSink`) pour supporter explicitement les 3 types de fluides avec leurs propriétés spécifiques:

1. **Réfrigérants compressibles** - avec titre (vapor quality)
2. **Caloporteurs liquides** - avec concentration glycol
3. **Air humide** - avec propriétés psychrométriques

---

## Contexte Métier

### Problème Actuel

Les composants `FlowSource` et `FlowSink` actuels utilisent une distinction binaire `Incompressible`/`Compressible` qui est trop simpliste:

- Pas de support pour la concentration des mélanges eau-glycol (PEG, MEG)
- Pas de support pour les propriétés psychrométriques de l'air (humidité relative, bulbe humide)
- Pas de distinction claire entre les propriétés des réfrigérants et des caloporteurs

### Impact Utilisateur

- **Marie (R&D Engineer)**: Besoin de simuler des circuits eau-glycol avec différentes concentrations
- **Sarah (HIL Engineer)**: Besoin de conditions aux limites air réalistes pour tests de pompes à chaleur
- **Robert (Researcher)**: Besoin de spécifier le titre des réfrigérants pour études de cycles

---

## Objectifs Mesurables

| Objectif | Métrique | Cible |
|----------|----------|-------|
| Support 3 types de fluides | Types implémentés | 3/3 |
| Nouveaux types physiques | Types ajoutés | 4 (Concentration, VolumeFlow, RelativeHumidity, VaporQuality) |
| Rétrocompatibilité | Tests passent | 100% |
| Documentation | Coverage | 100% des nouveaux types |

---

## Stories

| Story ID | Titre | Estimation | Priorité | Dépendances |
|----------|-------|------------|----------|-------------|
| 10-1 | Nouveaux types physiques (Concentration, VolumeFlow, RelativeHumidity, VaporQuality) | 2h | P0 | Aucune |
| 10-2 | RefrigerantSource et RefrigerantSink | 3h | P0 | 10-1 |
| 10-3 | BrineSource et BrineSink avec support glycol | 3h | P0 | 10-1 |
| 10-4 | AirSource et AirSink avec propriétés psychrométriques | 4h | P1 | 10-1 |
| 10-5 | Migration et dépréciation des anciens types | 2h | P1 | 10-2, 10-3, 10-4 |
| 10-6 | Mise à jour des bindings Python | 2h | P1 | 10-2, 10-3, 10-4 |

**Estimation Totale:** 16h (2 jours)

---

## Risques et Mitigations

| Risque | Probabilité | Impact | Mitigation |
|--------|-------------|--------|------------|
| CoolProp ne supporte pas les mélanges eau-glycol | Moyen | Élevé | Valider avec tests CoolProp avant implémentation |
| Calculs psychrométriques trop lents | Faible | Moyen | Utiliser des formules approchées si nécessaire |
| Breaking changes pour utilisateurs existants | Élevé | Élevé | Phase de dépréciation avec messages clairs |

---

## Critères de Succès

- [ ] Les 3 types de sources/puits sont implémentés et testés
- [ ] Les 4 nouveaux types physiques sont disponibles
- [ ] Les anciens types sont dépréciés avec guide de migration
- [ ] Les bindings Python sont à jour
- [ ] La documentation est complète

---

## Références

- [Architecture Document](../../plans/boundary-condition-refactoring-architecture.md)
- [Story 9-4: FlowSource/FlowSink Energy Methods](../implementation-artifacts/9-4-flow-source-sink-energy-methods.md)
- [Coherence Audit Remediation Plan](../implementation-artifacts/coherence-audit-remediation-plan.md)
