メッシュPillowing

Mesh Pillowingは、閉じたメッシュの境界周囲に要素の層(pillow)を挿入するメッシュ細分化手法です。選択した要素集合の外側境界を維持しながらメッシュ品質を改善できます。外側境界から指定距離に均一な境界層を挿入したり、穴の周囲に要素リングを挿入したりする処理を短時間で実行できます。

図1:単一のHex要素にPillow操作を適用する前(a)と後(b)。右端(c)は、前面をthrough surfaceに指定したPillow操作を示します。

通常のPillow操作では、処理対象を定義する要素集合(shrink set)を選択します。shrink setの外側境界にある要素を集合の中心方向へ縮小し、元の境界と縮小後の境界の間に新しい要素を作成します。これらの新しい要素がshrink setの周囲にpillowを形成します。図1a、1bは単一のHex要素に対する例です。Geometry Surfaceまたはメッシュ要素のFaceは、 through surfaceとして指定できます。この場合、pillowは指定したSurfaceを通過して延長され、そのSurfaceに沿って新しい要素は作成されません。図1cは、単一Hex要素の1面をthrough surfaceに指定した結果を示します。

領域の形状によってはshrink setが有効にならない場合があります。shrink setの外側節点が中央へ移動するとき、適切なGeometryとの関連付けを維持できなければなりません。Vertex上の節点はCurveに沿って、Curve上の節点はSurfaceに沿って移動する必要があります。外側節点が移動し得るCurveやSurfaceが複数あると所属先が曖昧になり、Pillow操作は失敗します。

任意指定の distance keywordに値を指定すると、各境界要素をshrink setの中心方向へ縮小する距離を手動で制御できます。distanceを指定しない場合は各要素について適切な値が計算されます。distanceを指定した場合、新しく作成された節点は既定で位置が固定されます。そのため、新しいHex要素の節点位置を変えずにメッシュをスムージングできます。任意指定の unfix_nodes keywordを使用するとこの既定動作が変更され、smooth操作によって新しく作成された節点位置も変更されます。既定では、任意指定の no_smooth keywordを使用しない限り、Pillow操作後に自動的にsmooth操作が実行されます。

2次元Faceの集合の周囲にpillowを作成するための同様のコマンドも用意されています。

構文:

Pillow Hex <ids> [ Through { [Surface <ids>][Face <ids>][Tri <ids>] } ] [ Distance <value> ] [ Unfix_nodes ] [ No_smooth ]

Pillow Face <ids> [ Through Curve <ids> ] [ Distance <value> ] [ Unfix_nodes ] [No_smooth]

図2:Pillow操作を使い、メッシュ境界から指定距離に整列した節点を作成した例。