Some checks failed
CI / check (push) Has been cancelled
Capture uncommitted solver robustness work (regularization, domain errors, linear solver lifecycle, tube DP/MSH), web workbench updates, and synced BMAD skills across IDE agent folders before starting BPHX pressure-drop. Co-authored-by: Cursor <cursoragent@cursor.com>
307 lines
16 KiB
Markdown
307 lines
16 KiB
Markdown
# Montluel Machine Coverage Matrix (Phase A — initial)
|
|
|
|
**Date:** 2026-07-16
|
|
**Status:** Phase A initial assessment. **No Carrier source documents were provided for
|
|
this audit.** Product-specific fields are therefore `Unknown` unless confirmed by repository
|
|
code. Per mission §13 rules, missing evidence is never converted into an assumption.
|
|
|
|
Status legend:
|
|
- **Supported** = a convergent end-to-end system test exists AND required
|
|
components/correlations are present.
|
|
- **Partial** = architecture exists but physical model, configuration, or validation is
|
|
incomplete.
|
|
- **Not supported** = required primitive/topology is absent.
|
|
- **Unknown** = source information insufficient to classify.
|
|
|
|
Source codes: **[code]** = repository evidence; **[carrier]** = authorized Carrier source
|
|
(none used here); **?** = Unknown.
|
|
|
|
Evidence base: `docs/audits/heat_exchanger_architecture_audit.md` (same date).
|
|
|
|
---
|
|
|
|
## A. Archetypes under investigation
|
|
|
|
| ID | Archetype | Simulation status | Rationale (one line) |
|
|
|----|-----------|-------------------|----------------------|
|
|
| M1 | Air-cooled screw chiller (single circuit) | **Partial** | Components exist; `FloodedEvaporator`+`Drum` smoke-tested but not converged; air coil UA from geometry (FinCoil/MCHX) is geometry-capable. |
|
|
| M2 | Air-cooled screw chiller, dual-circuit / dual-module | **Not supported** | No shared-vessel primitive; cross-circuit edges rejected; example uses independent circuits only. |
|
|
| M3 | Water-cooled screw chiller / heat pump | **Partial** | `Condenser`/`Evaporator`/`FloodedEvaporator` exist; flooded model UA-only, no geometry, no `dT_sat/dP` analytic. |
|
|
| M4 | Flooded shell-and-tube evaporator/condenser machine | **Partial** | `FloodedEvaporator`/`FloodedCondenser` exist but UA-only, single-circuit, no shell-and-tube geometry; `FloodedCondenser` has an eqn-count defect. |
|
|
| M5 | BPHX evaporator/economizer machine | **Partial** | `BphxEvaporator`/`Economizer` exist with geometry+correlation; superheat/subcooling not enforced as residuals; DP not residual-coupled. |
|
|
| M6 | Scroll machine with BPHX or air-side coils | **Partial** | Compressors (Copeland/Danfoss) + BPHX/coils exist; no scroll-specific compressor model in core. |
|
|
| M7 | Reversible air-to-water heat pump | **Partial** | `ReversingValve` component exists; not wired into CLI factory; reversing logic + 4-way cycle not system-tested. |
|
|
| M8 | Centrifugal machine | **Not supported** | No centrifugal compressor component; no flooded centrifugal cycle test. |
|
|
| M9 | Dry-cooler / free-cooling | **Partial** | `FreeCoolingExchanger` exists (CLI arm `run.rs:4092`); no converged free-cooling system test verified. |
|
|
| M10 | Heat recovery / desuperheater | **Not supported** | No desuperheater component; no heat-recovery topology test. |
|
|
| M11 | One-, two-, three-pass water exchangers | **Not supported (physically)** | `ShellAndTube{passes}` ε-NTU is decorative (`passes` unused); pass count does not affect HTC/DP/UA. |
|
|
| M12 | One circuit running while another stopped (shared vessel) | **Not supported** | No shared-vessel primitive; staging example uses independent circuits. |
|
|
| M13 | Multiple compressors per circuit | **Unknown** | Topology allows multiple components per circuit, but no system test with ≥2 compressors on one circuit was verified. |
|
|
| M14 | Economizer / vapor injection | **Partial** | `ScrewEconomizerCompressor` + `Economizer` IHX exist; economized cycle has integration test (smoke, not converged-physics). |
|
|
| M15 | Confirmed current-product refrigerants | **Unknown** | CoolProp supports R134a/R410A/R454B/etc. in tests; which refrigerants ship in confirmed Montluel products is Unknown (no Carrier data). |
|
|
|
|
> **Note on "Partial":** the codebase can *draw the topology* for several archetypes, but
|
|
> mission §13 requires separating "can draw the topology" from "can predict performance
|
|
> accurately." None reach **Supported** because no convergent end-to-end physics solve with
|
|
> geometry-based UA was verified in Phase A.
|
|
|
|
---
|
|
|
|
## B. Detailed matrix (required columns)
|
|
|
|
Columns per mission §13. `?` = Unknown (no evidence). Condensed where product-specific.
|
|
|
|
### M1 — Air-cooled screw chiller (single circuit)
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Product family | ? (no Carrier data) |
|
|
| Evidence/source | [code] components exist; no product doc |
|
|
| Cycle topology | single-circuit vapor-compression with economizer [code] |
|
|
| Compressor type | `ScrewEconomizerCompressor` [code] |
|
|
| Number of refrigerant circuits | 1 [code] |
|
|
| Number of modules | ? |
|
|
| Evaporator technology | `FloodedEvaporator` + `Drum` (per-circuit) [code] |
|
|
| Condenser technology | `MchxCondenserCoil` / `FinCoilCondenser` + fan bank [code] |
|
|
| Water/air path arrangement | air-cooled [code] |
|
|
| Pass count/options | N/A (air side) |
|
|
| Economizer | yes (IHX `Economizer`) [code] |
|
|
| Heat recovery | no |
|
|
| Refrigerant(s) | ? |
|
|
| Existing Entropyk components | screw econ compressor, flooded evap, drum, mchx/fin coil, fan, EXV |
|
|
| Missing components | converged-physics solve; geometry-based flooded UA |
|
|
| Missing topology capability | none (single circuit) |
|
|
| Missing correlations/data | flooded boiling correlation not in registry; air coil UA inline (not registry) |
|
|
| Zero-flow/staging support | single-circuit only |
|
|
| Validation dataset available? | **No** |
|
|
| Simulation status | **Partial** |
|
|
| Blocking issues | B2 (CoolProp build), B5 (red test) |
|
|
| Required implementation/test | converged air-cooled chiller system test |
|
|
|
|
### M2 — Air-cooled screw chiller, dual-circuit / dual-module
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Product family | ? |
|
|
| Evidence/source | [code] no shared-vessel primitive; `multi_circuit.rs` uses mocks |
|
|
| Cycle topology | two refrigerant circuits [code: rejected cross-circuit edges] |
|
|
| Compressor type | screw [code] |
|
|
| Number of refrigerant circuits | 2 (target) |
|
|
| Number of modules | 1 (shared vessel) or 2 (dual module) — both **Not supported** |
|
|
| Evaporator technology | needs shared-vessel flooded OR two modules |
|
|
| Condenser technology | air coil bank [code] |
|
|
| Water/air path arrangement | one common air stream (interlaced/face-split) — **not modeled** |
|
|
| Pass count/options | ? |
|
|
| Economizer | ? |
|
|
| Heat recovery | ? |
|
|
| Refrigerant(s) | ? |
|
|
| Existing Entropyk components | per-circuit flooded evap + drum only |
|
|
| Missing components | `MultiCircuitFloodedEvaporator`; shared-secondary wrapper; air-side multi-circuit topology |
|
|
| Missing topology capability | **cross-circuit shared vessel** (Phase D); air-side circuit interlace (Phase E) |
|
|
| Missing correlations/data | circuit-specific UA calibration |
|
|
| Zero-flow/staging support | **Not supported** (no primitive) |
|
|
| Validation dataset available? | **No** |
|
|
| Simulation status | **Not supported** |
|
|
| Blocking issues | Phase D + E prerequisites |
|
|
| Required implementation/test | shared-vessel dual-circuit converged test; one-circuit-off test |
|
|
|
|
### M3 — Water-cooled screw chiller / heat pump
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Product family | ? |
|
|
| Evidence/source | [code] condenser/evaporator/flooded exist |
|
|
| Cycle topology | vapor-compression, water-coupled [code] |
|
|
| Compressor type | screw [code] |
|
|
| Number of refrigerant circuits | 1 [code] |
|
|
| Number of modules | ? |
|
|
| Evaporator technology | DX `Evaporator` or `FloodedEvaporator` (UA-only) [code] |
|
|
| Condenser technology | `Condenser` (UA-only) / `FloodedCondenser` (defective eqn count) [code] |
|
|
| Water/air path arrangement | water-cooled, secondary as boundary or 4-port [code] |
|
|
| Pass count/options | **decorative** (`passes` unused) |
|
|
| Economizer | optional [code] |
|
|
| Heat recovery | no |
|
|
| Refrigerant(s) | ? |
|
|
| Existing Entropyk components | condenser, evaporator, flooded evap/cond, pump, brine boundary |
|
|
| Missing components | shell-and-tube geometry; water-side DP by pass; pass-aware effectiveness |
|
|
| Missing topology capability | fully-coupled live secondary ports (boundary mode is default) |
|
|
| Missing correlations/data | Gnielinski water-side; bundle boiling; tube-bundle condensation |
|
|
| Zero-flow/staging support | boundary regularization only |
|
|
| Validation dataset available? | **No** |
|
|
| Simulation status | **Partial** |
|
|
| Blocking issues | Phase B/C geometry + correlations |
|
|
| Required implementation/test | geometry-rated water chiller converged test |
|
|
|
|
### M4 — Flooded shell-and-tube evaporator/condenser machine
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Product family | ? (61XWHVZE referenced in mission — **no data provided**) |
|
|
| Evidence/source | [code] flooded evap/cond exist; mission §5.1 [carrier: not provided] |
|
|
| Cycle topology | flooded evap + flooded condenser [code] |
|
|
| Compressor type | ? |
|
|
| Number of refrigerant circuits | 1 [code]; 2 shared-vessel **Not supported** |
|
|
| Number of modules | ? |
|
|
| Evaporator technology | `FloodedEvaporator` (UA-only, single circuit, no geometry) [code] |
|
|
| Condenser technology | `FloodedCondenser` (UA-only, eqn-count defect) [code] |
|
|
| Water/air path arrangement | one common water circuit [carrier: mission §5.1, geometry not provided] |
|
|
| Pass count/options | standard 2-pass + 1/3 options [carrier: mission §5.1]; **passes unused in code** |
|
|
| Economizer | economizer BPHX [carrier: mission §5.1] |
|
|
| Heat recovery | ? |
|
|
| Refrigerant(s) | ? |
|
|
| Existing Entropyk components | flooded evap/cond (UA-only) |
|
|
| Missing components | `ShellAndTubeGeometry`; flooded boiling correlation; tube-bundle condensation; `MultiCircuitFloodedEvaporator` |
|
|
| Missing topology capability | shared-vessel two refrigerant circuits + intermediate tube sheet (Phase D) |
|
|
| Missing correlations/data | Cooper/Gorenflo pool boiling baseline; enhanced-tube correction; water-box losses; **all product geometry Unknown** |
|
|
| Zero-flow/staging support | not implemented |
|
|
| Validation dataset available? | **No** |
|
|
| Simulation status | **Partial** (single circuit) / **Not supported** (shared-vessel dual circuit) |
|
|
| Blocking issues | Carrier geometry data required for fixtures; Phases B/C/D |
|
|
| Required implementation/test | 1- and 2-circuit flooded chiller converged tests with geometry UA |
|
|
|
|
### M5 — BPHX evaporator/economizer machine
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Product family | ? |
|
|
| Evidence/source | [code] BPHX family + registry + geometry |
|
|
| Cycle topology | DX BPHX evap + BPHX economizer [code] |
|
|
| Compressor type | screw/scroll [code] |
|
|
| Number of refrigerant circuits | 1 [code]; dual-circuit BPHX **Partial** (Phase E) |
|
|
| Evaporator technology | `BphxEvaporator` (geometry+correlation) [code] |
|
|
| Condenser technology | `BphxCondenser` [code] |
|
|
| Water/air path arrangement | 4-port [code] |
|
|
| Pass count/options | N/A (plate) |
|
|
| Economizer | `Economizer` IHX [code] |
|
|
| Heat recovery | no |
|
|
| Refrigerant(s) | ? |
|
|
| Existing Entropyk components | full BPHX family + correlation registry |
|
|
| Missing components | superheat/subcooling as residual equations; DP residual coupling; dual-circuit BPHX |
|
|
| Missing topology capability | circuit-specific UA calibration (Phase E) |
|
|
| Missing correlations/data | SWEP BPHX data present (B5THx20, B8THx30); product-specific calibration Unknown |
|
|
| Zero-flow/staging support | correlation guards only |
|
|
| Validation dataset available? | **No** |
|
|
| Simulation status | **Partial** |
|
|
| Blocking issues | residual-coupled DP; Phase E dual-circuit |
|
|
| Required implementation/test | BPHX chiller converged test with residual DP |
|
|
|
|
### M6 — Scroll machine (BPHX / air coils)
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Product family | ? |
|
|
| Evidence/source | [code] vendor scroll data (Copeland/Danfoss) |
|
|
| Cycle topology | vapor-compression [code] |
|
|
| Compressor type | scroll (vendor data) [code]; no core scroll component model |
|
|
| Number of refrigerant circuits | 1 [code] |
|
|
| Evaporator/condenser technology | BPHX or air coil [code] |
|
|
| Pass count/options | N/A |
|
|
| Economizer | ? |
|
|
| Heat recovery | no |
|
|
| Refrigerant(s) | ? |
|
|
| Existing components | vendor compressor data, BPHX, coils |
|
|
| Missing components | scroll compressor component wired to vendor backend |
|
|
| Simulation status | **Partial** |
|
|
|
|
### M7 — Reversible air-to-water heat pump
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Evidence/source | [code] `ReversingValve` exists; not in CLI factory |
|
|
| Cycle topology | reversible [code] |
|
|
| Compressor type | ? |
|
|
| Circuits | 1 [code] |
|
|
| Evaporator/condenser | role-swap via reversing valve [code] |
|
|
| Reversing capability | component exists, **not system-tested** |
|
|
| Simulation status | **Partial** |
|
|
| Blocking issues | reversing valve CLI wiring; reversing system test |
|
|
|
|
### M8 — Centrifugal machine
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Evidence/source | [code] no centrifugal compressor component |
|
|
| Simulation status | **Not supported** |
|
|
| Blocking issues | centrifugal compressor model entirely absent |
|
|
|
|
### M9 — Dry-cooler / free-cooling
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Evidence/source | [code] `FreeCoolingExchanger` (CLI arm `run.rs:4092`) |
|
|
| Simulation status | **Partial** |
|
|
| Blocking issues | no converged free-cooling system test verified |
|
|
|
|
### M10 — Heat recovery / desuperheater
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Evidence/source | [code] no desuperheater component; no HR topology test |
|
|
| Simulation status | **Not supported** |
|
|
|
|
### M11 — Water exchanger pass count (1/2/3 pass)
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Evidence/source | [code] `eps_ntu.rs:168-174` `passes` unused; `lmtd.rs:53` F=0.9 hard-coded |
|
|
| Simulation status | **Not supported (physically)** — pass count does not affect UA/HTC/DP/effectiveness |
|
|
| Blocking issues | Phase B/C: real P-NTU multipass effectiveness + per-pass velocity/DP |
|
|
|
|
### M12 — One circuit ON, other OFF (shared vessel)
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Evidence/source | [code] no shared-vessel primitive |
|
|
| Simulation status | **Not supported** |
|
|
| Blocking issues | Phase D (zero-flow-safe multi-circuit) |
|
|
|
|
### M13 — Multiple compressors per circuit
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Evidence/source | topology allows multiple nodes per circuit [code]; no verified test |
|
|
| Simulation status | **Unknown** |
|
|
|
|
### M14 — Economizer / vapor injection
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Evidence/source | [code] `ScrewEconomizerCompressor` + `Economizer` IHX; integration test is smoke-only |
|
|
| Simulation status | **Partial** |
|
|
|
|
### M15 — Confirmed current-product refrigerants
|
|
|
|
| Field | Value / Evidence |
|
|
|-------|------------------|
|
|
| Evidence/source | CoolProp tests cover R134a/R410A/R454B [code]; which refrigerants ship in Montluel products |
|
|
| Simulation status | **Unknown** (no Carrier data) |
|
|
|
|
---
|
|
|
|
## C. Coverage summary
|
|
|
|
| Status | Count | Archetypes |
|
|
|--------|-------|------------|
|
|
| Supported | **0** | — |
|
|
| Partial | 9 | M1, M3, M4(single), M5, M6, M7, M9, M14 (+M4 single) |
|
|
| Not supported | 5 | M2, M8, M10, M11(physical), M12 |
|
|
| Unknown | 2 | M13, M15 |
|
|
|
|
**Zero archetypes are Supported.** The blockers are, in priority order:
|
|
1. Shared-vessel multi-circuit primitive (Phase D) → unblocks M2, M4-dual, M12.
|
|
2. Shell-and-tube geometry + correlations (Phases B/C) → unblocks M3, M4, M11.
|
|
3. Residual-coupled DP + control semantics (Phase C) → unblocks M5.
|
|
4. Carrier product geometry/validation data → required to move any archetype to Supported.
|
|
|
|
## D. Data required from Carrier (to advance beyond Partial/Unknown)
|
|
|
|
The following are needed and **must not be guessed** (mission §1.4, §14):
|
|
- 61XWHVZE: shell ID, tube OD/ID, tube count per pass, active length per refrigerant
|
|
circuit, tube enhancement type, water-box geometry, fouling factors, refrigerant(s),
|
|
intermediate tube-sheet partition details, water-path layout through partitions.
|
|
- 30XF-Z: module/pass arrangement, one- vs two-pass evaporator options, pump/DP implications.
|
|
- BPHX dual-circuit: independent circuit UA calibration factors.
|
|
- Validation datasets (rated capacity/COP at AHRI/equivalent points) for each fixture.
|
|
|
|
Until provided, all product-specific fixture rows remain `Unknown`.
|