メッシュ品質 — CAE用語解説
メッシュ品質
先生、メッシュ品質って具体的に何を見ればいいんですか?
理論と物理
メッシュ品質の物理的意味
「メッシュ品質が悪いと結果が不正確になる」とよく聞きますが、具体的に物理的に何が起きて不正確になるんですか?
良い質問だ。例えば、構造解析で歪んだ四角形要素を使う場合を考えよう。要素内の変位は形状関数で補間されるが、要素が極端に歪んでいると、形状関数の導関数、つまりひずみの計算が狂う。具体的には、ヤコビアン行列の行列式がゼロに近づき、ひずみエネルギーの過小評価につながる。これが応力集中部で起きると、実際より大幅に低い応力を示してしまう。
形状関数の導関数が狂うとは、具体的にどういう数式で表現されるんですか?
自然座標系(ξ, η)から実座標系(x, y)へのマッピングを考える。変位の実座標系での微分は、
CFDではどうですか? 流れの計算でも同じ問題が起きますか?
起きるが、メカニズムが少し異なる。特に重要なのは「数値拡散」だ。例えば、風上差分法では、流れの方向に対して要素が極端に歪んでいると、人工的な粘性が過大評価され、渦やせん断層が実際より早く減衰してしまう。また、圧力と速度の連成を解くSIMPLE法などでは、メッシュの非直交性が強すぎると、圧力補正方程式の係数行列が悪条件になり、発散したり収束が極端に遅くなったりする。
数値解法と実装
品質指標とその計算
メッシュ品質を評価する「アスペクト比」や「スキュー角」といった指標がありますが、これらはソルバー内部で実際にどう使われているんですか?
多くのソルバーは、要素剛性マトリクスや質量マトリクスを組み立てる前のプリプロセス段階で、これらの指標をチェックし、警告を出す。しかし、計算そのものには直接使わない。ただし、Ansys Mechanicalのイテレーション収束履歴を見ると、「悪条件のため、求解に反復解法ではなく直接法を使用しました」といったメッセージが出ることがある。これは要素形状が悪くて全体剛性マトリクスの条件数が悪化し、反復ソルバー(PCGなど)が収束しないため、計算コストは高いが数値的に安定な直接法(スパーソルバー)に切り替わったケースだ。
四面体要素の品質指標で「ジョコビアン」というのを聞きました。あれはどう計算するんですか?
四面体要素の各積分点(通常は頂点やガウス点)でヤコビアン行列の行列式を計算し、その最小値と最大値の比をとる。理想的な正四面体では全ての点で値は同じだから比は1。要素が歪むと、ある点では|J|が大きく、別の点ではゼロに近くなる。比が0.1を下回ると多くのソルバーで警告、0.01を下回るとエラーになることが多い。Abaqus/Standardのデフォルトのチェック基準はまさにこれだ。
六面体要素だと、もう少し複雑な指標がありますよね。「歪み」や「ワーピング」とは?
六面体は2次元の四角形が面を構成する。ワーピングは、その四角形面が同一平面上にない度合いだ。例えば、四角形の4頂点がねじれて「ひし形」ではなく「蝶ネクタイ」のようになっている状態を想像してほしい。これを評価するには、面を2つの三角形に分割し、その法線ベクトルのなす角を計算する。Ansys ICEM CFDでは、ワーピング角が5度以下が推奨、15度を超えると品質不良とされる。歪み(Skewness)は、要素内の最適な内接円・外接円の中心からのずれで定義されることが多い。
実践ガイド
品質チェックのワークフロー
実際の解析プロジェクトで、メッシュ品質をチェックする具体的な手順はどうすればいいですか? いきなり全部の指標を見るのは大変です。
優先順位をつけた段階的チェックが有効だ。まず第一段階:ソフトウェアの自動チェック機能を使う。Ansys Meshingなら「Mesh Metric」で「Element Quality」のヒストグラムを見て、0.1以下の要素が存在しないか確認する。次に、幾何学的にクリティカルな箇所(リブの付け根、小さな穴の周り、接触面)を重点的に可視化チェックする。ここで歪んだ要素を見つけたら、局所的にリメッシュだ。
「Element Quality」が0.1という閾値は、どうやって決めればいいんですか? 常にこの値でいいんですか?
いいえ、解析の種類と使用する要素タイプで変わる。一般的な構造静解析(線形、弾性)では0.1でも許容されることが多いが、非線形解析(塑性、接触)や固有値解析(座屈、振動)ではより厳しい基準が必要だ。例えば、Abaqus Explicitのマニュアルでは、減衰に関連する安定な時間増分を確保するために、非常に歪んだ要素を避けるよう警告している。CFDのLES(Large Eddy Simulation)では、渦の分解能に直接影響するので、スキュー角はせいぜい60度以下に抑えたい。
どうしても品質の悪い要素が局所的に残ってしまう場合、その影響を評価する方法はありますか?
2つの実践的な方法がある。1つは「メッシュ感度解析」:その領域のメッシュを一段階細かくして(リファインメント)、結果(応力、熱流束など)の変化が例えば2%以内に収まるか確認する。もう1つは「結果の局所的可視化」:品質の悪い要素の周辺で、応力や温度勾配が不自然に振動していないか、滑らかな分布になっているかを確認する。もし異常な「ホットスポット」や「コントアのギザギザ」がその要素だけにあるなら、その結果は信用できない。
ソフトウェア比較
各ソフトの品質基準とツール
Ansys、Abaqus、COMSOLなど、ソフトによってメッシュ品質のチェック基準やツールに違いはありますか?
大きな違いがある。まず指標の定義だ。Ansysは「Element Quality」という0から1の総合指標を多用するが、これは歪み、アスペクト比、ワーピングなどを組み合わせた独自の計算式に基づく。一方、Abaqus/CAEは「Verify Mesh」ツールで、歪み(Skewness)とアスペクト比(Aspect Ratio)を個別に、かつ非常に細かい分布でレポートする。COMSOLは「メッシュ統計」で「最小要素品質」「要素体積比」などを表示し、品質が低い要素を直接選択して可視化する機能が強い。
自動メッシャーでの品質コントロール機能はどう違いますか?
Ansys Fluent Meshingの「Watertight Geometry」ワークフローでは、メッシュ生成時に「Size Function」で急峻な勾配を設定し、小さな隙間でメッシュが極端に細長くなるのを防ぐ。Abaqus/CAEの「Advancing Front」オプションは、メッシュ生成アルゴリズムそのものが比較的均一な要素を生成しやすいが、複雑な幾何学では失敗しがちだ。COMSOLの「フリー四面体メッシュ」は「細かい要素のサイズ分布」パラメータを調整でき、これにより大きい要素と小さい要素の体積比を制限し、急激な移行を防いでアスペクト比の悪化を抑制できる。
有償の専用メッシュ生成ソフト(例えば、PointwiseやHyperMesh)は、なぜ品質管理が優れていると言われるんですか?
主に2点ある。第一に、高度な手動編集ツールが充実している。HyperMeshの「smooth」機能は、要素の節点位置を隣接要素の形状を考慮しながら最適化し、ジョコビアンを改善する。第二に、業界・解析タイプに特化したテンプレートや基準を持っている。Pointwiseは航空宇宙CFD向けに、境界層メッシュの最初の層の高さや成長率を厳密に制御し、壁面せん断応力の計算精度を確保する。これらは汎用CAEソフトの標準メッシャーでは難しい、きめ細かい制御が可能なんだ。
トラブルシューティング
よくあるエラーと対策
解析を実行したら「Negative Jacobian」や「Zero or negative volume」というエラーが出ました。これは具体的にどの要素の、どんな形状が原因なんですか?
「Negative Jacobian」は、要素が裏返し(inverted)になった状態だ。例えば、四角形要素の1つの内角が180度を超え、凹状になった場合に発生する。ソルバーがその要素の積分点でヤコビアンを計算すると、行列式が負になる。これは大変な問題で、物理的にあり得ない状態を意味する。ログファイルやエラーメッセージに通常は要素番号が出力されるので、その要素を可視化しよう。多くの場合、大きな変形を伴う非線形解析で、初期メッシュは良くても、変形途中で要素が押しつぶされて裏返しになる「メッシュの絡み」が原因だ。
その「メッシュの絡み」が起きそうな場合、事前に防ぐ方法は?
いくつかの対策がある。第一に、Abaqus/Explicitなら「アーティフィシャルストレインエネルギー」を少量加えて、要素が極端に歪むのを防ぐ。第二に、Ansys Mechanicalの非線形接触設定で「自動メッシュ管理」をオンにし、変形に応じてメッシュを再生成する「リメッシュ」を許可する。第三に、そもそものメッシュを、変形方向に対して十分な層を持つ構造化メッシュ(マップドメッシュ)で作成する。これらは、ゴムシールの圧縮解析や金属の大変形加工シミュレーションで必須のテクニックだ。
収束が非常に遅い、または発散する場合、メッシュ品質が原因だとどうやって切り分けますか?
まず、線形ソルバーの反復回数と残差のログを見る。Ansysの場合、/STATUS,CMD コマンドで詳細なソルバーログを出力できる。もし「条件数が悪い」というメッセージや、反復回数が最大値に張り付くようなら、メッシュ品質を疑う。次に、モデルを単純化してテストする。例えば、材料を線形弾性に、接触を単純支持に変えて実行する。それで収束すれば、非線形性ではなくメッシュ品質が原因の可能性が高い。特に、塑性や超弾性のような材料非線形性は、歪んだ要素での応力計算誤差を増幅するからだ。
インポートした他社製メッシュ(STLやNASTRAN形式など)の品質が悪かった場合、修正する現実的な方法は?
3つのアプローチがある。1. リメッシュ:Ansys SpaceClaimやFusion 360などのCADソフトで、インポートしたサーフェスメッシュを一旦「デザインサーフェス」に変換し、そこから改めて高品質なメッシュを生成する。2. 平滑化:HyperMeshの「smooth」機能や、オープンソースのMeshFixのようなツールで、節点位置を調整してジョコビアンを改善する。3. フィルタリング:品質の閾値を設定し、悪い要素だけを自動的に削除した後、その穴をパッチングする。ただし、この方法は幾何学的な特徴(小さなエッジなど)も失う可能性があるので注意が必要だ。
関連トピック
なった
詳しく
報告