メッシュスケーリング

Cubitはスケールをサポートする ヘクサンダー そして、 テトラヘドラ メッシュメッシュスケールは、一連のメッシュがソリューションの接近研究やその他の目的のために構築されることを可能にします。 それぞれのメッシュには、徐々に大きい、あるいは小さな要素があります。 たとえば、入力メッシュが10,000ヘクサヘラを持っている場合、2.0の複数でスケールすると、約20,000ヘクサヘラのメッシュが発生し、要素の方向性とサイズの程度は、図1で見られるように、オリジナルと同じです。 追加のメッシュは、オリジナルのメッシュを4、6、8等の複数でスケールすることによって構築することができます。 1.0 未満の値でスケールすると、より少ない要素を含むメッシュが生成されます。 ネガティブな値でスケールすることは許されません。 伝統的なグローバルな細分化が使用される場合よりも、コンバージョン研究は、シリーズの各段階で要素の増加が小さくなる可能性があるため、より低い計算コストで行うことができます。

Figure 1.

コマンド構文

scale mesh [volume <ids>]

[multiplier <value, default=2.0>]

[minimum <value, default=1>]

[{SWEPT_BLOCKS | legacy | maintain_structure}]

[feature_angle <value>]

[force_structured in {[volume <ids>] [surface <ids>]}]

[thin_gap_intervals <value, default=2>] [fix_all_gaps]

[max_aspect_ratio <value> in volume <ids>]

[max_feature_length <value, default=30>]

[smooth_volume {ON|off}]

コマンドオプション

scale mesh [volume <ids>]

ボリュームのリストを指定することはオプションです。 デフォルトでは、すべてのボリュームがスケールされます。 六面体要素メッシュスケールの場合、指定されたボリュームは、それらと合併したあらゆるボリュームとともにスケールされます。 四面体要素メッシュスケールは、指定されたボリュームのみをスケールし、共有されたメッシュの境界線を、参加しないボリュームと保存します。 このアプローチでは、個々の組み立て部品がスケールされ、モデル全体をスケールすることなくスケールすることができます。

[multiplier <value, default=2.0>]

出力要素のターゲット番号は、入力要素の時数です。 複数 パラメーターデフォルト値は2.0. 例えば、図2aのメッシュには3025六面体要素の要素があります。 スケールを 2.0 にした後、図 2b のメッシュには 6804 六面体要素があります。 新しいノードの位置は、関連するCADのジオメトリに横たわるように設計されています。

Figure 2a. Input mesh of 3025 hex elements.

Figure 2b. Output mesh of 6804 hexes,

after scaling with a multiplier of 2.0.

四面体要素メッシュスケール

Tetmeshのスケールは、オリジナルの四面体要素メッシュを使用して、背景サイズメッシュとして、それぞれのノードのサイズで、望ましいスケール要因を達成します。 四面体要素のメッシュスケールに関連する唯一のコマンドパラメーターは、 複数 パラメーター他のすべては六面体要素メッシュスケールに使用されます。

六面体要素メッシュスケール

Hex Mesh Scalingは、すべての要素を同じ方法で細分化する必要がないため、テンプレートベースのグローバル細分化より柔軟です。メッシュ全体をより大きなhexの"block"へ分解し、そのblockを細分化します。これにより、テンプレート細分化では不可能な1.5倍のような小さな倍率で要素数を増やせます。一方でテンプレート細分化と同様、メッシュ全域を確実に細分化することもできます。これらの特性は解の検証に有用です。

従来のテンプレートベース細分化では、各六面体を2x2x2の構造六面体グリッドに置き換えるため、要素数は8倍になります。一方、Hex Mesh Scalingでは要素の"block"を細分化します(Exodus element blockとは別物です)。block decompositionはメッシュ全体をstructured(mapped)blockとswept blockへ分割します。1つのblockは多数の要素を含められますが、ジオメトリ境界、境界条件、荷重制約をまたぐことはできません。たとえばblock内部にカーブやnodesetを含めたり、複数のExodus blockに属するhex要素を含めたりできません。blockはstructuredまたはlogical sweepにできます。structured blockはMxNxOのhexグリッドに制限されるため、4本のエッジを持たないサーフェスノードなどによって範囲が制約されます。Hex Mesh Scalingはblock decompositionに適合するようモデル全体を再メッシュし、元メッシュをscale factor倍したサイズ関数として使用します。

六面体要素スケールメッシュコマンドオプション

[minimum <value, default=1>]

☆ ☆ ☆ ☆ 最低限 このパラメータは細分化レベルをさらに制御します。各block-curveへ追加する最小interval数を指定します。指定すると 最低1デフォルトは、ドメインの各部分が少なくとも少しずつスケールされていることを保証する、すべての3方向の各要素のブロックに少なくとも1つのインターバルが追加されることを保証します。 これを「解除」することができる。 最低 0.

細分化と調節レベル

マルチファイヤーは六面体要素の出力のターゲット番号を決定します。 正確に達成されることを保証することはありません。 なぜなら 最低 0 小さな複製器では、すべてのブロックがすべての3方向で精製されるという保証はありません。 これは要素のターゲット数が最初に達成される可能性があるからです。 これは、不均衡に分配された細分化を引き起こし、関連する要素の大きさでジャンプする可能性があります。

不平等な分布は、隣接するブロックがMxNxOのインターバルが大きく異なる場合にも発生する可能性があります。 遺産 オプションたとえば、6x10x12のブロックに隣接する1x10x12のブロックの場合、メッシュスケールは2x11x13と7x11x13のブロックを出すことができた。 最初のブロックの M 値は 2 / 1 を倍増し、2 番目のブロックの M 値は 7 / 6 のみを増加させた。 したがって、ユーザーは隣接するエッジの長さでジャンプを見ることができます。

メッシュを割り当てるには、1人未満の複数を指定します。 たとえば、0.9 の複数が要素の数を 10 % 減らそうとします。 ブロックの各側にはインターバルがある。 減少 最低値で。 ブロックには少なくとも1つのインターバルがなければならないので、メッシュがどこまで接続できるかは、メッシュの違法性、ジオメトリ、境界状態、負荷制限の間の距離によって制限されます。

ソリューション確認

メッシュスケーリングはソリューションの検証に役立ちます、それは簡単に同様のメッシュのシリーズを生成することができるので、増加するメッシュ密度。 最良の結果を得るには、シリーズのすべてのメッシュをスケールする代わりに、シリーズの以前のメッシュをスケールすることによって、シリーズのすべてのメッシュを生成します。 それぞれのメッシュが使用されることを推奨しています。 複数 少なくとも2倍の大きさで、 最低限 少なくとも前回のメッシュよりも1つ以上。 小さな複製器だけでは、ソリューションの検証に十分な変更を生み出すことは不可能です。 ☆ ☆ ☆ ☆ 最低限 特に、最初に厳しい地域の変化を確保するのに役立ちます。 素晴らしいセット(複数、最小限パラメーターは以下の通り。

(2X, 1) (4X, 2) (8X, 3) (16X, 4), (prior *2, prior +1), etc.

大きい 最低限 質の問題を引き起こし、あまりにも多くの要素を生み出すことができます。 例えば、The 最低限 パラメーターシリーズ (2X、1) (3X、2) (4X、3) (5X、4) (6X、5) (7X、6) (8X、7) など あまりにも攻撃的であろう。 それは、指定された複製器よりも多くの要素を生成し、潜在的に「要素品質」が悪い、あるいはメッシュのスケールの失敗を引き起こす。 ゆっくり増加するマルチファーのセットでは、少なく攻撃的な最低シリーズが推奨されます。

(2X, 1) (3X, 1) (4X, 2) (5X, 2) (6X, 2) (7X, 2) (8X, 3) etc..

[{SWEPT_BLOCKS | legacy | maintain_structure}]

block decompositionには主に3種類の方式があります。違いを理解するには、まず"structured" blockと"swept" blockの2タイプを理解する必要があります。structured blockはMxNxOの構造グリッドです。swept blockは単一volumeの一部をsingle-sourceからsingle-targetへsweepしたもので、1枚のquad surfaceを複数layer投影してhexを形成します。

ブロックの解体オプションは、 swept_blocks (デフォルト) maintain_structure そして、 遺産」 なぜなら 遺産構造化されたブロックのみが使用されます。 なぜなら swept_blocks そして、 maintain_structure解体は、論理的な解体が特定され、構造化されたブロックが異なり、どこでも大きなブロックを構築する。 主な違いは、 swept_blocks ソースサーフェスのスイートブロックをスクラッチから返します。 対照的に、 maintain_structure 各分割はブロックを構造化されたブロックに浸し、それらのブロックを選択的に細分化する。 こんな感じ swept_blocks 異常なノードの数と相対的な位置を変更することができる。 maintain_structure 彼らを同じように保つ。

典型的に、 swept_blocks そして、 maintain_structure スムーザーを提供し、より平等に分配された精製品を提供します。 遺産」 なぜなら、ブロックが溶けると、通常、分解のブロックが大幅に少なくなるからです。 より少ないブロックを持つことによって、それぞれのブロックが少なくともいくつかの細分化を受け取る可能性が高まります。

しかし、 遺産 そして、 maintain_structure 要素の方向性と構造をオリジナルのメッシュに近づける。 swept_blocks」 これは、構造化されたブロックが不規則なノードを維持しているからです。

頻繁に maintain_structure 要素の両方の方向を、オリジナルのメッシュとスムーザーに近づき、より平等に分配された細分化を提供します。 構造化されたブロックは、方向性と構造を維持しています。 そのブロックは、変化を分配する自由を提供し、その構造化されたブロックを通してメッシュを柔らかくする。

[force_structured in {[volume <ids>] [surface <ids>]}]

いくつかの場合、ユーザーはモデルのいくつかの部分にのみブロックを使用したいかもしれません。 オリジナルのメッシュには、慎重に構築されたメッシュを持つ小さな地域が含まれます。 利用 swept_blocks これらの構造を破壊し、paveとsweepのメッシュに置き換えることができる。 これらの構造は、特定によって保存することができる。 force_structured それらを含むサーフェスとボリュームのために。

例として図3、4、5を参照してください。図3では、穴周辺に構造メッシュを確保するためsurface 108を慎重にメッシュ生成し、surface 34にはpavingを使用しています。surface 108には不規則ノードがあるため、Mesh Scalingにはswept blockのsource surfaceとして認識されます。図4は次のコマンドによる結果メッシュを示します: 「スケール・メッシュ・マルチ2」」 穴の周りの構造化されたメッシュが標準的なメッシュで置き換えられたことに注意してください。 図5はサーフェス108の構造化された穴を保存し、サーフェス34を再掘り起こすことを示しています。 コマンドは、 「スケールメッシュマルチ 2 force_structured in サーフェス 108」」 別のメッシュがコマンドから生じるだろう。 scale mesh multi 2 force_structured in volume 1 なぜなら、これはまた、不規則なノードをサーフェス34で保存し、より多くのブロックと、より柔らかいメッシュをもたらすからです。

Figure 3. Input mesh. Surface 108's mesh has desired structure and irregular nodes. Surface 34 contains a paved mesh.

Figure 4. Output mesh from the command "Scale Mesh Multi 2". The mesh on surface 108 is replaced with a paved mesh.

Figure 5. Output mesh from the command "Scale Mesh Multi 2 force_structured in Surface 108". The desired features are maintained, while swept blocks are used in unimportant regions.

[thin_gap_intervals <value, default=2>] [fix_all_gaps] [max_feature_length]

をインポートする際のfeature angleオプションと同じです。 maintain_structure オプション、その thin_gap_intervals パラメーターは、薄い格差がどのように定義されているかを決定します。 サーフェスの2つの分離されたカーブが近づく場合、その間のスペースは、そのスペースを越えるインターバルの数が最大である場合、「薄い距離」とみなされます。 thin_gap_intervals」 メッシュスケールは、薄い範囲内でインターバルを追加することを優先します。 デフォルトとして、その立場は いくつか ノードは薄い間隔内で固定され、スケーブルを減らすのに役立ちます。 ☆ ☆ ☆ ☆ fix_all_gaps オプションの修正 すべて ノードは薄い空白で。 「フィーチャャー」、e.g カーブと「空白」は、より長い max_feature_length インターバルは複数の「フィーチャ」に分けられます。 これは、スケーブルを減らすのに役立つ「フィチャ」沿いの追加のノードを固定する結果です。

一般的には、 maintain_structure 他のアルゴリズムよりもスムーザースケールされたメッシュを生み出すべきだが、時にはスケールされた要素にいくつかのスケールを導入することができる。 スケッチがスケッチによって導入された場合 maintain_structureあるいは増やしてみてください。 thin_gap_intervals パラメーター、仕様 fix_all_gaps減らすことによって、 max_feature_length パラメーター、あるいは3つ。

[feature_angle <value>] [max_aspect_ratio <value> in volume <ids>]

☆ ☆ ☆ ☆ feature_angle そして、 max_aspect_ratio オプションはブロックの形成に影響します。 これらはアルファ、実験的なコマンドです。

[smooth_volume {ON|off}]

もし smooth_volume ボリュームのメッシュは、低品質の要素と、オリジナルのメッシュより低品質のメッシュの後プロセスとして柔らかくなります。 デフォルトでsmooth_volumeが表示されます。