NodeSetとSideSetの指定

拘束や荷重などの境界条件は、次を使用して有限要素モデルへ適用します: ノードセットまたはサイドセットまた「Genesis entity」とも呼ばれています。 特定の境界条件情報、例えば負荷、温度、制限などを維持しようとする代わりに、GENESISエンティティは、モデルに境界条件を設定するための一般的な車両です。 ノード、要素と要素の顔は、代わりにグループ化され、ユニークなIDを割り当てられます。 ノード、要素、エンティティに割り当てられた顔IDは、その後、エンティティに書かれる。 ExodusIIメッシュファイル」 ノードセットおよびサイドセットIDは、意図された分析アプリケーションに輸入された後、特定の物理的限界条件として適切に解釈することができる。

エンティティを作成するための最適な方法は、特定のノードセットまたはサイドセットIDに「頂点」、カーブ、サーフェスまたはボリュームを割り当てることです。 あらゆるメッシュのエンティティ 所有者 ノードセットまたはサイドセットのジオメトリのエンティティによって、自動的に同じノードセットまたはサイドセットに割り当てられます。 これは「有限要素メッシュ」の生成と更新において最大限の柔軟性を可能にします。 たとえば、サーフェスが特定のサイドセットに属する場合、再メッシュはサイドセットから古い顔を自動的に削除し、新しいメッシュの顔を追加します。

いくつかの場合、ジオメトリモデルは、望ましい境界条件を定義するのに十分な解像度を提供しません。 この場合、モデルは、 partition CUBITの使い方 仮想ジオメトリ フィーチャ。これが難しい場合は、メッシュエンティティを目的のnodesetまたはsidesetへ直接追加することもできます。個別のメッシュエンティティをnodesetやsidesetへ追加した場合、メッシュを削除するとGenesisエンティティからもそれらの要素が削除されます。ジオメトリを再メッシュした場合は、新しいメッシュエンティティをnodesetまたはsidesetへ再度追加する必要があります。

ノードセットはノードのグループから作成することができ、ボリューム、サーフェス、カーブまたは「頂点」によって分類されます。 個々のノードがノードセットに追加されることもあります。 ノードは1つ以上のノードセットに属する可能性があります。

サイドセットは要素の側面または顔のグループから作成することができ、それらが所有する「サーフェス」またはカーブまたはそれらの個々の顔IDによって分類されます。 要素の側面や顔も1つ以上のサイドセットに属する可能性があります。

ノードセットとサイドセットの作成

ノードセットとサイドセットは、モデル内の適切なジオメトリまたはメッシュエンティティをノードセットまたはサイドセットIDに割り当てることによってCUBITで作成されます。 以下コマンドが使用できます。

Nodeset <nodeset_id> [ADD|Remove] {Curve | Surface | Volume | Vertex | Node} <range>

Sideset <sideset_id> [ADD|Remove] Group <id_range>

Sideset <sideset_id> [ADD|Remove] {Curve|Surface|Edge|Face|Tri} <id_range>

Sideset <sideset_id> [Add] Edge <id_range> [wrt {{Tri|Face} <id_range> | all } ]

Sideset <sideset_id> [Add] Face <id_range> [wrt {Hex <id_range> | all} ]

Sideset <sideset_id> [Add] Tri <id_range> [wrt {Tet <id_range> | all} ]

Sideset <sideset_id> [Add] Surface <id_range> [wrt {{Volume|Surface} <id_range> | all} ] [FORWARD|Reverse|Both]

Sideset <sideset_id> [Add] Curve <id_range> [wrt {Surface <id_range> | all} ]

要素ブロック、ノードセット、サイドセットのように、任意、ユーザーによって定義されたID番号が与えられます。 ユーザーによって定義されたノードセットまたはサイドセットがない場合は、ExodusII ファイルに書かれていません。

サイドセットでは、方向はしばしば重要です。 サーフェスの場合、方向が指定される場合があります。 前向き, Reverse、または 両方 オプション ☆ ☆ ☆ ☆ 前向き オプションは六面体要素に関してサイドセットをサーフェスの前面のボリュームに書き、それはサーフェスの正常な点から遠ざかるボリュームです。 ☆ ☆ ☆ ☆ Reverse オプションは六面体要素に関連してサイドセットをサーフェスの逆ボリュームに書き、それはサーフェスの正常な点が入るボリュームです。 ☆ ☆ ☆ ☆ 両方 オプションはサイドセットがサーフェスの両側にボリュームに位置する六面体要素に関して書かれることを可能にします。 デフォルトは 前向き」 ユーザーはさらにボリュームを指定し、その六面体要素を参照して取るべき六面体要素を指定することができる。 ボリューム オプション

方向性はサイドセットのカーブにも同様に重要です。 ☆ ☆ ☆ ☆ サーフェス オプションは、ユーザーがサイドセットにサーフェスのどの顔が含まれるかを示すことを可能にします。 ☆ ☆ ☆ ☆ すべてのWRT オプションにはカーブに付属するすべての顔が含まれます。 デフォルトは全てです。

有用なヒント:

ノードセットとサイドセットを作成するとき、それはしばしば使いやすい。 拡張コマンドラインエンティティの仕様」 以下はジオメトリの外側にあるすべてのノードを含むノードセットを作成する例です。

# Create the geometry

Create brick x 10

Create cylinder height 10 radius 2

Move volume 2 z 10

# Merge the geometry

Merge volume all

# Mesh the geometry

Mesh volume all

# Create a nodeset that includes only those nodes

# located on the exterior of the geometry

Nodeset 1 add surface in volume all with not is_merged

次のコマンドは、サーフェスに属するノードセットからノードを削除します。 前回の例から続きます:

# Remove surface 2 from the nodeset

Nodeset 1 remove surface 2

# Remove nodes from the nodeset

# that belong to the curves that bound surface 2

Nodeset 1 remove node in curve in surface 2

ノードは、それらの座標に基づいて追加または削除することができます。 ここでは、すべてのノードを15に等しい z座標で削除する例です。 前回の例から続きます:

# Remove the nodes with a z coordinate equal to 15

Nodeset 1 remove node in surface all with z_coord = 15



ノードセットとサイドセットに名称と説明を割り当てる

ノードセットとサイドセットには名前と説明が割り当てられます。 名前や説明の使用は、伝統的な総合IDを使用するよりも、しばしばより直感的です。 DARTアーティファクトとしてのメッシュを輸出する際には、メタデータに名前と説明が含まれ、SIMBAなどのDARTメタデータを有効にするアプリケーションに利用できます。 ノードセットまたはサイドセットに名前または説明を与えるには、以下のコマンドのいずれかを使用してください。

{Nodeset|Sideset} <ids> Name "<new_name>"

{Nodeset|Sideset} <ids> Description "<description>"

このコマンドは、名前と説明を定義するために使用することができます。 Element Block.

顔をサーフェスでサイドセットに組み合わせる

サイドセットは、以下のコマンドのいずれかを使用して、特定のサーフェスの顔のサブセットから作成することができます。

SideSet <sideset_id> Surface <id_range> Patch Maximum <x> <y> <z> Minimum <x> <y> <z>

SideSet <sideset_id> Surface <id_range> Patch Center <x> <y> <z> Radius <value> [Filter] [Partition]

SideSet <sideset_id> Surface <id_range> Patch Center <x> <y> <z> Outer_radius <value> Inner_radius <value> [Filter] [Partition]

SideSet <sideset_id> Surface <id_range> Patch Cylinder <axis_specification> Radius <rad> [Filter] [Partition]

SideSet <sideset_id> Surface <id_range> Patch Cylinder <axis_specification> Outer_radius <rad> Inner_radius <rad> [Filter] [Partition]

これらのコマンドは、指定された基準を満たす顔のみをサイドセットに置く。

  • 利用する → 最大限 そして、 最低限 オプションにはサーフェスのすべての顔が含まれ、そのセントロイドは、最大点と最小点によって定義された軸調整ボックス内に落ちます。
  • 利用する → center そして、 radius オプションは、セントロイドが中心と半径によって定義された領域内に落ちる「サーフェス」のすべての顔を含みます。
  • 利用する → center, outer_radiusそして、 inner_radius オプションにはサーフェスのすべての顔が含まれますが、そのセントロイドは中心とouter_radiusによって定義された領域内に落ちますが、そのセントロイドは中心とinner_radiusによって定義された領域内に落ちます。 言い換えれば、顔と中心点の間の距離がinner_radiusとouter_radiusの間にある場合に顔が含まれます。
  • 利用する → シリンダー オプションには、無限の長さのサイリンダーに落ちるすべての顔が含まれ、その軸と半径が与えられます。 軸は、表記に記載されているように指定されます。 軸の指定.
  • オプションのinner_radiusを使用すると、指定されたinner_radiusよりも軸に近いセントロイドの顔を排除します。

通常、これらのコマンドは、個々の要素をサイドセットに置きます。 サーフェスのメッシュが削除された場合、要素はサイドセットから削除されます。 サーフェスが放置された場合、新しい要素が自動的にNOTをサイドセットに追加されます。 これは通常、意図された行動です。

もし、The フィルタ オプションが含まれ、サイドセットに要素の単一の接続セットが追加されます。 サーフェスの形状が要素の複数の分離されたセットが指定された領域またはシリンダー領域内に落ちる場合、フィルターオプションはサイドセットに追加された面を中心に最も近いセットに制限します。

利用する → partition オプションはこの行動を変える。 パーティションオプションは、パッチに含まれる顔に基づいてサーフェスを分割させます。 新しく作成されたパッチサーフェスは、個々の要素の代わりにサイドセットに追加されます。 メッシュが削除され、新しいメッシュが生成された場合、パッチサーフェスの新しいメッシュは、他のジオメトリのエンティティがサイドセットに割り当てられたと同様に、自動的にサイドセットに含まれます。

サイドセットパッチコマンドが三角形と四角形の両面で動作することに注意してください。

要素を空白と閉鎖に組み合わせる

☆ ☆ ☆ ☆ sideset start enclosure このコマンドは、入力要素の水密な外皮を構成する要素を含むsidesetを、単調増加するIDで作成します。要素内部に'void'、すなわち要素で囲まれているものの要素自体が存在しない領域がある場合、その閉領域の外皮にもsidesetが定義されます。

Sideset Start <id> Enclosure {Volume|Hex|Tet} <range>

start idは開始するsidesetのIDです。競合するIDがない限りID番号は単調増加します。このコマンドは、入力group内の完全連続領域、tri、またはfaceの数だけsidesetを追加します。放射 enclosureの計算で特に有用です。

ノードセットとサイドセットを削除する

ノードセット、サイドセットおよびブロックは、以下のコマンドを使用してモデルから削除することができます。

Reset Genesis

ノードセットまたはサイドセットのみを削除するには、以下を使用することができます。

Reset Nodeset

Reset Sideset

特定のノードセットまたはサイドセットを削除するには、以下を使用します。

Delete Nodeset <nodeset_id_range>

Delete Sideset <sideset_id_range>

ノードセットとサイドセットの改名

ノードセットとサイドセットの名称コマンドは、ユーザーのニーズに合致するために、これらのエンティティを名称する能力を与えます。 コマンドは、

{Nodeset|Sideset} <id_range> renumber start_id <id> [uniqueids]



例:

仮定:

sideset ids: 1, 2, 4, 6, 10

 

sideset all renumber start 30

改名後:

sideset ids: 30, 31, 32, 33, 34



☆ ☆ ☆ ☆ id_range 既存のノードセットまたはサイドセットを指定するか、それともコマンドが失敗するか。

割り当てられる新しいIDは、既存のノードセットのID(ノードセットを改名する場合)、または既存のサイドセット(サイドセットを改名する場合)を含むことはできません。

たとえば、サイドセットとID100、105、106、および109でコマンドが表示されます。

sideset all renumber start_id 102

サイドセットIDを102、103、104、105に改名しようとする。 サイドセット105が既に存在しているので、コマンドが失敗します。

たとえば、当 uniqueids オプションが指定され、割り当てられる新しいIDは既存のノードセットまたは既存のサイドセットまたは既存のブロックのIDを含むことはできません。 たとえば、ID100、105、106、および109を含むサイドセットと、ID201、202、および203を含むブロックを含むコマンドが与えられると、

sideset all renumber start_id 200 uniqueids

サイドセットIDを200、201、202、203に改名しようとする。 これは既存のサイドセットIDと矛盾しないが、既存のブロックIDと矛盾するので、コマンドが失敗する。

 

ノードセットとサイドセットの転送

下の図に示された能力は、ソースメッシュからサイドセットとノードセットの転送を自動化します。 デザインドメインモデル) ターゲットメッシュ (たとえば. トポロジーの最適化) サイドセットとノードセットの転送は、ユーザーが手動で要素を選択して、ターゲットメッシュに同等のサイドセットを定義する痛みのステップを通過するよう要求されたため、ユーザーに強力でエラーに直面したボトルタックでした。

 

ノードセットとサイドセットを自動的に転送するためのコマンドは以下のとおりです。

transfer nodeset <ids> onto {tri <ids> |face <ids> |tet <ids> |hex <ids> } [tolerance <value> ]

transfer sideset <ids> onto {tri <ids> |face <ids> |tet <ids> |hex <ids> } [tolerance <value> ] [log]

tri <ids> and face <ids> : ターゲットメッシュがサーフェスのメッシュである場合は、トリを使用します。 顔か オプション

tet <ids> and hex <ids>: このオプションは使用することができ、ボリュームメッシュの境界皮のメッシュは自動的に抽出され、それぞれサイドセットとノードセットに皮の要素とノードセットを結びつける。

tolerance <value>: 許容差のオプションは、デフォルトスマートローカル許容差が望ましい結果を出さない場合にのみ使用する必要があります。

ログ: ログオプションはサイドセットの面積をソースとターゲットメッシュと面積の比率で出します。 下のテーブルでは、例の出力が表示されます。 たとえば、area_ratioは、同じ勢力を維持するために圧力の境界条件を調整するために使用することができます。

ログ出力転送サイドセットコマンド

sideset_id old_area ID new_area area_ratio ID
1 56.4843 4.8099 0.09
2 94.2209 68.4337 0.73


下のPythonスクリプトは、既存と新しいコマンドを使用して、ソースメッシュからターゲットメッシュにサイドセットとノードセットを転送することを示しています。

#!python

import cubit

cubit.init(['cubit','-nojournal’])

# STEP 1: メッシュベースジオメトリ(MBG)としてメッシュ源を輸入し、メッシュとブロックを削除します。

cubit.cmd('import mesh geometry "design_domain_mesh.exo" feature_angle 135.00 merge ')

cubit.cmd('del mesh')

cubit.cmd('del block all’)

# STEP 2: ターゲットメッシュをフリーメッシュとしてインポート

cubit.cmd('import mesh "optimized_mesh.exo" no_geom’)

# STEP 3: sidesetとnodesetをソースメッシュからターゲットメッシュへ転送

cubit.cmd('transfer sideset all onto tet all’)

cubit.cmd('transfer nodeset all onto tet all’)

# STEP 4: sidesetを含む最適化済みメッシュをエクスポート

cubit.cmd('export mesh \'optimized_mesh_with_bc.exo\' block all sideset all nodeset all')

ノードセットとサイドセットを表示する

ノードセットとサイドセットは、以下のコマンドを使用してCUBITを通じて個別に表示できます。

Draw NodeSet <nodeset_id_range> [Color <color_spec>] [add]

Draw SideSet <sideset_id_range> [Color <color_spec>] [add]

Nodeset and Sideset colors can also be changed using the following commands:

Color NodeSet <nodeset_id_range> {color|Default}

Color SideSet <sideset_id_range> {color|Default}

Nodeset Associativity Data

ノードセットはジオメトリの関連性データをExodusIIファイルに保存するために使用できます。 このデータは、関連するメッシュを既存のジオメトリと関連付けるために、その後のCUBITセッションで使用することができます。 この機能は、事前に生成されたメッシュとジオメトリを結びつけるために使用することができます(見る) Exodus IIファイルのインポート)またはフィールド機能をジオメトリと関連付け、適応性の「サーフェス」のメッシングのために(見る) アダプティブメッシング).

コマンドをコントロールし、アソシエティビティデータが書かれているか、または「Exodus」IIファイルから読み取られているかどうかを記録するには、次のとおりです。

List Import Mesh NodeSet Associativity

List [Export Mesh] NodeSet Associativity

List [Export Mesh] NodeSet Associativity Complete

set Import Mesh NodeSet Associativity [ON|off]

[set] [Export Mesh] NodeSet Associativity [on|OFF]

[set] [Export Mesh] NodeSet Associativity Complete [On|OFF]

協同性データは、Exodus II ファイルに 2 つの場所で保存されます。 まず、ノードセットは、そのジオメトリに属するノードを含むジオメトリ(頂点、カーブなど)の各部品に書かれています。 その後、それぞれのジオメトリのエンティティの名前は、そのノードセットと関連付けられ、その所有物の名前を書き、そのノードセットをその所有物と指定することによって関連付けられます。 関連性のためのノードセットの番号は、固定ベース番号(ジオメトリのエンティティの順序に応じて)を「ジオメトリのエンティティのID番号に追加することによって決定されます。 ジオメトリエンティティのさまざまなオーダーのベース番号は、以下の表に表示されます。 たとえば、ノードが所有するカーブ番号26は、関連性ノードセット40026に保管されます。

テーブル1 ノードセットIDベース番号ジオメトリエンティティ

ジオメトリエンティティ ベースノードセットID
Vertex 50000
Curve 40000
Surface 30000
Volume 20000

特定のエンティティが所有するノードだけを保存する代わりに、低いエンティティのノードも保存されます。 たとえば、サーフェスの関連性ノードセットには、そのサーフェスが所有するすべてのノードと、結合するカーブと頂点のノードが含まれます。

平等制御分配要因

デフォルトでは、ノードセットまたはサイドセットの分布要因は、各ノードに「1」の恒久値で書かれています。 また、ノードセットまたはサイドセットで各ノードの分布要因を変えることも可能で、各ノードの分布要因の価値を制御する方程式を使用する。 これを行うためには、まずコマンドを使用して方程式を定義する必要があります。

Create Equation "<expression>" name "<name>"

どこで 表現 数学的な表現は、単一の数字に評価されるものであり、 name この方程式が知られる名称です。 この表現はAprepro合成を使用して書かれていますが、通常の文脈におけるAPREPROの使用とは、いくつかの違いがあります。

  1. 全体としての表現は「{」と「}」の曲がった腕に包まれていません。
  2. 表現には、以下の事前に定義された変数のいずれかが含まれる場合があります。

x 現行のノードの x- 座標

y ・現在のノードの「y」座標

z 現行のノードの z 座標

n 現在のノードのCUBITID これは、CUBITのノードのIDであり、ExodusIIファイルのノードのIDとは同じではありません。

例えば、ノードのx_coordinateのシンに基づいて10から10までの方程式を定義するには:

Create Equation "10*sin(x)" Name "my_equation"

方程式が定義された後、ノードセットまたはサイドセットに適用することができます。

Nodeset <id> Distribution Equation "<equation_name>"

Sideset <id> Distribution Equation "<equation_name>"

例えば、以前作成した方程式をノードセットに適用するには10:

Nodeset 10 Distribution Equation "my_equation"

ノードセット10がExodusIIファイルに書かれた場合、my_equationはノードセットの各ノードに対して1回評価され、 x、y、z、nの値がノードの適切な値に設定されます。 結果は、そのノードの分布要因として使用されます。

ここでは、カーブの3ノードの分布要因0.0、0.5、および1.0を記述する完全な例です。

# 直線を作成する (0.0.0) から (1,0.0)

create vertex 0 0 0

create vertex 1 0 0

create curve vertex 1 2

メッシュと「ノード3」

curve 1 interval 2

mesh curve 1

ブロックとノードセットを作る

block 1 curve 1

nodeset 1 curve 1

# 方程式を定義し、ノードセットに適用する

create equation "x" name "simple_eq"

nodeset 1 distribution equation "simple_eq"

メッシュを書く

export mesh "temp.g" overwrite

別の完全な例として、ノードのx座標に応じてsideset 20のdistribution factorを0から1まで変化させます。このsidesetはHEX20要素のsideへ適用されるため、各要素sideには8個の異なるdistribution factorがあります。

メッシュキューブ

brick x 10

mesh volume 1

六面体要素の20ノードのブロックを作成する

block 1 volume 1

block 1 element type hex20

# 変数圧力に使用するためのサイドセットを適用する

sideset 20 surface 1

# 方程式を定義し、サイドセットに適用する

create equation "(x+5)/10" name "zero_to_one"

sideset 20 distribution equation "zero_to_one"

メッシュを書く

export mesh "temp.g" overwrite

配布方程式はExodus II の出力にのみ影響を及ぼす。 方程式は現在、他のメッシュファイルタイプでは無視されています。

見る APREPRO 附属書にて。

ノードセット/サイドセット/ブロック行動とジオメトリエンティティコピー

下のコマンドは、ノードセット/サイドセット/ブロックの拡散のBC(限界関数)の行動を設定するために使用することができ、ジオメトリエンティティがコピーされる。 デフォルト OFF オプションは、コピーされたジオメトリと/またはコピーされたジオメトリのメッシュを含むすべてのBCがBCに含まれていないことを指定します。 ☆ ☆ ☆ ☆ use_original オプションは、新しいコピーされたジオメトリおよび/またはメッシュを既存のBCに追加します。 ☆ ☆ ☆ ☆ で オプションは、コピーされたジオメトリおよび/またはメッシュを含む新しいBCSを作成し、オリジナルのBCSを反映します。

 

set copy_nodeset_on_geometry_copy [on | OFF| use_original]

set copy_sideset_on_geometry_copy [on | OFF| use_original]

set copy_block_on_geometry_copy [on | OFF| use_original]