FEM / CAE — 構造 · 熱 · CFD · マルチフィジックス
このスキルはエンジニアリング主張を統治します — ソルバーを駆動したり、設計を承認したりしません。 これはソルバードライバー / MCP(PyMAPDL、PyMechanical、Abaqus / OpenFOAMドライバー、OASiS、CAE MCP)とペアリングされ、これが実行します;このスキルは結果が主張可能か、どの高度で、いつ人間が判断すべきかを決定します。
概要
有限要素法およびCAE解析をエンドツーエンドで統治します。エグゼキュータとペアリングされ(PyMAPDL、PyMechanical、PyFluent、Abaqus/OpenFOAMドライバー、CAE MCP — 下記「ガバナンスレイヤー、エグゼキュータではない」参照)、そのエグゼキュータがインストール済みソルバーを特定し、デッキ/スクリプトを構築し、ヘッドレス/バッチで起動します;このスキルは理想化をガイドおよび監査し、ログから収束を読み取り、結果を検査/解析し、毎回の実行で専門的実践(理想化 → メッシュ生成 → 接続 → ソルブ制御 → 収束 → メッシュ独立性 → V&V)を強制します。方法論はソルバー非依存です;ここでの深い作業はAnsys / Simcenter / Thermal Desktopで、Abaqus、LS-DYNA、MSC/Simcenter Nastran、COMSOL、OpenFOAM、Fluent、CFX、STAR-CCM+、CalculiX、Code_Asterにわたる広がりがあります(references/software-landscape.md参照)。
中核原則(ゲートとして強制):
- 結果は、その離散化(メッシュ/タイムステップ)誤差が対処されるまで信頼されない — ENGINEERINGでは範囲が定められ記述され(例:最終 refinement でのQoI変化、または単一メッシュのZZ/SPR推定)、SIGNOFFでは漸近範囲でのGCI研究で完全に実証される;誤差記述なしで報告された単一メッシュの数値は決して結果ではない。加えて以下の収束チェック。
- 関心量(QoI)を収束させる、ピークではない — 鋭い角、集中荷重、き裂先端でのピークは決して収束しない特異点である。
- ほとんどの誤差は前処理で生まれる(理想化、境界条件、接続) — それらの決定を前倒しせよ。
- 検証の前に検証;較正 ≠ 検証 — エージェントは実行証跡なしに承認を主張してはならない。
このSKILL.mdがルーターです。 詳細は references/ にあります — トピックが関連する場合のみ参照をロードしてください。
使用時
- 構造(静的/モーダル/座屈/非線形/陽解法)、熱(定常/過渡/放射)、CFD(RANS/LES、CHT)、電磁界(低周波/高周波)、振動音響/NVH、マルチボディ、および連成マルチフィジックス(熱-構造、FSI、EM-熱)。
- 破壊と耐久性: 破壊 / 損傷許容、疲労(振動/スペクトル含む)、複合材料、塑性 / シェイクダウン / ラチェッティング、座屈と安定性、衝突 / 衝撃 / 落下。
- 接触、熱接触抵抗、ボルト/溶接/剛結合;メッシュ生成とメッシュ独立性(GCI);要素/ソルバー/単位選択。
- ヘッドレス/バッチソルビングと結果解析;最適化、較正、逆パラメータ同定 / モデル更新。
- V&V / UQ;サブストラクチャリング / ROM;極低温 / 真空 / 宇宙機熱解析。
- エージェントが何をヘッドレスで自動化できるか、何を人間がすべきかの決定(次のセクション)。
対象外: 純粋なCADモデリング、または閉形式の手計算でより適切に扱われる問題。
★ エージェント能力とヘッドレス対人間の契約
誰が何をするかを正確に定義します。バケット:AGENT-HEADLESS(完全にスクリプト/バッチ可能、GUI不要)・AGENT-VIA-API(Python/ジャーナルAPI、セッション+ライセンスが必要)・HUMAN-GUI(少なくとも一度はインタラクティブである必要がある)・HUMAN-JUDGMENT(エージェントが単独で下してはならないエンジニアリング判断)・LICENSE-GATED。プラットフォームごとの詳細:references/agent-automation-boundary.md。
| 操作 | 分類 | 方法 / 理由 |
|---|---|---|
| CADインポート | AGENT-VIA-API | PyMAPDL/PyMechanical/run_journalがSTEP/Parasolidをインポート |
| ジオメトリクリーンアップ / 大幅なフィーチャ除去 | AGENT-VIA-API + HUMAN-JUDGMENT | スクリプト可能なフィーチャ除去/ピンチ;乱れた修復 + 何を除去するかは判断 |
| メッシュ生成 | AGENT-HEADLESS (Ansys) · SEED-IN-GUI (NX) | PyMAPDL/PyMechanicalは完全にヘッドレスでメッシュ生成;NX .fem/.simテンプレートはバッチで解決されない → GUIで一度シードを作成 |
| 材料の作成/割り当て | AGENT-HEADLESS | 全プラットフォームでスクリプト可能;温度依存データを提供 |
| 接触 / 接続 | AGENT-HEADLESS (構築) + HUMAN-JUDGMENT (種類) | 定義はスクリプト可能;ボンド vs 摩擦 / RBE2 vs RBE3 はエンジニアリング選択 |
| 境界条件と荷重 | AGENT-HEADLESS | スクリプト可能;エージェントは荷重ケースを発明してはならない |
| 最適化のためのパラメータ公開 | AGENT-HEADLESS (PyMAPDL *SET) · HUMAN-GUI (Workbench P#、NX Expressions、HEEDSタグ) | パラメータ化にはPyMAPDLのみGUI不要 |
| ソルブ(定常/過渡/非線形) | AGENT-HEADLESS + LICENSE-GATED | ansys -b、nastran.exe、tmgnx、abaqus job=、fluent -g、OpenFOAM、cfx5solve -batch、starccm+ -batch |
| 電磁界ソルブ(モーター/RF/渦電流) | AGENT-VIA-API + LICENSE-GATED | PyAEDT(import ansys.aedt.core、non_graphical=True)、COMSOL/getDPバッチ;ポート/励振/スイープはエンジニアリング設定 |
| 最適化 / DOE / 較正 | AGENT-HEADLESS(PyMAPDL+SciPy、optiSLang -b、HEEDS CLI)+ GUI-AUTHOR-ONCE | GUIで一度スタディ/タグを作成し、その後ヘッドレスで実行 |
| 結果抽出 | AGENT-HEADLESS | PyDPF、pyNastran(.op2/.f06)、.odb、SINDA .out、CGNS/VTK |
| 画像/プロット出力 | AGENT-HEADLESS | pyvistaオフスクリーン、ParaView pvbatch |
| 相関 / モデル更新(MAC、ノードペアリング) | HUMAN-GUI | インタラクティブな試験↔解析ノードペアリングはGUI作業 |
テンプレート / .sim / プロジェクト作成(NX) | HUMAN-GUI | テンプレートレジストリはヘッドレスで初期化されない → 事前にシードを作成し、それを駆動 |
| ライセンス | LICENSE-GATED | 各並列ソルバーインスタンスは独自のシートを消費 |
エージェントは絶対に自動化してはならない: 理想化 / 要素 / 接触種別 / 境界条件を単独で選択(HUMAN-JUDGMENT)・較正ノブを物理的範囲の端に固定して受け入れる・特異ピークまたは未収束の結果を結果として報告する・実行証跡なしに検証 / メッシュ独立性 / 承認を主張する・許可なしに不可逆的なプッシュ/上書きを実行する。
ペアリングとエグゼキュータ契約
このスキルはガバナンスレイヤーであり、エグゼキュータではありません。 ソルバーを駆動するもの(PyMAPDL、PyMechanical、Abaqus / OpenFOAMドライバー、OASiS、CAE MCP)とペアリングしてください:エグゼキュータは実行し;このスキルは主張を統治します。 出所のないソルバー出力を信頼しないでください — エグゼキュータが以下を返す場合のみ、結果は信頼可能です:
- 実行マニフェスト(
run_manifest.json、テンプレートscripts/run_manifest_template.json) — トレーサビリティの背骨(NAFEMS R0033)。 - ソルバー名 + 正確なバージョン — 検出されたインストールのバナー/
-helpから読み取り、決して推定しない。 - 入力デッキハッシュ + 結果ファイルハッシュ(例:
.inp/.dat/.cdbと.rst/.rth/.op2のSHA-256) — 数値をそれを生成した正確なデッキと結果に結びつける。 - コマンド + フラグの証拠 — 実際の起動ライン、そのバージョンに対して検証されたフラグ(バージョン対応コマンドルール、ステップ0)。
- 隔離されたワークスペース — クリーンな作業ディレクトリ;出力はそこに書き込まれ、
superseded_byポインタなしに以前の「最終」を上書きしない。
この出所を欠く結果は、せいぜいSMOKE/DEBUGアーティファクトです — そのように表現してください(references/claim-templates.md)。
実行モード(タスクごとに一つ選択 — 必須ゲートと主張可能内容を設定)
| モード | 使用時 | 必須ゲート | 決して |
|---|---|---|---|
| SMOKE | 環境/デッキ/ソルブ/解析が実行されることを証明 | ステップ0;ソルブ完了;結果ファイルが書き込まれかつ読み取り可能 | エンジニアリング数値を主張;何かを調整 |
| DEBUG | 故障原因を発見 | 症状に対する一つの決定的テスト;熱の場合は接続ゲート | 診断ソルブを結果として提示 |
| ENGINEERING | 使用可能な結果 + 健全性チェック | 単位;接続;反力/熱/質量バランス;収束;QoI抽出;特異性チェック | 承認を主張;特異ピークを報告 |
| SIGNOFF | 防御可能な成果物 | 全ENGINEERING + メッシュ & タイムステップ独立性(GCI、漸近範囲) + トレーサブルレポート + 誤差範囲 | ゲートをスキップ;不確かさをあいまいに |
SMOKE/DEBUGの結果はパイプライン/物理チェックであり、決してエンジニアリング結論ではない — そうラベル付けしてください。
★ 主張前の自己チェック — エンジニアリング数値を述べる前にすべてに回答
これがこのスキルを信頼できるものにするゲートです。応力、温度、周波数、マージン、抗力、または「合格」とタイプする前に、これらに回答してください。いずれかの回答がいいえ / 不明の場合、結果はありません — SMOKE/DEBUG出力です:そう言って停止してください。
- モード? どの実行モードにいるか、そしてその必須ゲートは通過したか?(SMOKE/DEBUG ⇒ エンジニアリング結論ではない。)
- 単位? 一貫したシステムが検証されたか(1g質量 / 手計算チェック);密度が単位破損していないか?
- 離散化誤差は対処されたか? メッシュ および タイムステップ誤差が範囲を定められ記述されたか(SIGNOFFはGCI;ENGINEERINGは単一メッシュのZZ/SPR推定)?単一メッシュの数値だけでは決して結果ではない。
- 特異性は除外されたか? QoIが角 / 集中荷重 / き裂先端アーティファクトか?引用前に読み取るか線形化せよ。
- バランスはチェックされたか? 反力 = 適用荷重;熱/質量/エネルギーバランスが許容範囲内;収束は残差履歴から(終了コードではない)?
- 許容値は指定されたか? 裸の数値ではなく、指定された基準 / 設計コードに対するマージンがあるか?
- 人間判断ゲートを越えたか? 荷重ケース、接触種類、許容値、フィーチャ除去、または承認を暗黙に選択したか?もしそうなら — 停止してエスカレーション(
references/escalation-examples.md)。
次に、references/claim-templates.mdの該当テンプレートで結果を表現してください。エージェントは実行証跡なしに承認を主張せず、エンジニアリング判断を自己承認しません。 正確なソルバーフラグ / API呼び出し自体が主張です — ステップ0のバージョン対応コマンドルールに従って確認してください。
ステップ0 — 常に最初に:環境発見
バージョンやパスを決して推定しないでください。インストール/ライセンスされているものを見つけ、次にプラットフォーム + 物理 + QoIを確認します。
Get-ChildItem "C:\Program Files\ANSYS Inc" -Recurse -Filter "ANSYS*.exe" -ErrorAction SilentlyContinue | Select FullName # MAPDL/Mechanical/Fluent/CFX
Get-ChildItem "C:\Program Files\Siemens" -Recurse -Include "nastran.exe","run_journal.exe","tmgnx.cmd","ugraf.exe" -ErrorAction SilentlyContinue
Get-ChildItem "C:\Program Files" -Recurse -Filter "abq*.bat" -ErrorAction SilentlyContinue # Abaqus; also `which icem`, OpenFOAM `foamVersion`
$env:ANSYSLMD_LICENSE_FILE; $env:LM_LICENSE_FILE
(Get-CimInstance Win32_Processor | Measure-Object NumberOfCores -Sum).Sum # PHYSICAL cores
Linux: ansysNNN -b、nastran、abaqus、simpleFoam、fluent -g;$LM_LICENSE_FILE、nprocを確認。
バージョン対応コマンド(ルール): 検出されたリリースに存在することを確認していないソルバーコマンド、フラグ、またはAPI呼び出しを決して発行しないでください — バージョンはフラグを改名し、APIをドリフトさせます。特にENGINEERING/SIGNOFFでは、それに依存する前にインストールされたバージョンの-help/ドキュメントで確認してください。
正規ワークフロー(順番に実行)
- 目的 + QoI — 判断を駆動するスカラー(マージン、たわみ、周波数、ピークT、抗力)。「モデルを実行する」ではない。
- 解析タイプ — 静的/モーダル/座屈/熱/CFD/連成;線形 vs 非線形(材料?大たわみ?接触?乱流?)。
- 理想化 (最も重要) — 1D/2D/3D;対称性はジオメトリ および 荷重 および 境界条件が対称な場合のみ;無関係なフィーチャを除去。→
references/meshing-convergence.md。 - 材料 — 正しい構成モデル;温度依存特性;極低温では ∫α(T)dT を使用。→
references/material-modeling.md。 - メッシュ — 要素次数/ファミリー、集中部での refinement、品質ゲート。→
references/meshing-convergence.md。 - 接続と接触。→
references/mechanical-connections.md、references/thermal-contact-resistance.md。 - 境界条件と荷重 — モデルの次元性/タイプに適した剛体モードのみを除去(拘束されていない3Dソリッドは6つ;2D、軸対称、シェルのみ、周期対称モデルは異なる);現実的な面積上の荷重(決して集中荷重/拘束 → 特異点);自由物体には慣性解放。→
references/advanced-methods.md。 - ソルブ制御 — ソルバータイプ、コア数、サブステップ + 許容値。→
references/solver-numerics.md。 - 検証 — 平衡、メッシュ/タイムステップ独立性、収束履歴。→
references/vv-uq.md。 - 妥当性確認 — 試験 / 手計算 / NAFEMSベンチマークと比較(較正 ≠ 妥当性確認)。
- 後処理とレポート — 正しい尺度、平均化 vs 非平均化チェック、マージン、記述された前提。
一貫単位系(ONEシステムを選択;ソルバーは単位なし)
| システム | 長さ | 力 | 応力/E | 質量 | 密度(鋼) | g |
|---|---|---|---|---|---|---|
| SI (m) | m | N | Pa | kg | 7850 kg/m³ | 9.81 m/s² |
| mm-t-s(一般的CAE) | mm | N | MPa | tonne | 7.85e-9 t/mm³ | 9810 mm/s² |
密度は静かな破壊者: 誤った単位の密度は静解析を通過しますが、すべての動解析/陽解法/過渡熱結果を壊します。MAPDL /UNITS はメタデータのみです。1g質量チェックまたは手計算の固有周波数で検証してください。
要素選択とメッシュ品質(詳細:references/meshing-convergence.md)
- 二次要素(中間節点あり)を応力/曲線ジオメトリ、特にテトラ要素で使用 — 応力解析では線形TET4を避ける(一定ひずみ → 過剰剛性、応力収束が遅い;QoIから十分離れた充填材としてのみ許容可能)。陽解法/大変形には線形要素。 (せん断ロッキングは曲げを受ける完全積分線形四辺形/六面体要素に固有の問題 — 寄生せん断;低減積分、非適合モード、または二次要素で修正 — TET4の一定ひずみ剛性と同じ欠陥ではない。) 現代の二次ソリッド要素は、開始点として厚さ方向に約1要素で緩やかな曲げを解決します(曲率駆動 — 収束で確認);線形要素は数要素必要で、精度重視の曲げでは二次要素を2以上推奨。
- シェルは厚さ/長さ ≲ 1/10–1/20の場合;3D応力/厚さ方向にはソリッド;細長いものにはビーム。シェアを考慮。
…
[翻訳のため省略]