StructuralFEA について
StructuralFEAは、ダンパー部品や機械部品の構造検証向けオープンソーススキルです。CalculiX、FreeCAD FEM、Gmshなどを使う解析計算と有限要素解析の手順を備えています。
主な機能
- 01迅速な解析応力チェック
- 02部品の有限要素解析フロー
- 03座屈・モード解析
- 04疲労評価
- 05材料データと部品テンプレート
- 06メッシュ作成と結果解釈のガイド
活用シーン
- 01本解析の前にロッドの応力を確認
- 02内圧を受けるダンパーチューブを解析
- 03荷重下のロッド座屈を評価
- 04部品の疲労寿命を見積もる
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ robdtaylor/ personal-ai-infrastructure --skill structuralfeaインストール後、Claude Code で/structuralfeaを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CLAUDE.mdWorkflows/QuickStress.mdComponentFEA.md詳細
StructuralFEA
ダンパー部品および機械部品の構造検証に使える、オープンソースの有限要素解析スキルです。CalculiX、FreeCAD FEM、Gmsh、ParaViewを使用します。
ワークフローの振り分け
| ワークフロー | トリガー | 説明 |
|---|---|---|
| QuickStress | "quick stress check", "hand calc" | FEAの前に解析的に応力を計算します |
| ComponentFEA | "analyze rod", "tube stress", "piston FEA" | 特定の部品を対象に完全なFEAを行います |
| BucklingAnalysis | "buckling", "column", "stability" | オイラー座屈解析と非線形座屈解析を行います |
| ModalAnalysis | "natural frequency", "modal", "vibration" | 固有値を抽出します |
| FatigueCheck | "fatigue", "endurance", "life" | 応力寿命法による疲労評価を行います |
ツールチェーンの概要
┌─────────────────────────────────────────────────────────────────────┐
│ OPEN SOURCE FEA STACK │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ FreeCAD │────▶│ Gmsh │────▶│ CalculiX │ │
│ │ (CAD/GUI) │ │ (Meshing) │ │ (Solver) │ │
│ └─────────────┘ └─────────────┘ └──────┬──────┘ │
│ │ │ │
│ │ ┌─────────────┐ │ │
│ └─────────────▶│ ParaView │◀──────────┘ │
│ │ (Post-proc)│ │
│ └─────────────┘ │
│ │
│ Alternative paths: │
│ - FreeCAD FEM Workbench (integrated GUI workflow) │
│ - Salome-Meca (Code_Aster) for advanced nonlinear │
│ - OpenFOAM for CFD (valve flow analysis) │
│ │
└─────────────────────────────────────────────────────────────────────┘
インストール
macOS(Homebrew)
# FreeCAD with FEM workbench
brew install --cask freecad
# Gmsh mesher
brew install gmsh
# CalculiX solver (requires tap)
brew tap costerwi/calculix
brew install calculix-ccx # Solver
brew install calculix-cgx # Pre/post (optional, requires XQuartz on macOS)
# ParaView post-processor
brew install --cask paraview
# Optional: OpenFOAM for CFD
brew install openfoam
macOSの代替方法(Conda)
# If you prefer conda
conda install conda-forge::calculix
conda install conda-forge::gmsh
Linux(Ubuntu/Debian)
# FreeCAD
sudo apt install freecad
# Gmsh
sudo apt install gmsh
# CalculiX
sudo apt install calculix-ccx calculix-cgx
# ParaView
sudo apt install paraview
# Salome-Meca (alternative, more powerful)
# Download from https://www.code-aster.org/
Windows
# FreeCAD - via winget or download from freecad.org
winget install FreeCAD.FreeCAD
# Gmsh - via winget or download from gmsh.info
winget install -e --id Gmsh.Gmsh
# CalculiX - multiple options:
# Option 1: bConverged installer (recommended, includes GUI)
# Download from http://www.bconverged.com/calculix.php
# Provides ccx.exe and optional cgx.exe
# Option 2: Chocolatey (if installed)
choco install calculix
# Option 3: WSL (most reliable, identical to Linux)
# Install WSL, then: sudo apt install calculix-ccx calculix-cgx
# ParaView - via winget or download from paraview.org
winget install Kitware.ParaView
注: CalculiXはUnixネイティブのソフトウェアです。Windowsでは、bConvergedインストーラーが最も簡単な選択肢です。最大限の互換性を得るには、WSL(Windows Subsystem for Linux)でCalculiXを実行することを検討してください。これにより、ネイティブのLinuxと同じ動作が得られます。
インストールの確認
# Check versions
freecad --version
gmsh --version
ccx -v
paraview --version
材料データベース
アルミニウム合金(CalculiXの.inpファイル用)
*MATERIAL, NAME=AL6061T6
*ELASTIC
68900, 0.33
*DENSITY
2700E-12
*EXPANSION
23.6E-6
*MATERIAL, NAME=AL7075T6
*ELASTIC
71700, 0.33
*DENSITY
2810E-12
*EXPANSION
23.4E-6
*MATERIAL, NAME=AL2024T351
*ELASTIC
72400, 0.33
*DENSITY
2780E-12
*EXPANSION
23.2E-6
鋼(CalculiXの.inpファイル用)
*MATERIAL, NAME=STEEL4140
*ELASTIC
205000, 0.29
*DENSITY
7850E-12
*EXPANSION
12.3E-6
*PLASTIC
655, 0.0
860, 0.10
*MATERIAL, NAME=STEEL4340
*ELASTIC
205000, 0.29
*DENSITY
7850E-12
*EXPANSION
11.7E-6
*PLASTIC
860, 0.0
1100, 0.08
*MATERIAL, NAME=STEEL174PH
*ELASTIC
196000, 0.27
*DENSITY
7780E-12
*EXPANSION
10.8E-6
*PLASTIC
1170, 0.0
1310, 0.06
材料特性の概要
| 材料 | E (MPa) | ν | ρ (kg/m³) | Sy (MPa) | Su (MPa) |
|---|---|---|---|---|---|
| 6061-T6 | 68,900 | 0.33 | 2,700 | 276 | 310 |
| 7075-T6 | 71,700 | 0.33 | 2,810 | 503 | 572 |
| 4140 QT | 205,000 | 0.29 | 7,850 | 655-860 | 810-970 |
| 4340 QT | 205,000 | 0.29 | 7,850 | 860-1100 | 950-1200 |
| 17-4 PH H900 | 196,000 | 0.27 | 7,780 | 1,170 | 1,310 |
部品テンプレート
ピストンロッド - 軸荷重+曲げ荷重
** ================================================
** PISTON ROD FEA - COMBINED LOADING
** ================================================
**
*HEADING
Damper Piston Rod - Axial Load with Side Force
**
*NODE, NSET=ALLNODES
** Node data imported from mesh file
*INCLUDE, INPUT=rod_mesh.inp
**
** ------------------------------------------------
** MATERIAL DEFINITION
** ------------------------------------------------
*MATERIAL, NAME=STEEL4140
*ELASTIC
205000, 0.29
*DENSITY
7850E-12
**
*SOLID SECTION, ELSET=EALL, MATERIAL=STEEL4140
**
** ------------------------------------------------
** BOUNDARY CONDITIONS
** ------------------------------------------------
** Fixed end (piston attachment)
*BOUNDARY
FIXED_END, 1, 3, 0.0
**
** ------------------------------------------------
** LOADING
** ------------------------------------------------
** Axial load (compression)
*CLOAD
LOAD_NODE, 3, -5000.0
**
** Side load (bending from misalignment)
*CLOAD
LOAD_NODE, 1, 500.0
**
** ------------------------------------------------
** ANALYSIS
** ------------------------------------------------
*STEP
*STATIC
**
*NODE FILE
U
*EL FILE
S, E
**
*END STEP
チューブ - 内圧
** ================================================
** DAMPER TUBE - INTERNAL PRESSURE
** ================================================
**
*HEADING
Damper Tube Hoop Stress Analysis
**
*INCLUDE, INPUT=tube_mesh.inp
**
*MATERIAL, NAME=AL6061T6
*ELASTIC
68900, 0.33
**
*SOLID SECTION, ELSET=EALL, MATERIAL=AL6061T6
**
** Fixed end cap
*BOUNDARY
END_FIXED, 1, 3, 0.0
**
** Internal pressure (20 MPa = 200 bar)
*DLOAD
INNER_SURFACE, P, 20.0
**
*STEP
*STATIC
*NODE FILE
U
*EL FILE
S, E
*END STEP
座屈解析テンプレート
** ================================================
** ROD BUCKLING ANALYSIS
** ================================================
**
*HEADING
Piston Rod Linear Buckling
**
*INCLUDE, INPUT=rod_mesh.inp
**
*MATERIAL, NAME=STEEL4340
*ELASTIC
205000, 0.29
**
*SOLID SECTION, ELSET=EALL, MATERIAL=STEEL4340
**
** Pinned bottom
*BOUNDARY
BOTTOM, 1, 2, 0.0
BOTTOM, 3, 3, 0.0
**
** Guided top (can move axially)
*BOUNDARY
TOP, 1, 2, 0.0
**
** Unit load for eigenvalue extraction
*CLOAD
TOP, 3, -1.0
**
** ------------------------------------------------
** LINEAR BUCKLING (EIGENVALUE)
** ------------------------------------------------
*STEP
*BUCKLE
5
**
*NODE FILE
U
*EL FILE
S
**
*END STEP
モーダル解析テンプレート
** ================================================
** COMPONENT MODAL ANALYSIS
** ================================================
**
*HEADING
Natural Frequency Extraction
**
*INCLUDE, INPUT=component_mesh.inp
**
*MATERIAL, NAME=STEEL4140
*ELASTIC
205000, 0.29
*DENSITY
7850E-12
**
*SOLID SECTION, ELSET=EALL, MATERIAL=STEEL4140
**
*BOUNDARY
FIXED, 1, 3, 0.0
**
*STEP
*FREQUENCY
10
**
*NODE FILE
U
*EL FILE
S
**
*END STEP
メッシュ作成のガイドライン
要素サイズの推奨値
| 部品 | 全体サイズ | 細分化する領域 | 要素タイプ |
|---|---|---|---|
| ロッド(Ø16-25mm) | 2-3mm | ねじ山:0.5mm、フィレット:0.5mm | C3D10(四面体) |
| チューブ(Ø40-60mm) | 3-4mm | ねじ谷:0.5mm | C3D10またはC3D20R |
| ピストン | 2-3mm | バルブポート:0.3mm | C3D10 |
| アイ/クレビス | 2-3mm | 穴の縁:0.5mm | C3D10 |
Gmshメッシュ作成スクリプト
// ================================================
// GMSH SCRIPT FOR DAMPER ROD
// ================================================
// Load geometry (STEP file from CAD)
Merge "piston_rod.step";
// Define mesh size
Mesh.CharacteristicLengthMax = 2.0; // mm
Mesh.CharacteristicLengthMin = 0.3; // mm
// Refine at threads (identify surfaces by number)
Field[1] = Distance;
Field[1].FacesList = {5, 6}; // Thread surfaces
Field[1].NNodesByEdge = 100;
Field[2] = Threshold;
Field[2].IField = 1;
Field[2].LcMin = 0.5;
Field[2].LcMax = 2.0;
Field[2].DistMin = 0.5;
Field[2].DistMax = 5.0;
Background Field = 2;
// Generate 3D mesh
Mesh.Algorithm3D = 1; // Delaunay
Mesh 3;
// Save for CalculiX
Save "rod_mesh.inp";
FreeCAD FEMのワークフロー
-
ジオメトリの作成/インポート
- 新しいジオメトリにはPart Designワークベンチを使用します
- 既存のCADにはSTEP/IGESをインポートします
-
FEMワークベンチに切り替え
- Analysis → New Analysis
- Model → Solver CalculiX Standard
-
材料の割り当て
- Model → Material for Solid
- ライブラリから選択するか、カスタム材料を定義します
-
拘束条件の適用
- Model → Constraint Fixed(支持部用)
- Model → Constraint Force(荷重用)
- Model → Constraint Pressure(面用)
-
メッシュの作成
- Mesh → FEM Mesh from Shape
- 要素サイズと細分化を設定します
-
解析の実行
- Solve → Solver Job Control
- .inpファイルを書き出し、CalculiXを実行します
-
結果の表示
- Results → Show Result
- フィルター:Von Mises、変位など
結果の解釈
応力限度(設計許容値)
| 材料 | 静的 σ_allow | 疲労 σ_allow | 注記 |
|---|---|---|---|
| 6061-T6 | 165 MPa | 60 MPa | 0.6×Sy、Se=97 MPa |
| 7075-T6 | 300 MPa | 100 MPa | 0.6×Sy、Se=159 MPa |
| 4140 QT | 400-520 MPa | 200-260 MPa | 焼戻し状態によって異なります |
| 4340 QT | 520-660 MPa | 260-330 MPa | 優れた疲労特性 |
| 17-4 PH | 700 MPa | 350 MPa | H900状態 |
安全率のガイドライン
| 用途 | 静的SF | 疲労SF | 座屈SF |
|---|---|---|---|
| 道路車両 | 2.0 | 3.0 | 3.0 |
| モータースポーツ | 1.5 | 2.0 | 2.5 |
| 産業用途 | 2.5 | 4.0 | 4.0 |
結果のチェックリスト
## FEA Result Verification
□ Mesh convergence check (refine 2x, stress change <5%)
□ Displacement magnitude reasonable
□ Stress concentrations identified and acceptable
□ von Mises < σ_allowable everywhere
□ No yielding in critical regions
□ Buckling factor > required SF
□ Natural frequencies away from excitation frequencies
□ Reaction forces balance applied loads
□ No mesh distortion warnings
簡易応力チェック(FEAの前に)
ロッドの軸応力
σ = F / A = F / (π × d²/4)
Example:
F = 5000 N, d = 20 mm
σ = 5000 / (π × 20²/4) = 15.9 MPa
For 4140 steel (Sy = 700 MPa):
SF = 700 / 15.9 = 44 ✓ (very conservative)
ロッドの座屈
Pcr = π² × E × I / (K × L)²
I = π × d⁴ / 64
Example:
d = 20 mm, L = 200 mm, K = 0.7 (guided)
E = 205,000 MPa
I = π × 20⁴ / 64 = 7854 mm⁴
Pcr = π² × 205000 × 7854 / (0.7 × 200)²
Pcr = 809,000 N = 809 kN
For F = 5000 N:
SF = 809,000 / 5000 = 162 ✓
チューブのフープ応力
σ_hoop = P × r / t
Example:
P = 20 MPa, r = 20 mm (inner), t = 3 mm
σ_hoop = 20 × 20 / 3 = 133 MPa
For 6061-T6 (Sy = 276 MPa):
SF = 276 / 133 = 2.1 ✓
他のスキルとの連携
| スキル | 連携内容 |
|---|---|
| DamperEngineering | コンポーネントの荷重、材料選定 |
| PlantCapability | 設計の機械加工の実現可能性 |
| CuttingParams | 表面仕上げの要件 |
| QuoteEstimator | 材料費、機械加工時間 |
例
例 1:ロッドの簡易チェック
User: "Check if 16mm rod can handle 4000N"
→ Run analytical calculation
→ Check axial stress vs allowable
→ Check buckling if stroke > 100mm
→ Report pass/fail with SF
例 2:FEA の完全なワークフロー
User: "Run FEA on piston rod with thread detail"
→ Generate CalculiX template
→ Provide meshing guidance
→ Define boundary conditions
→ Interpret results
→ Recommend design changes if needed
例 3:座屈解析
User: "Will this long rod buckle under max load?"
→ Euler calculation first
→ Set up CalculiX buckling analysis
→ Extract eigenvalue (buckling factor)
→ Report margin
コメント
Markdown 対応