Box Trimマクロ
Box Trimユーティリティは、モデルまたは選択したサブセットを、選択した3Dボックスにフィットするグローバル軸に沿ってトリムするのに使用します。
例えば、車体モデル全体をY=0の軸に沿ってトリムし、車体の左側または右側を取り出すことができます。トリムしたエッジには、固定の境界条件が適用されます。また、ボックス外の有限要素エンティティが削除され、実行可能なデックになるようにモデルがクリーンアップされます。軸の向きと用語は、自動車業界のモデリングで一般的に使用されているものを基礎にしています。
このオプションは、LS-DYNA、Nastran、Abaqus、OptiStructおよびRadiossユーザープロファイルのみで利用できます。
Box Trimユーティリティは、次のようなさまざまな目的で使用されます:
- このツールは、対称境界条件を使用して1/2(または1/4)モデルで解析が実行できるタイプのアプリケーションを活用する場合に有効的に活用できます。
- より詳細に解析するために、車体モデル全体を1/4または1/2にトリムします。
- 計算時間が非常に長いモデルをトリムします。
- エラーの原因を理解できるよう特定の位置での解析エラーをデバッグするために、モデルをトリムします。
Box Trimユーティリティは、システムレベルでの解析を実行している場合や、車体モデル全体の一部に完全なサブシステムまたは不完全なサブシステムが少ししか含まれない場合に非常に役立ちます。
注: このマクロは1次要素にのみ使用できます。
Trim Boxes
-
UtilityブラウザのGeom/MeshメニューでBox Trimをクリックします。
LS-DYNAまたはNastranユーザープロファイル設定時、警告メッセージが表示されます。これらのプロファイルでない場合は、Box TrimボタンをクリックするとBox Trimダイアログが表示されます。
-
Yesをクリックします。
パネル領域に移動します。
- elemsセレクターを使用し、トリムする要素を選択します。
-
終了したら、proceedをクリックします。
Box Trimダイアログが開きます。
-
ダイアログ内のオプションを編集します。
表 1. オプション 説明 Box trim type プルダウンメニューから以下のオプションのいずれかを選択することで、選択したモデルをどのようにトリムするかを決定します。 - left
- モデルを、グローバルのY軸方向の中心(ymiddle)に沿って分割し、Y軸の最小座標位置(ymin)から中心(ymiddle)までの間のモデルを保存します(ymiddle =(ymin+ymax)/2)。
図 1. - right
- モデルを、グローバルのY軸方向の中心(ymiddle)に沿って分割し、Y軸の中心(ymiddle)から最大座標位置(ymax)までの間のモデルを保存します。
図 2. - front
- モデルを、グローバルのX軸の選択した位置(value)に沿って分割し、その位置(value)からX軸の最小座標位置(xmin)までの間のモデルを保存します。
図 3. - rear
- モデルを、グローバルのX軸の選択した位置(value)に沿って分割し、その位置(value)からX軸の最大座標位置(xmax)までの間のモデルを保存します。
図 4. - frontleft
- モデルを、グローバルのY軸の中心(ymiddle)と選択したX座標位置(value)に沿って分割し、Y軸の最小座標位置(ymin)から中心(ymiddle)までと、X軸の指定した位置(value)から最小座標位置(xmin)までの間のモデルを保存します。
図 5. - frontright
- モデルを、グローバルのY軸の0.0の位置と選択したX座標位置(value)に沿って分割し、Y軸の0.0の位置からY軸の最大座標位置(ymax)までと、X軸の指定した位置(value)から最小座標位置(xmin)までの間のモデルを保存します。
図 6. - rearleft
- モデルを、グローバルのY軸の0.0の位置と選択したX座標位置(value)に沿って分割し、Y軸の最小座標位置(ymin)からY軸の0.0の位置までと、X軸の指定した位置(value)から最大座標位置(xmax)までの間のモデルを保存します。
図 7. - rearright
- モデルを、グローバルのY軸の0.0の位置と選択したX座標位置(value)に沿って分割し、Y軸の0.0の位置からY軸の最大座標位置(ymax)までと、X軸の指定した位置(value)から最大座標位置(xmax)までの間のモデルを保存します。
図 8. - custom
- 2つのコーナー節点(Corners)を選択するか中心節点と寸法(Distance from center)を選択することで、ボックスを定義します。
X limit 以下のオプションのいずれかを選択することで、トリム位置を定義します: - By node
- Node Selectionパネルに移動します。このパネルでは、ボックスのトリム位置となる節点を選択できます。
- By value
- ボックスのトリム位置となる値を入力します。
Defined by 以下のオプションのいずれかを選択することで、トリム位置を定義します: - Pick Corner Node
- Node Selectionパネルに移動します。このパネルでは、ボックスの外側の境界のX、Y、およびZを定義する2つのコーナー節点を選択できます。
- By Center Node
- Node Selectionパネルに移動します。このパネルでは、中心節点を選択してから、グローバルX、Y、およびZ方向でのボックスの中心節点から外側境界までの距離となる差分X、差分Y、および差分Zの値を入力できます。
注: このオプションは、Box trim typeでcustomを選択した場合のみ利用可能です。Create constraints トリムしたエッジに沿ったすべての節点に単点拘束(SPC)を作成します。このオプションがアクティブになっている場合は、以下のオプションが利用可能です: - SPC collector
- トリムしたエッジに作成されている単点拘束(SPC)を保存する荷重コレクターを指定します。
- OptiStruct、Nastran、Abaqusの場合、トリミング面に沿ったすべての節点が節点セットとして作成されます。
- Box collector
- ボックスコレクターを指定します。指定したコレクター内に、可視化のためにボックスを表す大きな6面体要素が作成されます。
- Radiossユーザープロファイル使用時のみ利用できます。
Remesh options より質の高いメッシュになるよう、トリムしたエッジ要素をクリーンアップするために役立つ追加オプションにアクセスできます。 Min size トリムしたエッジ上のリメッシュした要素の最小サイズを定義します。要素サイズは、プルダウンメニューから以下のオプションのいずれかを選択し、対応する値をelem sizeフィールドに入力することで定義できます。 - relative
- ローカル要素サイズの乗数です。
- absolute
- 実際の要素サイズです。
図 9. . Min size > 3(absolute)
図 10. . Min size > 5(absolute)Delete comps with トリム後のコンポーンネントの削除のためのフィルターを有効にします。トリム後に削除するコンポーンネントは、プルダウンメニューから以下のオプションのいずれかを選択し、対応する値を入力することで定義できます。 - num elems
- 指定した値よりもボックスのトリム後に残っている要素の数のほうが少ない場合に、コンポーネント全体が削除されます。
- % area
- トリム後に残す、総面積に対する割合をパーセントで指定します。指定した値よりもトリム後の面積のほうが小さい場合に、コンポーネントが削除されます。
Feature angle= このオプションは、メッシュオプションで指定されたグローバルフィーチャー角度に似ています。この値は、トリム後に要素のクリーンアップで使用されます。 -
trimをクリックします。
ヒント: Previewをクリックし、選択を確定する前にトリム結果を確認します。
切断面上のエンティティの扱い方法
切断面上のエンティティは、以下のように扱う必要があります:
- 0D要素
- 削除された節点上に定義されている0次元要素を削除します。
- エンティティセットおよびパートがポインターとしてそれに参照されている、特別なケースもあります。そのような場合のみ、それらを保持します。
- 1D要素
-
- 梁、バー、ばね
- 要素を削除します。
- FEジョイント
- 要素を削除します。
- RBE3
- 従属節点が削除された場合に、要素を削除します。
- ボックストリムの平面上に独立節点がある場合に、要素を削除します。
- 剛体
- 独立節点が削除された場合に、剛体を削除します。
- トリムするラインのエッジ上に従属節点がある場合に、剛体を削除します。
- その他の場合には、剛体を保持します。
- 2D要素
- 切断面上の要素をトリムします。
- 3D要素
- 切断面上の要素を削除します。
- Connectors
- コネクター、およびそれに対応するリアライズされた有限要素を削除します。
- 方程式
- これはHyperMesh内の荷重にマップされます。Box trimの中で節点のいずれかが削除された場合に、方程式を削除します。
Box Trimマクロでモデルクリーンアップを実行する方法
モデルクリーンアップには以下の機能があります:
- Empty deletion
- 空のコンポーネント(要素のないコンポーネント)、アセンブリ、セット、接触サーフェス、出力ブロック、グループ、プライ、プロット、および荷重ステップを削除します。カードイメージがない場合には、荷重コレクター、システムコレクター、ベクトルコレクター、および断面コレクターも削除されます。
- 使用されていない材料、プロパティ、セット、梁断面、カーブ、座標系、ベクトル、積層材、プライ、テーブル、タグ、および最適化エンティティを削除します。
- Location based deletion
- ボックスの外側およびボックス境界にある、有限要素リアライゼーションのあるコネクターを削除します。
- 定義されたボックスの完全に外側にある、すべてのモーフィングエンティティおよびブロックを削除します。
- Solver specific
- *CONTACT – mapped Group
- 定義でメインまたはセカンダリサーフェスが選択されているかどうかを確認します。それらのどちらかが空の場合は、*CONTACTが削除されます。
- *CONSTRAINED_EXTRA_NODE - Mapped to ConstrainedExtraNode
- 節点または節点セットがセカンダリエンティティとして定義されているかどうかを確認します。関連付けられている節点または節点セットがない場合は、エンティティが削除されます。
- 関連付けられているPSIDが空かどうかを調べるためにカードイメージを確認します。空の場合は、キーワード自体が削除されます。
- *CONSTRAINED_RIGD_BODIES、*CONSTRAINED_TIE-BREAK、*CONSTRAINED_LAGRANGE_IN_SOLID、*CONSTRAINED_EULER_IN_EULER、および*ALE_options – Mapped to Group
- Groupにおいてセカンダリまたはメイン定義が作成されているかどうかを確認します。セカンダリまたはメイン定義のどちらかが空の場合は、エンティティが削除されます。
- *AIRBAG_options – Mapped to control volume
- エンティティにセカンダリ定義があるかどうかを確認します。その定義が空の場合は、エンティティが削除されます。注: このルールは、*AIRBAG_PARTICLE、*AIRBAG_INTERACTION、および*AIRBAG_ADVANCED_ALEには適用されません。
- エンティティにセカンダリ定義があるかどうかを確認します。その定義が空の場合は、エンティティが削除されます。
- *AIRBAG_PARTICLE
- 変数SID1またはSID2に対応するパートセットIDまたはパートIDによってカードイメージが参照されているかどうかを確認します。カードイメージに参照がない場合は、エンティティが削除されます。
- *AIRBAG_INTERACTION
- カードイメージAB1およびAB2内の変数に値が割り当てられているかどうかを確認します。値が割り当てられていない場合は、エンティティが削除されます。
- *DEFINE_ALEBAG_BAGおよび*DEFINE_ALEBAG_HOLE
- SID_PARTまたはSID_SETが空かどうかを調べるためにこれらのキーワードを確認します。それらのどちらかが空の場合は、キーワードが削除されます。
- *AIRBAG_ADVANCED_ALE
- Bag_ID 1からBag_ID 8までにあるすべての変数が空かどうかを確認します。空の場合は、エンティティが削除されます。
- *CONTACT – mapped Group
- LS-DYNA specific cleanup
- 残されたすべてのコントロールカードが、有効な定義としてボックストリムインクルードに移動されます。
- 以下のキーワードがモデル(モデル全体)で定義されており、エンティティの明確な定義が必要ない場合は、それらをまとめ、box_trim_includeに移動する必要があります。
- *CONTACT(メインまたはセカンダリタイプに値5が割り当てられている場合は、すべてに対応する)
- *LOAD_BLAST
- *LOAD_BODY
- *LOAD_BRODE
- *INITIAL_VELOCITY_optionsはInitial_Velocity_Rigidbodyであることが求められます。Initial_Velocity_rigidbodyの場合、PSIDが0だと無視されます。これは、それをどのエンティティにも適用できないことを意味しているため、それを含めないようにしてください。
- *RIGIDWALL_ - 変数NSIDに値0が割り当てられている場合、これはモデル内のすべての節点を示します。
- box_trim_include内のエンティティを除き、残りのすべてのエンティティを削除します。
- box_trim_includeからメインファイルにエンティティを移動します。
- Abaqus, Nastran, and OptiStruct specific enhancements and cleanup
- トリミング中にトリミング面上の節点から節点セットを作成します。
- 以下の接触と接触サーフェスエンティティを更新します:
- Abaqus:*SURFACE ELEMENT、*SURFACE NODE、*CONTACT PAIR、*TIE
- Nastran:BSURF、BCBODY、BCTABLE
- OptiStruct:SURF、CONTACT、TIE
- 制限:Abaqus、Nastran、およびOptiStructは、直接プロパティ割り当てをサポートします。そのため、このようなモデルのトリミングには、トリミング面上のリメッシュされた要素へのプロパティ割り当てが必要になります。