Mesh Cleanup

メッシュを作成またはインポートした後、Cubit には手動および自動でメッシュ品質を改善するツールがあります。Mesh Cleanup は、不良要素を自動検出し、Node 位置の再計算(Smoothing)と局所的な要素接続性の再定義の両方によって修正する自動ツールの総称です。メッシュを自動で Cleanup するには、次のコマンドを使用します:

Cleanup {Volume|Block} <id_range> [angle <value=150>]

このコマンドは、以下の説明に従って Tet Mesh または Hex Mesh を Cleanup します。

四面体メッシュのクリーンアップ

四面体メッシュでは、Remesh コマンドの代替として Cleanup コマンドを使用できます。このコマンドでは、既存メッシュを削除して別のメッシュに置き換えるのではなく、Tetmesher が既存メッシュを検証して「最適化」します。

四面体 Volume Mesh を Cleanup するには、次のコマンドを使用します:

Cleanup {Volume|Block} <id_range>

Cleanup コマンドの別形式では、Free Mesh の一部(Volume に所有されていない)または Volume 内の四面体の一部を再メッシュできます。コマンドは次のとおりです:

Cleanup Tet <id_range> [Free]

たとえば、次のコマンド

cleanup tet all free

は、Free Mesh または単一 Volume 内のすべての四面体を集めて三角形の境界サーフェスを生成し、Volume や Block を無視してメッシュを「最適化」します。オプションの free キーワードを指定しない場合、Tet は Volume ごとまたは Block ごとに処理され、隣接する Volume または Block 間の境界は保持されます。

また、次のコマンド

cleanup tet 200 to 300

は範囲 [200, 300] の四面体を集めて三角形の境界サーフェスを生成し、メッシュを「最適化」します。範囲内の四面体が互いに分離している、つまり独立した複数の集合になっている場合、この処理は失敗することがあります。連続した要素集合を指定することを推奨します。

注: 四面体が複数の Volume または Mesh Container に所有されている場合、Cubit はエラーを出します。

六面体メッシュのクリーンアップ

Hex Mesh を Cleanup するコマンドは次のとおりです:

Cleanup Volume <id_range> [angle <value=150>]

Cubit の Hex Mesh Cleanup は比較的新しい機能で、現在検出・修正する不良要素の種類は1つです。現在実装されている Hex Mesh 品質条件は、Hex 要素の Column が Volume 境界上にあり、Column 内の各 Hex が境界上で隣接する2つの Quad Face を持ち、それら2面の二面角が指定された angle 許容値です。この状況を図1に示します。赤色の Hex Column は Source Surface 上では良好な角度ですが、Target 側では180度に近づいて平坦化し、反転 Hex 要素が生じます。この angle パラメータは、Cleanup の対象になるまで角度がどこまで大きくなれるかを決定します。

図1. Hex Mesh Cleanup で処理できるケースを含む六面体メッシュの例。

図2は Hex Mesh Cleanup の結果を示します。Cubit は内部で、不良要素を含む Hex Column と隣接する Hex Column を検出し、自動的にいくつかの Hex Column 操作 に続いて Smoothing を行い、局所的に要素品質を改善します。

図2. 図1のメッシュを Hex Mesh Cleanup した後。