File size: 7,068 Bytes
199bfa3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# CSH2 Cryogenic Pump — Operational Context Knowledge
# Practical knowledge that operators have but specifications don't document.
# Derived from maintenance_log.xlsx, Technical PDF, and data analysis.

sensor_trustworthiness:
  TT110:
    notes: >
      TT110 reads pipe wall temperature, not fluid temperature. After cooldown,
      it needs 10-15 minutes to equilibrate with the flowing cryogen. During
      transients (pump start/stop, flow changes), TT110 lags the actual fluid
      temperature by 5-30 seconds depending on flow rate.
    workaround: >
      For precise inlet temperature, use virtual T_inlet back-calculated from
      discharge state via ThermoProps (physics/thermo.py). The virtual sensor
      uses PT110 + TT130 + isentropic relations to infer inlet conditions.
    known_faults:
      - "Jul 16, 2025: 0-32K readings are sensor fault, not real cryo temps"
      - "Filter out readings during known warm periods where TT110 < 50K"

  FT140:
    notes: >
      FT140 is a Coriolis mass flow meter calibrated for LN2. When running LH2,
      the density difference (LN2: 808 kg/m³ vs LH2: 70.8 kg/m³) causes the
      raw reading to be 100-200x too high. The FT140Calibrator applies a density
      correction factor of approximately 11.4x.
    workaround: >
      Always apply FT140Calibrator (physics/ft140_calibration.py) density correction
      before interpreting flow readings. Near-zero flow at low pump speeds is
      expected and not a fault — the meter has a low-flow cutoff.
    known_faults:
      - "Raw FT140 reads ~100-200x too high for LH2 — apply correction"
      - "Near-zero flow at idle is expected, not a sensor fault"

  PT100:
    notes: >
      PT100 is stuck at -14.86 bar in the current dataset. This is not a
      physical pressure — it's a sensor fault.
    workaround: >
      Use default_when_invalid=2.0 barg for any calculations requiring PT100
      (e.g., Psat estimation). This is the saturation pressure approximation.
    known_faults:
      - "Stuck at -14.86 bar — use 2.0 barg default"

  CalcMass:
    notes: >
      CalcMass is stuck at 0.18 kg in the current dataset. The PLC calculation
      is not updating.
    workaround: >
      Use FT140 integration (corrected) for actual dispensed mass calculation.
      Integrate corrected FT140 over the fill duration.
    known_faults:
      - "Stuck at 0.18 kg — use FT140 integration instead"

  M130_Speed_vs_MC130:
    notes: >
      Tag 68 (M130_Speed) replaces tag 13 (MC130_VFD_Speed) after May 28, 2025.
      Both map to motor speed percentage but are different register addresses.
      TAG_ALIASES in config.py handles this mapping.
    workaround: >
      Check TAG_ALIASES. Use tag 68 for post-May data, tag 13 for pre-May.
      Both are valid speed readings.

post_maintenance_expectations:
  hp_seal_replacement:
    description: "After HP seal replacement or energizer work"
    expected_behavior:
      - "Initial friction: 7-9 kgf (from Jul 18 maintenance entry)"
      - "Break-in period: ~1000 cycles to reach 4-5 kgf steady state"
      - "Motor current will be higher initially — this is normal"
      - "Volumetric efficiency may be slightly higher initially (tighter seal)"
    timeline: "1000 cycles (~2-3 days at normal testing rate)"
    ref: "2025-07-18 maintenance event"

  icv_replacement:
    description: "After ICV replacement or reseating"
    expected_behavior:
      - "Immediate improvement in pressure build if ICV was the issue"
      - "New valve may need seating-in (initial performance varies)"
      - "Jul 22: orientation fix restored 700 bar immediately"
      - "Jul 14: polished ICV helped but didn't fully fix — surface not flat"
    timeline: "Immediate improvement expected"
    ref: "2025-07-01, 2025-07-14, 2025-07-22 events"

  dcv_polishing:
    description: "After DCV sealing surface polishing"
    expected_behavior:
      - "Immediate improvement in leak test results"
      - "Run PT130 decay test before and after to quantify improvement"
      - "Jul 1: polishing improved seal but some residual leakage"
    timeline: "Immediate improvement"
    ref: "2025-07-01 maintenance event"

regime_caveats:
  ln2_vs_lh2:
    description: "LN2 and LH2 data are not directly comparable"
    details: >
      LN2 (77K, 808 kg/m³) and LH2 (20K, 70.8 kg/m³) have very different
      fluid properties that shift all performance curves. Compression ratios,
      volumetric efficiencies, heat transfer rates, and valve dynamics all
      change significantly between fluids. The SPEED_SCALE_FACTOR in config.py
      was calibrated for LN2 and needs adjustment for LH2.
    impact:
      - "Flow rate scales with density ratio"
      - "Pressure build rate changes with bulk modulus"
      - "Thermal effects are very different (77K vs 20K)"

  pressure_drift:
    description: "Discharge pressure drifts down during extended fills"
    details: >
      Documented in Technical PDF p.22. The pump operates at approximately
      fixed pressure ratio. As the small test cryotank depletes, inlet
      pressure (PT110) drops, and PT130 follows. This is NOT a fault —
      it's an expected consequence of the small tank size.
    impact:
      - "PT130 and flow rate decline over extended fills"
      - "Production tanks will be sized to maintain pressure"

  subcooling_sensitivity:
    description: "Pump performance is very sensitive to inlet subcooling"
    details: >
      From Technical PDF p.17: the pump is 169x more efficient with
      subcooled liquid than with gas. Even small amounts of flash gas
      at the inlet significantly reduce volumetric efficiency. Ensure
      adequate subcooling margin (>5K) before starting fills.
    impact:
      - "Inlet quality > 0 = reduced efficiency"
      - "Subcooling margin < 2K = risk zone"

system_personality:
  recurring_issues:
    - priority: 1
      description: "ICV sealing is the #1 recurring issue"
      details: "3 occurrences in July 2025. Check ICV first for any pressure build problem."
      refs: ["2025-07-01", "2025-07-14", "2025-07-22"]
    - priority: 2
      description: "DCV sealing is the #2 issue"
      details: "1 occurrence. DCV polishing was effective but residual leakage remained."
      refs: ["2025-07-01"]
    - priority: 3
      description: "Safety loop tuning needs attention at high pressures"
      details: "AOV141 hunting observed. PID tuning required."
      refs: ["2025-07-22"]

  strengths:
    - "HP seal life is excellent (8.2M cycle lower bound = 3+ months at 20 fills/day)"
    - "Phase 1B achieved 100% uptime across 6 fills"
    - "Specific energy of 0.26 kWh/kg matches target"
    - "Back-to-back fill capability demonstrated (4 consecutive fills)"

  known_limitations:
    - "Pump gas ratio 14.4% vs 2.7% target — efficiency gap exists"
    - "Peak pressure 370 bar vs 700 bar H70 target — further testing needed"
    - "Small test tank causes pressure drift during extended fills"
    - "FT140 requires density correction for LH2 — raw readings are wrong"