diff --git a/docs/hydrogen-tank.html b/docs/hydrogen-tank.html new file mode 100644 index 0000000..e4a4ad9 --- /dev/null +++ b/docs/hydrogen-tank.html @@ -0,0 +1,306 @@ + + +
+ + +Extending the established H3 fairing GNN-SHM stack to the cryogenic hydrogen tank. The damage physics differ from the fairing, but the pipeline transfers with a small, targeted set of additions.
+| Item | Design assumption | Note |
|---|---|---|
| Target | H3 upper-stage LH2 tank — cylindrical shell + domes | Exact dimensions non-public → representative values |
| Diameter | φ ≈ 5.2 m | Representative upper-structure diameter |
| Model | Symmetric sector (1/6–1/12) + circumferential symmetry BC | Same approach as the fairing generator |
| Regions | Barrel + dome + weld land | Weld lines modeled explicitly (defect-prone) |
Reuses the sector generation, symmetry BCs, and mesh control logic from generate_fairing_dataset.py / generate_realistic_fairing.py.
Primary target: Al-Li alloy (H-IIA/H3 tank heritage, e.g. 2219 / 2195). The essence is the property shift from room temperature (RT) to liquid-hydrogen temperature (LH2, −253 °C / 20 K).
+| Property | RT (design) | Cryo (LH2, design) | Trend |
|---|---|---|---|
| Young's modulus E | ~70–78 GPa | +5–15 % | Increase |
| Yield strength σy | ~380–450 MPa | +15–30 % | Increase |
| Elongation | ~10–12 % | Decrease | Embrittlement |
| CTE α | ~23×10⁻⁶/℃ | Integrated CTE drops (use contraction) | Decrease |
Unlike the fairing (thermal CTE + static), the tank superimposes:
+Static analysis (defect stress concentration) and GW dynamic analysis (sensor time-histories) run in parallel — the same two-branch structure as the fairing.
+| Defect | Physics | Modeling | Fairing analog |
|---|---|---|---|
| Weld flaw | Porosity / lack-of-fusion / cracks on weld line | Stiffness/continuity loss on weld line (element weakening or cohesive) | — (new) |
| Thermal-cycle microcrack | Micro-cracking from cryogenic cycling | Local stiffness loss + partial contact discontinuity | Similar to delamination |
| Insulation debond | Foam / MLI insulation separation | Interface cohesive degradation | Same type as skin-core debond |
| H-embrittlement | Toughness loss from hydrogen embrittlement | Material toughness reduction (sensitivity study) | Handled on the UQ side |
The cohesive/CZM implementations in generate_cohesive_fairing.py / generate_czm_sector12.py apply directly to insulation debond and weld-flaw interfaces.
The existing static graph uses 34-dim node features (build_graph.py). For the tank, keep the base schema and add only a few dimensions:
internal_pressure_flag / local pressure stress components (+1–3 dim)cryo_property_delta — shift from RT properties (E/α scalarized, +1–2 dim)weld_line_flag — boundary flag for weld-adjacent nodes (+1 dim, extends existing boundary flags)train.py / models.py / DA / conformal connect with no modification. Fiber-orientation dims are zero-filled for isotropic Al-Li (revived for the CFRP cryotank).
+ | Existing asset | Role for the tank | Change |
|---|---|---|
build_graph.py / build_gw_graph.py | Graph construction | +few feature dims only |
train.py / train_gw.py | Training | No change (swap --data_dir) |
models.py (GAT/GCN/GIN/SAGE …) | Models | No change |
domain_adapt.py / payload_da_gw.py | Ambient-test → cryo-operation sim2real | No change (pass X matrix) |
| OGW conformal | Leak-risk decision with FPR guarantee | Re-set threshold / cost |
fairing_stage2.py | Stage-2 characterization (crack size / leak rate) | Tank-specific labels |
| Temperature-robustness framework | Cryo = extreme operating point | Extend operating point to 20 K |
pce_driver.py / reliability | UQ for embrittlement / toughness | Tank-specific uncertainty variables |
The only substantially new code is the FEM generator (see below).
+Per project practice — validate one sample first, then batch.
+New src/generate_cryotank_dataset.py (based on the fairing generator): Al-Li cylinder with internal pressure + cryogenic thermal stress, weld-line and thermal-cycle crack defects. Healthy, 1 sample.
Reuse extract_odb_results.py as-is.
Reuse build_graph.py; eyeball one graph (feature distributions, defect labels) before scaling.
If OK, expand the DOE → run_batch.py, then the identical fairing flow (train → DA → conformal → Stage-2).
Healthy 1-sample generation → graph visual OK (this note's validation).
One sample per defect type → verify physical plausibility of stress concentration / waveform change.
DOE batch (N ≈ 100) → detection baseline with train.py.
Ambient ↔ cryo domain adaptation + conformal → leak-risk FPR guarantee.
Stage-2 characterization (crack size / leak rate) → go/no-go prognosis.
Bridge ambient test data → cryogenic operation with the existing DA toolkit; wrap leak-risk decisions in split-conformal FPR guarantees.
+