Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,6 @@ This roadmap outlines the development of a Graph Neural Network (GNN) based Stru
## Phase 5: Deployment & Visualization
* **Visualization**: 3D interactive mapping of damage probabilities on the fairing mesh.
* **Inference**: Real-time processing of sensor array data.

## Phase 6: Next Structural Target — Hydrogen Tank (LH2)
Extend the established fairing SHM stack (geometry-aware GNN, guided-wave, domain adaptation, conformal detection) to the cryogenic hydrogen tank. See **[docs/HYDROGEN_TANK_SHM.md](docs/HYDROGEN_TANK_SHM.md)** for the design note (geometry, cryogenic Al-Li materials, pressure + thermal loading, weld/microcrack/insulation-debond defect models, graph/feature deltas, and the one-sample FEM plan). Public roadmap: [docs/index.html](docs/index.html).
165 changes: 165 additions & 0 deletions docs/HYDROGEN_TANK_SHM.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
# Hydrogen Tank SHM — 設計メモ (Design Note)

> **Status**: 設計フェーズ(未実装)。本メモは水素タンク (LH2) ラインの着手前に
> ジオメトリ・材料・荷重・欠陥・グラフ/特徴量・実行計画を固めるためのもの。
> 数値は **design target / assumption**(要 FEM・文献検証)であり確定値ではない。
> 図・表ラベルは英語(プロジェクト規約)。

## 0. 位置づけ

フェアリング SHM で確立した資産(曲率対応グラフ GNN・Guided-Wave・2/3段 SHM・
ドメイン適応・conformal 検出・温度ロバスト性)を、次の構造ターゲットである
**極低温水素タンク**へ拡張する。フェアリングとは損傷物理が異なるが、
パイプラインの大半はそのまま流用でき、追加すべき差分は限定的である
(本メモの §5–§6 で明示)。

関連: `TEMPERATURE_ROBUSTNESS.md`(動作点シフト → DA で回復)が
極低温という最も極端な動作点に対する既存フレームの直接の足場になる。

---

## 1. ジオメトリ (Geometry)

| Item | Design assumption | 備考 |
|------|-------------------|------|
| 対象 | H3 2段 LH2 タンク相当の円筒殻 + ドーム | 詳細寸法は非公開 → 代表値で設計 |
| 直径 | φ ≈ 5.2 m(フェアリングと同径帯) | H3 上段構造の代表径 |
| モデル化 | **対称セクタ**(1/6 or 1/12)+ 周方向対称 BC | フェアリング生成器と同方針で軽量化 |
| 要素 | 連続体シェル / ソリッドシェル(壁厚方向 1–数層) | GW 解析は面内伝播が主 |
| 部位 | barrel(円筒部)+ dome(鏡板)+ **溶接線 (weld land)** | 溶接線は欠陥集中部位として明示的にモデル化 |
Comment on lines +27 to +29

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

fd -t f -g 'generate_fairing_dataset.py' -g 'generate_realistic_fairing.py' . \
  -x rg -n -C 3 'sector|symmetr|periodic|weld'

Repository: keisuke58/Payload_gnn

Length of output: 6685


Resolve sector symmetry before modeling localized weld defects.

1/6 or 1/12 circumferential sectors with symmetry boundary conditions cannot represent any arbitrary localized weld flaw without omitting it or repeating it periodically. Define weld placement relative to the sector cut, specify sector-boundary conditions, or use a non-symmetric model for weld cases so the FEM response and defect labels remain physically valid.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/HYDROGEN_TANK_SHM.md` around lines 27 - 29, Update the modeling guidance
in the 部位 and 対称セクタ entries to define how localized weld defects are handled:
specify weld placement relative to the sector cut and the corresponding
sector-boundary conditions, or require a non-symmetric model for weld-defect
cases. Ensure FEM responses and defect labels remain physically valid without
unintentionally omitting or periodically repeating arbitrary weld flaws.


フェアリングの `generate_fairing_dataset.py` / `generate_realistic_fairing.py` の
セクタ生成・対称 BC・メッシュ制御のロジックを雛形として再利用する。

---

## 2. 材料 (Materials) — 極低温物性

主対象は **Al-Li 合金**(H-IIA/H3 タンク系譜、例: 2219 / 2195 系)。
室温 (RT) → 液体水素温度 (LH2, −253 ℃ / 20 K) で物性がシフトする点が本質。

| Property | RT (design) | Cryo (LH2, design) | シフト傾向 |
|----------|-------------|--------------------|-----------|
| Young's modulus E | ~70–78 GPa | +5–15 % | 増加 |
| Yield strength σy | ~380–450 MPa | +15–30 % | 増加 |
| Elongation | ~10–12 % | 減少 | **脆化方向** |
| CTE α | ~23×10⁻⁶/℃ | 積分 CTE 低下(収縮量で扱う) | 低下 |
| Fracture toughness | — | 低下しうる | 要検証 |

> ⚠️ 上表は文献レンジからの **設計仮定**。実装前に材料データ(JAXA/文献)で確定する。
> 将来ライン: **CFRP 複合材クライオタンク**(微小亀裂・水素透過)では材料モデルを差し替える。

---

## 3. 荷重 (Loading)

フェアリング(熱 CTE + 静的)と異なり、タンクは以下を重畳する。

1. **内圧 (internal pressure)** — 加圧充填〜飛行の運用圧
2. **極低温熱応力 (cryogenic thermal stress)** — RT→20 K の収縮拘束による応力
3. **充填サイクル疲労 (fill-cycle fatigue)** — 加圧/減圧・熱サイクルの繰返し
4. (動的 GW 解析時)**弾性波励起** — アクチュエータ加振 50–300 kHz

静的解析(欠陥応力集中の把握)と GW 動的解析(センサ時刻歴)の2系統を、
フェアリングの静的/GW 2ブランチと同じ構成で並走させる。

---

## 4. 欠陥モデル (Defect Models)

| Defect | 物理 | モデル化方針 | 対応フェアリング欠陥 |
|--------|------|-------------|---------------------|
| **Weld flaw** | 溶接線の気孔・融合不良・割れ | 溶接線上の剛性/連続性低下(要素弱化 or cohesive) | — (新規) |
| **Thermal-cycle microcrack** | 極低温サイクルの微小亀裂 | 局所剛性低下 + 部分接触不連続 | delam に類似 |
| **Insulation debond** | foam/MLI 断熱材の剥離 | 界面 cohesive の劣化 | **skin-core debond と同型** |
| **H-embrittlement** | 水素脆化による靭性低下 | 材料靭性パラメータ低下(感度解析) | — (UQ 側で扱う) |

`generate_cohesive_fairing.py` / `generate_czm_sector12.py` の cohesive/CZM 実装が
insulation debond と weld flaw の界面モデルにそのまま使える。
Comment on lines +77 to +78

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

fd -t f -g 'generate_cohesive_fairing.py' -g 'generate_czm_sector12.py' . \
  -x rg -n -C 4 'cohesive|CZM|weld|debond|crack|pore|fusion'

Repository: keisuke58/Payload_gnn

Length of output: 16161


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'Repo files matching relevant names:\n'
git ls-files | rg 'HYDROGEN_TANK_SHM|generate_cohesive_fairing|generate_czm_sector12|segment|weld|debond|cohesive|CZM' || true

printf '\nRelevant docs section:\n'
sed -n '1,140p' docs/HYDROGEN_TANK_SHM.md 2>/dev/null || true

printf '\nSearch for generate_czm_sector12.py anywhere:\n'
git ls-files | rg 'generate_czm_sector12|sector12|sector.*12' || true

Repository: keisuke58/Payload_gnn

Length of output: 5473


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'src/generate_czm_sector12.py outline:\n'
ast-grep outline src/generate_czm_sector12.py --view expanded | sed -n '1,220p' || true

printf '\nDefect/weld/CZM references in generate_czm_sector12.py:\n'
rg -n -C 5 'defect|defect_type|debond|cohesive|CZM|weld|pore|porosity|fusion|split|crack|void|section|damage' src/generate_czm_sector12.py || true

printf '\nFirst 220 lines:\n'
sed -n '1,220p' src/generate_czm_sector12.py

Repository: keisuke58/Payload_gnn

Length of output: 50377


Use CZM scaffolding for weld defects, not “as-is” reuse.

generate_cohesive_fairing.py and generate_czm_sector12.py already implement debond/inner_debond with CZM or degraded material sections. Weld porosity, lack of fusion, and cracking can require different weld-geometry representation, Al-Li/cohesive constitutive behavior, and calibration. Keep reusable code/pipeline scaffolding, but require validation for each weld-defect model.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/HYDROGEN_TANK_SHM.md` around lines 77 - 78, Update the documentation
statement referencing generate_cohesive_fairing.py and generate_czm_sector12.py
so it describes their cohesive/CZM logic as reusable scaffolding rather than an
as-is weld-defect model. State that porosity, lack of fusion, and cracking
require defect-specific geometry, constitutive behavior, and calibration
validation.


---

## 5. グラフ & 特徴量 (Graph & Features) — 差分のみ

既存の静的グラフは **34次元ノード特徴**(`build_graph.py`)。
水素タンク向けには基本スキーマを維持しつつ、以下を**追加/差し替え**する。

**追加候補(差分)**
- `internal_pressure_flag` / 局所内圧応力成分(+1–3 dim)
- `cryo_property_delta` — RT 物性からの極低温シフト量(E/α のスカラー化, +1–2 dim)
- `weld_line_flag` — 溶接線近傍ノードの境界フラグ(+1 dim, 既存 boundary フラグ拡張)

**維持**: 位置・幾何(10)、変位(4)、応力(5)、ひずみ(3)、熱応力(1)、繊維配向は
Al-Li 等方材では 0 埋め or 省略(CFRP クライオタンク時に復活)。

> 設計原則: **新スキーマを作らず既存34次元に最小差分で足す**。
> こうすることで `train.py` / `models.py` / DA / conformal を改修なしで接続できる。
Comment on lines +87 to +96

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

rg -n -C 4 \
  'internal_pressure_flag|cryo_property_delta|weld_line_flag|build_curvature_graph|in_channels|input_dim|x\.shape|state_dict' \
  . || true

Repository: keisuke58/Payload_gnn

Length of output: 50378


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== HYDROGEN_TANK_SHM relevant lines =="
sed -n '30,115p' docs/HYDROGEN_TANK_SHM.md

echo
echo "== build_graph node feature construction =="
sed -n '360,576p' src/build_graph.py

echo
echo "== train.py model input construction =="
fd -a 'train\.py$' . | while read -r f; do
  echo "--- $f ---"
  rg -n -C 3 'Data|x=|input|x_train|Data\(' "$f" || true
done

echo
echo "== models model definitions and factory =="
rg -n -C 4 'class .*GNN|def build_gnn_model|def build_model|in_channels|=.*in_channels|linear.*hidden|GATConv|Sequential' src/models*.py src/model_store.py || true

Repository: keisuke58/Payload_gnn

Length of output: 50377


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== train.py data loading / model construction =="
sed -n '1158,1235p' src/train.py
sed -n '635,670p' src/train.py

echo
echo "== DA files =="
fd -a 'domain_adapt\.py$|payload_da_gw\.py$|\.py$' scripts domain_adapt src | rg -v '__pycache__|venv' | while read -r f; do
  if rg -q 'x\.shape|load_state|DataParallel|DistributedDataParallel|model_state_dict|Data\(|batch\.x|batch\.edge_attr|conformal|ogw|AnomalyGFM|Predict' "$f" 2>/dev/null; then
    echo "--- $f ---"
    rg -n -C 3 'x\.shape|load_state|DataParallel|DistributedDataParallel|model_state_dict|Data\(|batch\.x|batch\.edge_attr|conformal|ogw|AnomalyGFM|Predict' "$f" || true
  fi
done

echo
echo "== check proposed feature names in all tracked files =="
git ls-files | xargs rg -n --null 'internal_pressure_flag|cryo_property_delta|weld_line_flag|node_type_boundary|node_type_loaded' || true

echo
echo "== deterministic feature layout sum from source comments =="
python3 - <<'PY'
from pathlib import Path
p = Path("src/build_graph.py")
text = p.read_text()
start = text.index('Node features (dim=34):')
end = text.index('Edge features', start)
block = text[start:end].splitlines()[1:17]
sums = {}
for line in block:
    if line.strip().startswith(' ') and ',' in line:
        name = line.strip().split(',', 1)[0].strip().strip('#')
        sums[name] = int(line.strip().split(' = ')[1].split('#')[0])
print(sums)
print("sum", sum(sums.values()), "expected", 34)
PY

Repository: keisuke58/Payload_gnn

Length of output: 50378


Align the 34-feature contract before claiming no downstream changes.

build_curvature_graph builds the fixed layout documented at lines 84–93 and does not consume internal_pressure_flag, cryo_property_delta, or weld_line_flag. train.py detects in_channels from d.x.shape[1] and checkpoints store input dimensionals, so adding these channels changes normalization, model input projection, batch feature slicing, and saved model contracts. Define the 34-channel replacements, or update the training/model/norm/checkpoint/conformal pipeline with the new input dimension.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/HYDROGEN_TANK_SHM.md` around lines 87 - 96, Align the documented feature
contract with build_curvature_graph and the downstream pipeline before asserting
no changes are needed: either define which existing 34 channels are replaced by
internal_pressure_flag, cryo_property_delta, and weld_line_flag while preserving
d.x.shape[1] at 34, or update train.py, models.py, normalization, feature
slicing, checkpoints, DA, and conformal handling to support the new input
dimension.


GW グラフ(センサ=ノード)は `build_gw_graph.py` のスキーマをそのまま流用。

---

## 6. 再利用マップ (Reuse Map)

| 既存資産 | 水素タンクでの役割 | 改修 |
|----------|-------------------|------|
| `build_graph.py` / `build_gw_graph.py` | グラフ構築 | 特徴量 +数次元のみ |
| `train.py` / `train_gw.py` | 学習 | **無改修**(`--data_dir` 差し替え) |
| `models.py`(GAT/GCN/GIN/SAGE ほか) | モデル | 無改修 |
| `domain_adapt.py` / `payload_da_gw.py` | 常温試験→極低温運用の sim2real | 無改修(X 行列渡し) |
| OGW conformal(`scripts/*ogw*`) | 漏洩リスク判定の FPR 保証 | 閾値/コスト再設定 |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

fd -t f -g '*ogw*' . \
  -x rg -n -C 4 'conformal|calibr|coverage|FPR|threshold'

Repository: keisuke58/Payload_gnn

Length of output: 24977


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== locate docs file =="
fd -t f 'HYDROGEN_TANK_SHM\.md$' .

echo "== relevant section =="
file="$(fd -t f 'HYDROGEN_TANK_SHM\.md$' . | head -n 1 || true)"
if [ -n "${file:-}" ]; then
  wc -l "$file"
  sed -n '90,120p' "$file" | cat -n
fi

echo "== nearby script references =="
rg -n -C 3 'OGW conformal|conformal|scripts/\*ogw\*|false-alarm|FPR|漏洩|閾値|cost|calibr' docs scripts 2>/dev/null || true

Repository: keisuke58/Payload_gnn

Length of output: 50378


🌐 Web query:

conformal prediction split-conformal FPR guarantee target domain exchangeability domain adaptation documentation

💡 Result:

Standard split conformal prediction relies on the assumption of data exchangeability—specifically that the calibration and test data are exchangeable—to guarantee a marginal false positive rate (FPR) of at most alpha [1][2][3]. In the context of domain adaptation or general distribution shift, this assumption is typically violated because the test (target) domain distribution differs from the training (source) domain distribution [1][2][4]. Consequently, applying standard split conformal prediction without adjustment often fails to maintain the desired marginal coverage in the target domain [1][5][6]. To address these challenges, researchers use several modified approaches: 1. Weighted Conformal Prediction: When the distribution shift is known (e.g., covariate shift where the ratio of target to source density is available), weighted conformal prediction can recover valid marginal coverage by reweighting the calibration scores [7][5][8]. 2. Adaptive/Online Conformal Inference: For non-stationary processes or sequential domain shifts, methods like adaptive conformal inference adjust the error threshold dynamically based on recent miscoverage rates to ensure long-term or local coverage guarantees [9][4]. 3. Specialized Non-exchangeable Methods: Advanced techniques have been developed to handle specific forms of non-exchangeability, such as dependent data (e.g., time series, where beta-mixing conditions may allow for coverage guarantees with a small penalty) or arbitrary distribution shifts [10][11][2][12]. Some newer research explores using optimal transport or transfer learning frameworks to align source and target domains for improved predictive performance [6][13]. In summary, while the base split conformal prediction framework lacks a theoretical guarantee for FPR under distribution shift without additional assumptions [1][3], it serves as a foundation for various adaptations designed to restore valid coverage in domain adaptation settings [7][4][8].

Citations:


Qualify the conformal FPR guarantee.

split-conformal FPR control applies to the calibration population only: the source-month healthy calibration set with healthy exchangeability. A global threshold does not hold after the 20 K operating-point shift. Replace “FPR 保証” with calibration-population/target-metric wording, state the exchangeability assumption, and require target-domain recalibration or held-out target-healthy validation before deployment.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/HYDROGEN_TANK_SHM.md` at line 110, Update the OGW conformal entry in the
documentation table to qualify the FPR claim as applying only to the
source-month healthy calibration population under healthy exchangeability,
rather than presenting it as a global guarantee. Mention that the 20 K
operating-point shift requires target-domain recalibration or held-out
target-healthy validation before deployment.

| `fairing_stage2.py` | Stage-2 特性同定(亀裂サイズ/漏洩量) | ラベル定義を tank 用に |
| `TEMPERATURE_ROBUSTNESS.md` | 極低温=極端動作点の評価枠 | 動作点を 20 K に拡張 |
| `pce_driver.py` / `reliability_analysis.py` | 水素脆化・靭性の UQ | 不確かさ変数を tank 用に |

**新規に書くのは実質 FEM 生成のみ**(§7)。

---

## 7. 1サンプル FEM 実行計画 (One-Sample Plan)

プロジェクト流儀に従い、**まず1サンプルで検証**してからバッチ化する。

```bash
# 1) 生成スクリプト雛形(新規, generate_fairing_dataset.py ベース)
# → src/generate_cryotank_dataset.py(healthy 1件)
abaqus cae noGUI=src/generate_cryotank_dataset.py -- --config doe_cryotank_1sample.json

# 2) ODB 抽出(既存を流用)
abaqus python src/extract_odb_results.py --odb abaqus_work/Job-CryoTank-Healthy.odb

# 3) グラフ化 → 1件だけ目視検証(特徴分布・欠陥ラベル)
cd src && python build_graph.py --data_dir ../dataset_cryotank_1sample

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Use the supported graph-builder argument.

src/build_graph.py accepts --sample_dir, or both --nodes_csv and --elems_csv. It does not accept --data_dir, so the documented M1 command exits with an argument-parsing error.

Proposed fix
- cd src && python build_graph.py --data_dir ../dataset_cryotank_1sample
+ cd src && python build_graph.py --sample_dir ../dataset_cryotank_1sample
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
cd src && python build_graph.py --data_dir ../dataset_cryotank_1sample
cd src && python build_graph.py --sample_dir ../dataset_cryotank_1sample
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/HYDROGEN_TANK_SHM.md` at line 132, Update the documented build_graph.py
command to use the supported --sample_dir argument, replacing the invalid
--data_dir option while preserving the existing dataset path.


# 4) OK なら DOE 拡張 → run_batch.py でバッチ、以降フェアリングと同フロー
```

クラスタ(PBS/Torque)実行は `scripts/dispatch_parallel.sh` を tank ジョブ名で流用。

### マイルストーン
1. **M1**: healthy 1サンプル生成 → グラフ目視 OK(本メモの検証)
2. **M2**: 各欠陥タイプ 1件ずつ生成 → 応力集中/波形変化の物理妥当性確認
3. **M3**: DOE バッチ(N≈100)→ `train.py` で検出ベースライン
4. **M4**: 常温↔極低温 DA + conformal で漏洩リスク FPR 保証
5. **M5**: Stage-2 特性同定(亀裂サイズ/漏洩量)→ go/no-go 予後

---

## 8. リスク & 未確定事項 (Open Items)

- Al-Li 極低温物性・靭性の**確定データ**(§2 は仮定)
- タンク実寸法・溶接配置(非公開 → 代表値運用の妥当性)
- GW 周波数帯とセンサ配置(フェアリング設定の転用可否)
- 内圧×極低温×疲労の**連成順序**(解析ステップ設計)
- CFRP クライオタンク(将来)への材料モデル差し替え範囲

---

## 9. 次アクション

- [ ] 本メモのレビュー・数値の確定(材料・寸法・荷重)
- [ ] `src/generate_cryotank_dataset.py` 雛形作成(healthy 1件)
- [ ] M1 検証 → 本メモに結果追記
- [ ] `ROADMAP.md` / `CLAUDE.md` の Research Lines に「Hydrogen Tank SHM」を正式追加

参照: `docs/ARCHITECTURE.md`, `TEMPERATURE_ROBUSTNESS.md`, `docs/index.html`(公開ロードマップ)
100 changes: 100 additions & 0 deletions portfolio/ihi/ihi_interview_prep.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# IHI 推薦就活 — ポートフォリオ & 面接対策(航空宇宙 × 構造ヘルスモニタリング)

> 本資料は、本リポジトリの **GNN-SHM 研究**(H3 CFRP フェアリング欠陥検出 → 水素タンク拡張)を、
> IHI の事業領域に接続して志望動機・面接に使うためのもの。
> IHI 事業に関する記述は**公開情報ベース**(機微情報は含まない)。数値・見解は本人研究に基づく。

---

## 0. 1枚サマリ(これだけ言えれば通る)

**課題** → 2025年 H3 F8 事故で顕在化した CFRP/Al ハニカム界面のデボンディング(skin-core 剥離)。
**手法** → FEM(Abaqus)で応答データを生成し、**曲率対応 Graph Neural Network** で node 単位に欠陥を検出・局在化。
**発展** → 検出だけでなく、①Guided-Wave センサSHM、②検出→特性同定→予後の**多段SHM**、
③FEM↔実測の**ドメイン適応(sim2real)**、④**conformal 予測で誤検出率(FPR)を保証**、まで実装済み。
**IHI への展開** → 同じ枠組みを **固体ロケットブースタ(SRB-3) 複合材構造**・**エンジン高応力部品**・
**水素タンク/水素機器**の健全性評価へ拡張できる(設計メモ `docs/HYDROGEN_TANK_SHM.md` に着手済み)。
Comment on lines +11 to +16

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== file excerpt =="
if [ -f portfolio/ihi/ihi_interview_prep.md ]; then
  nl -ba portfolio/ihi/ihi_interview_prep.md | sed -n '1,40p'
else
  echo "file not found"
fi

echo "== related docs =="
for f in docs/HYDROGEN_TANK_SHM.md portfolio/ihi/*.md; do
  [ -e "$f" ] || continue
  echo "--- $f ($(wc -l < "$f" | tr -d ' ') lines) ---"
  rg -n "H3|F8|CFRP|Al|honeycomb|delamination|デボンディング|sk|SHM|2025|JAXA|MEXT|事故|原因" "$f" || true
done

Repository: keisuke58/Payload_gnn

Length of output: 218


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== repository files =="
git ls-files portfolio/ihi/ihi_interview_prep.md docs/HYDROGEN_TANK_SHM.md 2>/dev/null || true

echo "== file excerpt =="
if [ -f portfolio/ihi/ihi_interview_prep.md ]; then
  awk '{printf "%6d\t%s\n", NR, $0}' portfolio/ihi/ihi_interview_prep.md | sed -n '1,40p'
else
  echo "file not found"
fi

echo "== targeted searches =="
for f in portfolio/ihi/ihi_interview_prep.md docs/HYDROGEN_TANK_SHM.md; do
  [ -e "$f" ] || continue
  echo "--- $f ---"
  grep -En "H3|F8|CFRP|Al|ハニカム|デボンディング|剥離|JAXA|MEXT|事故|原因|2025|SHM|HYDROGEN_TANK" "$f" || true
done

Repository: keisuke58/Payload_gnn

Length of output: 4169


🌐 Web query:

JAXA H3 F8 accident December 22 2025 CFRP aluminum honeycomb delamination official report

💡 Result:

The H3 Flight 8 (F8) launch on December 22, 2025, failed to deliver the Michibiki 5 satellite into its intended orbit due to a structural failure of the satellite mounting adapter (Payload Support Structure, PSS) [1][2][3]. Following an investigation, JAXA and the Ministry of Education, Culture, Sports, Science and Technology (MEXT) identified the root cause as delamination within the adapter [4][3]. The failure mechanism involved the following sequence: 1. Manufacturing Defects: The satellite adapter used a sandwich structure consisting of a carbon fiber reinforced plastic (CFRP) skin bonded to an aluminum honeycomb core [4][5]. During the manufacturing process, components were heated to dry before bonding. In certain areas, temperatures exceeded specifications, which weakened the adhesive strength between the CFRP skin and the aluminum honeycomb core [6][4][7]. Simultaneously, air trapped within the honeycomb cells expanded due to the heat, contributing to the formation of localized delamination (peeling) [4][7]. 2. Expansion during Flight: While this defect was not visible during ground inspections, the delamination expanded when the rocket reached the vacuum of space due to the pressure differential between the exterior and the air trapped inside the honeycomb cells [4][7]. 3. Final Failure: During fairing separation, the shock impact caused the already weakened, delaminated structure to buckle and collapse [4][7][3]. This damage effectively broke the connection between the satellite and the rocket, leading to the launch failure [4][3]. As a corrective measure, JAXA decided to revert to a fastener-based connection method for near-term operational launches while implementing repairs for other test vehicles [3]. Additionally, JAXA committed to re-evaluating other bonded structures, such as the satellite fairing, and conducting a detailed analysis of underlying organizational and process factors [3].

Citations:


🌐 Web query:

JAXA H3-F8 事故 12月22日 炭素繊維 強化 プラスチック 金属製 きごと 脱離 公式報告書

💡 Result:

2025年12月22日に打ち上げられたH3ロケット8号機の失敗に関するJAXAの公式報告書等によると、失敗の直接的な要因は、ロケット上部の衛星搭載アダプター(PSS)で発生した「炭素繊維強化プラスチック(CFRP)スキンの剥離」であると特定されています [1][2][3][4]。 詳細なメカニズムは以下の通りです: 1. 発生メカニズム: 衛星搭載アダプターは、アルミ製のハニカム構造の両面にCFRPシートを接着する構造です [3][4]。製造工程において、部材の乾燥加熱時に一部が規定以上の高温になったことで接着強度が低下したことや、ハニカム構造内の空気が膨張したことなどが重なり、CFRPスキンとアルミハニカムコアとの間に剥離が発生していました [3][4][5]。 2. 経緯: 8号機の打ち上げ時、衛星フェアリング(カバー)を分離した際の衝撃がきっかけとなり、製造段階ですでに生じていた剥離が急激に拡大しました [3][4][6]。 3. 構造への影響: 剥離の進展により衛星搭載部の強度が低下し、衛星が予定より早くロケットから脱離(損傷)する事態に至りました [3][4][6]。その後、2段エンジンの燃焼異常などが連鎖的に発生し、衛星を所定の軌道に投入できず打ち上げ失敗となりました [2][3][4][7]。 JAXAは、この知見に基づき、製造工程における加熱管理の適正化や検査体制の強化などの対策を講じています [3][4][5]。

Citations:


🌐 Web query:

MEXT H3 F8 investigation 2026 February 4 CFRP honeycomb delamination report

💡 Result:

The investigation into the H3 Rocket No. 8 launch failure, which occurred on December 22, 2025, identified the primary cause as the internal delamination of the Payload Support Structure (PSS) [1][2]. The failure process is summarized as follows: 1. Manufacturing Defect: During the assembly of the PSS, which is constructed from sandwich panels (CFRP skins with aluminum honeycomb cores), the splice bonding process resulted in temperatures higher than anticipated [3]. This excessive heat caused the internal air within the honeycomb core to expand and reduced the adhesive strength, leading to delamination between the CFRP skin and the aluminum honeycomb core [3]. 2. In-Flight Failure: It is highly likely that the PSS was already in a delaminated state at the time of launch [4][3]. During the flight, following the separation of the fairing, the impact and the pressure difference in the vacuum of space caused the existing delamination to expand rapidly [2]. 3. Structural Collapse: This rapid expansion led to local buckling and the catastrophic failure of the PSS [1][3]. The structural collapse caused the satellite and the mounting adapter to fall toward the second-stage fuel tank, damaging its piping and leading to a loss of pressure and abnormal engine combustion, which ultimately resulted in the failure to place the satellite into the designated orbit [2]. The Ministry of Education, Culture, Sports, Science and Technology (MEXT) and the Japan Aerospace Exploration Agency (JAXA) conducted multiple investigations through the Subcommittee on Research and Safety [1][5]. By the time of the interim report in April 2026, JAXA had identified the PSS delamination as the primary factor and proposed countermeasures, including replacing the adhesive-based PSS design with a fastener-based (bolt) coupling system for practical satellite missions, while utilizing a repaired PSS configuration for H3 test flight models to gather further flight data [1][5]. The final report confirmed these findings [6].

Citations:


Cite the H3 F8 investigation source.

This sentence states a specific failure fact. Add a dated JAXA or MEXT investigation source and keep the phrasing tied to what the report documents: the CFRP/Al sandwich adapter delamination, not just generic fairing debonding.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@portfolio/ihi/ihi_interview_prep.md` around lines 11 - 16, Add a dated JAXA
or MEXT investigation citation to the H3 F8 failure statement, using a source
that specifically documents CFRP/Al sandwich adapter skin-core delamination.
Keep the existing wording tied to that documented adapter delamination rather
than broadening it to generic fairing debonding.


---

## 1. なぜ IHI か(事業マッピング)

| IHI の事業領域(公開情報) | 本研究が接続する点 |
|---------------------------|--------------------|
| **宇宙**: IHIエアロスペースが H3 の **SRB-3(固体ロケットブースタ)** を担当 | CFRP/複合材構造の欠陥検出・健全性評価=本研究のコア |
| **航空エンジン**: ジェットエンジン・**LE-9** 等のターボ機械 | 高応力・熱環境下部品の SHM/代理モデル/不確かさ定量化(UQ) |
| **資源・エネルギー / 水素・アンモニア**: 水素バリューチェーン、混焼ガスタービン | **極低温水素タンク SHM**(設計メモ着手済み)=ロケット×水素の両取り |
| **社会基盤・検査事業** | グラフ+基盤モデルによる異常検知の横展開 |

**志望動機の核**: 「複合材・高応力・極低温という IHI の主戦場に、実機適用を意識した
**物理(FEM)×AI(GNN)×信頼性保証(conformal/UQ)** を持ち込みたい」。

---

## 2. ポートフォリオ要点(何を作ったか)

本リポジトリ(`Payload_gnn`)が実物のポートフォリオ。技術ハイライト:

- **Geometry-Aware GNN**: 曲面シェルを UV 歪みなくグラフ化(法線・主曲率・測地距離)。GAT/GCN/GIN/SAGE を実装
- **H3 準拠 FEM**: Abaqus で barrel+ogive(φ5.2m)、熱荷重(CTE ミスマッチ)、cohesive/CZM でデボンド欠陥
- **Guided-Wave SHM**: 弾性波センサ時刻歴 → 時空間グラフ → ST-GNN 分類
- **多段 SHM**: Stage-1 検出 → Stage-2 特性同定(欠陥サイズ/深刻度)→ Stage-3 予後(flight clearance / go-no-go)
- **sim2real ドメイン適応**: DANN・CORAL、実 OGW データで split-conformal により **FPR を保証**
- **温度ロバスト性**: 動作点シフト(→水素タンクの極低温へ拡張)
Comment on lines +42 to +43

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== file excerpt =="
sed -n '1,90p' portfolio/ihi/ihi_interview_prep.md

echo
echo "== conformal / FPR mentions =="
rg -n "conformal|FPR|FPR を保証|FPR 制御|FPR を評価|DANN|CORAL|温度" portfolio/ihi/ihi_interview_prep.md

Repository: keisuke58/Payload_gnn

Length of output: 3877


Replace unconditional FPR guarantees with measured target-domain FPR control.

conformal control only applies under the stated calibration population, nonconformity score, and exchangeability assumption; domain adaptation or temperature-domain shifts can violate the target deployment guarantee. Lines 42, 61-62: describe the calibration data and target-domain result, then use FPR を統計的に制御/FPR を評価 unless the target-domain guarantee is supported. Also applies to lines 14, 67.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@portfolio/ihi/ihi_interview_prep.md` around lines 42 - 43, Update the
interview-prep document’s claims around sim2real adaptation, temperature
robustness, and the references at the noted FPR statements to avoid
unconditional target-domain guarantees. Specify the calibration population and
target-domain evaluation result, and use wording such as statistically
controlling or evaluating FPR unless exchangeability and the deployment
guarantee are explicitly supported.

- **周辺**: FNO/PINN 代理モデル、PCE による UQ、基盤モデル(AnomalyGFM/Chronos-2) ベンチ、6DOF Virtual Twin

公開ロードマップ: `docs/index.html`(フェアリング→水素タンクの流れを図で1枚)。

---

## 3. 想定 Q&A(面接)

### Q. この研究を一言で
A. 「ロケット複合材構造の**剥離欠陥を、FEM 応答データ上のグラフニューラルネットで検出・局在化**する研究です。
検出単体でなく、特性同定・予後・**実機適用時の誤検出率保証**まで一気通貫で作りました。」

### Q. なぜ GNN(CNN でなく)?
A. フェアリングは**曲面**で、CNN の格子/UV 展開は歪みを生む。メッシュ節点をそのままグラフにすれば
**曲率・異方性(CFRP 繊維配向)・不規則メッシュ**を自然に扱える。message passing が応力の空間伝播と相性が良い。

### Q. FEM データだけで実機に効くのか?(最頻出)
A. そこが肝で、**sim2real ギャップ**を正面から扱いました。ドメイン適応(DANN/CORAL)で分布を寄せ、
実 Open Guided Waves データで **split-conformal により FPR を統計的に保証**。
温度シフトで一度破綻→適応で回復、という**破綻と回復まで定量評価**しています。

### Q. 誤検出(過検出/見逃し)のバランスは?
A. SHM は**見逃しのコストが非対称**。weighted CE / Focal Loss でクラス不均衡に対処し、
conformal で運用閾値を FPR 基準で切る。予後段では go/no-go の意思決定に落とす設計。

### Q. IHI で何をやりたいか
A. **SRB-3 等の複合材構造**と**水素機器**に、この物理×AI×信頼性保証の枠組みを実装したい。
すでに**極低温水素タンク SHM の設計メモ**(材料/荷重/欠陥/グラフ特徴量/1サンプル FEM 計画)に着手しています。

### Q. 弱み・課題は?
A. 現状は FEM 中心で、実機・実試験データが限定的。だからこそ**ドメイン適応と不確かさ定量化**に注力した。
IHI の実試験環境で検証を回せるのが next step。

---

## 4. 技術キーワード(深掘り対策)

- **SHM**: guided wave (Lamb 波)、dispersion、パッシブ/アクティブ、圧電センサ配置
- **複合材**: CFRP 積層、CTE ミスマッチ、skin-core debond、cohesive zone model (CZM)
- **GNN**: message passing、GAT の attention、over-smoothing、node 分類 vs graph 分類
- **信頼性**: conformal prediction、coverage 保証、PCE、信頼性解析(reliability index)
- **代理モデル**: FNO(Fourier Neural Operator)、PINN、蒸留(物理知識→GNN)
- **極低温/水素**: Al-Li 合金の低温物性、内圧+熱応力、断熱材剥離、水素脆化

---

## 5. 準備チェックリスト

- [ ] 1枚サマリ(§0)を口頭で 60 秒で言えるようにする
- [ ] 「FEM だけで効くのか」への回答(§3)を暗唱レベルに
- [ ] IHI 事業(SRB-3 / LE-9 / 水素)と自研究の接続を最新の公開情報で更新
- [ ] `docs/index.html`(公開ロードマップ)と `docs/HYDROGEN_TANK_SHM.md` を見せられる状態に
- [ ] 推薦書・研究概要書に本サマリの構造(課題→手法→成果→IHI展開)を反映

---

参照: `README.md`, `docs/ARCHITECTURE.md`, `docs/HYDROGEN_TANK_SHM.md`, `TEMPERATURE_ROBUSTNESS.md`, `docs/index.html`
Loading