このナレッジベースの記事では、メッシュ品質のチェック方法と改善方法についてご案内します。
アプローチ
高品質のメッシュは、シミュレーションの精度を確保するために考慮しなければならない最も重要な要素の1つです。この記事では、 Standardメッシャーを例として使用します。
SimScaleでの Standard メッシャー の使用方法については、こちらのページをご覧ください。
以下のトピックについて説明します:
- 全体的なメッシュ品質を定量的に把握するためのMeshing logの確認。
- 不良要素を特定するための Mesh quality 機能の使用。
- メッシュ品質を向上させるための手動メッシュ細分化の使用。
上の図は例として使用する初期メッシュです。
1.メッシュ生成ログ
まず、メッシュを生成します。メッシュが生成されると、 Meshing Log で メッシュの品質を見ることができます。Meshing Logは シミュレーションツリーの Mesh 設定の下にあります。
Meshing Logには、生成されたメッシュの統計的な結果が表示されます。これらの結果はメッシュ・メトリクスとして記載され、これらのメトリクスはメッシュ・タイプによって異なります。これらの値はシミュレーションの結果に影響するため、監視する必要があることを覚えておくとよいでしょう。以下はメッシュの品質をチェックし、改善する際のベストプラクティスの参考となる値です:
- tetAspectRatio:\(\ll \) 100
- Non-orthogonality:\(\ll \) 75
- tetEdgeRatio:\(\ll \) 100
- VolumeRatio:\(\ll \) 100
上の図は、 最大体積比が 93なので、メッシュの品質が悪いことを示しています。さて、品質の悪いメッシュを識別する方法はわかりましたが、その原因は何でしょうか、また品質の悪い要素はどこにあるのでしょうか?それを見つけましょう。
2. Mesh quality機能
Mesh qualityは SimScaleの機能で、要素の品質を視覚化します。この機能はMeshing logの下にあります。この例では、体積比の最大値を減らすことだけに焦点を当てます。
2.1 結果
体積比を可視化するには、次のようにします:
- Results をクリックします 。
- Volume ratioを選択します。
青色で表示されているものは、領域全体の体積比が小さいことを示しています。しかし、現在のビューではサーフェス要素しか表示できません。品質の悪い要素を見つける最良の方法は、それらを分離することであり、これを行うには Isovolumes を使用します。
2.2 Isovolumes
Isovolumesは 、Volume ratio (体積比)が定義された範囲に含まれる要素を分離するフィルタとして機能します。この例では、体積比が20から93の間のメッシュセルを見つけます。以下のステップでは、これらの要素を分離する方法を説明します:
- Isovolumesの隣にある + アイコンをクリックします。
- Volume ratio (体積比)の範囲を入力します。この例では、体積比が20~93の要素を特定します。Incompressible (非圧縮性)流体シミュレーションでは、体積比を100以下に保つことが十分です。ここでは、不良要素をより早く特定できるようにするために、下限を下げました。要素の品質は徐々に変化する可能性が高いという前提です。
- 画面上でハイライトされた要素を探します。
上の図では、不良要素が見えますが、その位置を特定するのは困難です。 Transparent Surface Outline Mesh (透明サーフェスアウトラインメッシュ)に 表示を変更し、ズームインすることで不良要素に焦点を合わせることができます。
これで不良要素の位置がわかりました。このような問題は、CADモデルの問題、定義されていないサーフェス、小さな隙間、鋭いコーナーなどが原因で発生することがよくあります。これらの問題に対処する最も費用対効果の高い方法は、CADクリーニングです。
しかし、CADクリーニングを行う機会がない場合は、ドメイン全体のメッシュをリファインするか、不良要素が存在するメッシュのみをリファインすることができます。
3.メッシュ品質の改善
Meshing logはメッシュ品質が悪いことを報告するかもしれません。これは通常悪い知らせですが、必ずしもメッシュが使いにくいという意味ではありません。品質が悪い要素が数個しかなく、それらの要素が流入口や流出口の境界にない場合、おそらくシミュレーションは問題なく動作するでしょう。
メッシュの品質を改善するには2つの方法があります:
- CADのクリーニング : 品質の悪い要素が生成されないようにCADモデルを修正します。例えば、小さなギャップの除去、鋭角の除去、デフィーチャーの除去、小さなフィーチャーの除去などです。
- メッシュ設定 : 品質の悪い要素の生成を防ぐために手動で調整します。例えば、グローバルメッシュ設定を調整し、セルサイズを制御するために手動で微調整を加えます。
メッシュ品質メトリクスは互いに高い相関性があります。つまり、アスペクト比が悪いと、おそらく他の品質メトリクスも悪くなります。したがって、品質メトリクスAspectRatioの最大値を下げることを目指すことが重要です。
アスペクト比の最大値を下げるための有用なヒントを以下に示します。これらの対策が常に機能するわけではないことに留意してください。最良のワークフローは、品質が悪い理由を理解し、それに応じた対策を適用することです:
- Number of layers (レイヤー数)を減らす: 少なくとも1つのレイヤーを使用してください。正しいy+の範囲を目指すのであれば、この対策は無視してください。
- Overall relative thickness (全体の相対的な厚さ) を増やす: 10~60%の範囲に保ちます。正しいy+の範囲を目指すのであれば、この指標は無視してください。
- Growth rate (成長率)を下げる: 1.1~1.5の範囲に保ちます。正しいy+の範囲を目指すのであれば、この指標は無視します。
- Small feature suppression (小さなフィーチャーの抑制)を大きくする: この値はメッシュの最小エッジ長と最小セルサイズを決定します。この値が高すぎるとメッシャーが失敗するので注意してください。
- Gap refinement factor (ギャップ細分化係数)を大きくする: 通常、0.5でメッシュの品質が大幅に向上します。理想的にはこの値を1以上に保ちます。モデル内にかなりの量のギャップ領域がある場合、この値を大きくすると全体のメッシュサイズがかなり大きくなることに注意してください。
6. Local refinement と Region refinement を使って、局所的に最大セルサイズをコントロールする: 例えば、CAD モデル内にサイズ 1\(mm\) のエッジがある場合、この領域に最大エッジ長 1\(mm\) を割り当てます。
7.手動でメッシュを細分化する場合は、セルサイズの割り当てを意識してください。特に、 VolumeRatioを小さく保つために、突然のセルサイズの変更は避けてください。
例: 局所的な細部化
前述の例では、要素の品質が悪い領域がいくつか見つかりました(図5と図6)。SimScaleの自動サイズ調整機能を使ってメッシュサイズを調整することができます。 細かさのレベルを上げると、領域全体のメッシュサイズが徐々に大きくなります。
もう一つの可能性は、Region refinement (領域細分化)を使って問題のある領域のメッシュを細分化することです。以下は、モデルの特定の領域でメッシュを洗練させる方法の例です:
上の図は、ジオメトリ内の面が小さくなっていく問題のある領域を示しています。この面の厚みが小さくなりすぎると、この領域でシャープエッジセルが生成されるため、問題となります。この領域を適切にメッシュ化するには、Region refinement (領域細分化)が必要です。そのために
- Region refinement (領域細分化)を追加します。
- ジオメトリプリミティブ Cartesian box (直方体)を作成します。
- 作成したLocal cartesian box (直方体)を割り当てます。
- Maximum edge length を指定して、適切なセルサイズを領域に割り当てます。
ポンプの流入口で生成されたメッシュが粗すぎることもわかるので、モデル全体の細かさのレベルを上げることによって、これを洗練させることができます。
期待される結果
メッシュを再生成した後、新しいメッシュ品質統計値を持つ新しいメッシュが得られます。
初期メッシュは、一般的なメッシュの細かさの増加だけでなく、領域の細分化によって更新されました。最大体積比が60.240に減少していることがわかります。
リファインメントが適用された領域では、要素サイズが相対的に小さくなっていることも視覚的に観察できます。