メッシュ生成 — CAE用語解説
メッシュ生成
先生、メッシュ生成ってCAEの前処理で一番時間がかかりますよね?
理論と物理
メッシュの理論的基礎
メッシュとは、具体的に何を離散化しているんですか?単に形を細かく分けているだけですか?
物理場の「連続関数」を離散化しています。例えば、構造解析での変位
節点の数が多ければ多いほど精度が上がるのはなぜですか?
有限要素法では、要素内の物理量の変化を「形状関数」で近似します。例えば1次要素では線形、2次要素では2次関数で近似します。要素が大きいと、複雑な変形や温度勾配をこの単純な関数で表現しきれず、誤差(離散化誤差)が生じます。節点を増やして要素を細かくすれば、より複雑な物理場も区分的に良く近似できるため、理論的には厳密解に収束します。これを「h-収束」と呼びます。
形状関数の「次数」とは何を決めているんですか?
要素内での物理量の「変化の仕方」を決めます。1次四面体要素(4節点)では、変位や温度が要素内で線形に変化すると仮定します。これに対し、2次四面体要素(10節点)では2次曲線で変化します。2次要素は、曲率のある変形や急峻な温度勾配をより少ない要素数で表現できるため、効率的です。ただし、要素あたりの計算コストは上がります。Ansys Mechanicalでは、デフォルトで多くのソリッド要素が2次要素(SOLID186, SOLID187)として設定されています。
数値解法と実装
メッシュ生成アルゴリズム
ソフトウェアはどうやって複雑な形状を自動的にメッシュ分割するんですか?
主に2つのアプローチがあります。「テトラヘドラル(四面体)メッシャー」と「ヘキサドラル(六面体)メッシャー」です。四面体メッシャーは、Delaunay三角形分割の3次元版や、Advancing Front法が一般的です。例えば、Siemens Simcenter 3Dの「Fenwick」メッシャーは、表面から内部に向かって要素を前進させていくAdvancing Front法を採用しており、幾何学的に複雑な形状でも比較的安定してメッシュを生成できます。
六面体メッシュはなぜ生成が難しいと言われるんですか?
六面体要素は、隣接する面が直交していることが理想的で、複雑な3D形状全体を歪みの少ない直方体の集合で埋めるのは数学的に難しい問題です。代表的なアルゴリズムである「マッピング法」は、形状を論理的な6面体(立方体)に位相的に写像できる場合にのみ有効です。それ以外の形状では、「マルチブロック分割」が必要で、ユーザーが手動でブロックを切る作業が伴います。Altair HyperMeshの「Morphing」機能は、このブロック編集を支援するツールです。
メッシュの「品質」は数値的にどう評価するんですか?
いくつかの指標があります。四面体要素では「アスペクト比」(外接球半径と内接球半径の比の3倍)が一般的で、1に近いほど正四面体に近く理想的なのですが、実務では3.0以下を目標とすることが多いです。六面体要素では「歪み(Skewness)」や「直角度(Angle Deviation)」を評価します。例えば、Abaqus/CAEでは歪み度合いを0.0(理想)から1.0(悪い)で評価し、0.75を超える要素は警告が出ます。これらの悪い要素は、剛性マトリクスの条件数が悪化し、ソルバーが収束しなくなる原因になります。
実践ガイド
メッシュ作成のワークフロー
実際の解析で、最初にメッシュサイズをどう決めればいいですか?勘ですか?
いいえ、幾何学的特徴に基づいて決めます。まず、最も重要な「最小円弧長」や「最小リブ厚さ」をCADから計測します。例えば、リブの厚みが1.0mmなら、その断面を表現するには少なくとも2〜3個の要素が必要なので、要素サイズは0.3〜0.5mm以下に設定します。また、応力集中が予想されるフィレット部分には、局所的に要素サイズを1/5〜1/10に細かくする「メッシュリファインメント」を行います。Ansys Workbenchの「Sizing」機能では、このような局所制御が可能です。
メッシュを切った後、解析を実行する前に必ず確認すべきことは何ですか?
以下のチェックリストが有効です。
「収束性解析」は具体的にどうやるんですか?手順を教えてください。
関心のある結果(最大応力、最大変位など)がメッシュサイズに依存しなくなるまで細かくする作業です。手順は:
ソフトウェア比較
各ソフトウェアのメッシュ機能特徴
Ansys、Abaqus、HyperMeshでは、メッシュ生成の思想に違いはありますか?
大きな違いがあります。
無料や低価格のCAEソフト(例えばFreeCADのFEMワークベンチやSalome-MECA)のメッシャーは、有償ソフトと比べて何が劣るんですか?
主に3点です。
トラブルシューティング
よくあるメッシュ関連エラー
解析実行中に「Negative Jacobian」というエラーが出ました。これはメッシュのどんな問題が原因ですか?
2次要素(中節点を持つ要素)が極端に歪んでいることが原因です。ヤコビアン行列式が負になるということは、要素の形状が「折り返されている」状態を意味し、座標変換が破綻しています。具体的には、曲がったエッジ上の中節点が、隣接する角節点を結ぶ直線から大きく飛び出している場合に発生します。対策は、1) その要素周辺のメッシュをリファインする、2) メッシュスムージングをかける、3) 問題の要素を1次要素に変更する(Abaqusでは「Reduced Integration」要素を使用する)、などです。
メッシュ生成自体は成功したのに、ソルバーが「The memory required exceeds the available memory」で止まります。メッシュとメモリの関係は?
使用メモリは主に「節点数」と「要素次数」に比例します。例えば、1,000万節点のモデルで、1節点あたり3自由度(構造)の場合、剛性マトリクスだけでも大規模な疎行列になります。2次要素は1次要素に比べ、同じ外形サイズでも節点数が約4倍(四面体の場合)になります。対策は:1) 物理的に不要な細かい特徴(小さなフィレット、ボス)をCADで除去する「デフィーチャリング」を行う、2) 対象領域を対称性を利用して1/2や1/4に減らす、3) ソルバーのメモリ設定(Ansysでは「Total Workspace」)を増やす、4) 並列ソルバー(Distributed Solver)を使用してメモリ負荷を分散する、です。
アセンブリモデルで、部品同士の接触面でメッシュが一致していません。この場合の接触設定はどうするんですか?
メッシュが一致しない接触は「非整合メッシュ接触」として扱います。ほとんどの商用ソフト(Ansys, Abaqus, MSC Nastran)はこれをサポートしています。ソルバーは「マスター面」と「スレーブ面」を定義し、スレーブ側の節点がマスター面のどの要素に属するかを探索して拘束条件を課します。ただし、精度を高めるには、接触面のメッシュサイズを同程度にすることが推奨されます。サイズが極端に異なると(例:10倍)、接触圧力の計算に誤差が生じます。Abaqusでは「Tie」拘束、Ansysでは「Bonded」接触でこの設定が可能です。
関連トピック
なった
詳しく
報告