Deux chillers R410A Eurovent A7/W35 en parallèle avec vrais composants de jonction
| Type | Équation (résidu = 0) | Valeur |
|---|---|---|
| Isobare branch 1 |
P_out_A − P_in = 0 | 24.0 − 24.0 = 0 |
| Isobare branch N |
P_out_B − P_in = 0 | 24.0 − 24.0 = 0 |
| Isenthalpique branch 1 |
h_out_A − h_in = 0 | 465 − 465 = 0 |
| Total | n_eq = 2·N − 1 | N=2 → 3 éq. |
| Type | Équation (résidu = 0) | Valeur |
|---|---|---|
| Isobare inlets 2..N |
P_in_B − P_in_A = 0 | 8.5 − 8.5 = 0 |
| Isobare sortie |
P_out − P_in_A = 0 | 8.5 − 8.5 = 0 |
| Mélange enthalpie |
h_out − Σ(ṁ_k·h_k)/Σṁ_k = 0 | (260+260)/2 = 260 |
| Total | n_eq = N + 1 | N=2 → 3 éq. |
// ── FlowSplitter compressible 1→2 ───────────────────────────────────── let splitter = FlowSplitter::compressible( "R410A", inlet_port, // 24 bar · 465 kJ/kg vec![outlet_chiller_a, outlet_chiller_b], ).unwrap(); // n_equations = 2·N − 1 = 3 (N=2 branches) // ── FlowMerger compressible 2→1 avec débit pondéré ──────────────────── let merger = FlowMerger::compressible( "R410A", vec![out_chiller_a, out_chiller_b], // 8.5 bar · 260 kJ/kg chacun outlet_port, ).unwrap() .with_mass_flows(vec![0.045, 0.045]).unwrap(); // n_equations = N + 1 = 3 (N=2 inlets) // h_out_mixed = (0.045·260 + 0.045·260) / 0.09 = 260 kJ/kg ✓ // ── Version incompressible (eau côté condenseur) ────────────────────── let water_splitter = FlowSplitter::incompressible( "Water", water_inlet, vec![branch_a, branch_b], ).unwrap(); // Utilisation comme Box<dyn Component> dans le System parent : let node_s = parent.add_component(Box::new(splitter)); let node_m = parent.add_component(Box::new(merger));