Sculpt

Sculptは、複雑な地質学において、ユーザーの相互作用が少ないか少ないすべての六面体要素のメッシュを生成するために設計された別々の並行アプリケーションです。 Sculptは別々のアプリケーションとして開発されており、高性能コンピューティングプラットフォームでCubitから独立して実行できます。 それはまた、分離可能なソフトウェアライブラリとして設計されており、他のコード内のメッシングソリューションとして簡単に統合することができます。 Cubitは、前端のコマンドラインとGUIをSculptアプリケーションに提供します。 コマンドは、現在のジオメトリに基づいて適切な入力ファイルを構築し、メッシュを生成し、「クビット」にメッシュを取り戻すために自動的に「スカルト」を呼び出すこともできます。

Sculptの使い方

プラットフォーム

Sculptは、Windows、Mac、Linuxのオペレーティングシステムで利用できます。

Sculptインストール

Sculptは、Cubitから別々に、独自で実行可能な作品です。 CubitがSculptを起動するには、システムに存在し、Cubitにアクセスできる必要があります。 Cubitのデフォルトインストールは、これが起こるために正しい場所にファイルをインストールする必要があります。 Cubitのサポートで、インストールができなかった場合、またはそのサポートアプリケーションまたはそのサポートアプリケーションのいずれかを見つけることができない場合を確認してください。

CubitからSculptを実行するには、以下の4つの実行可能なファイルが必要です。

  • sculpt: スタートアップをコントロールするアプリケーション mpiexec そして、 psculpt」 Cubitの主な入力点は、システムの存在と互換性を確認する。 mpiexec アプリケーションまたは地元のcubitインストールを使用する mpiexec.
  • スカウト: 主なMRIベースのSculptアプリケーション。 要件 mpiexec 走る。
  • mpiexec: ほとんどのLinuxベースのオペレーティングシステムで利用可能な標準アプリケーションは、複数のプロセッサで mpiベースのアプリケーションを起動します。 これはあなたのCubitインストールで利用可能であるべきですが、また、 オープンmpi.org
  • EPU: Sculptで生成した複数のExodusファイルを1つのExodusファイルへ結合するために使用します。この実行ファイルはオプションですが、結果meshをCubitへインポートして表示する際に有用です。Sandia National Laboratoriesが開発したSEACAS tool suiteの一部で、Cubitにも同梱されています。オープンソース版は次から取得できます: sourceforge.net.

Cubitが使用するこれらの実行器への現在のパスを表示するには、Cubitのコマンドウィンドウから次のコマンドを発行します。

 Sculpt Path List

見る The Sculpt パス コマンドは、これらのパスの設定およびカスタマイズに関する詳細を参照してください。

下記の画像は、プロセスの流れを示す。 sculpt コマンドはCubitで使用されます。

Sculpt process flow

Sculptのメッシングプロセスでは、ファセットベースのSTLファイルを含むファイルのセットがディスクに書かれています。 ☆ ☆ ☆ ☆ sculpt 応募が始まりますが、応募が始まります。 mpiexec 複数の例を始めるために、 psculpt 並行で。 psculpt その後メッシングを実行し、processorごとに1つのExodusファイルを書き出します。これらのファイルは次を使用して結合できます: epu そして、その後、再びCubitにインポートして見る。

あなたのワークディレクトリの設定

Sculpt コマンドのCubitでは、いくつかの暫定ファイルが現在のワークディレクトリに書き込まれます。 そのため、重要なのは、 作業ディレクトリを設定する Sculptを使用する前に、望ましい場所に、これらのファイルが置かれていることを望む。

Sculptコマンド

☆ ☆ ☆ ☆ Sculptコマンド Cubitではsculptのアプリケーションを呼びかけます。 ターゲットジオメトリを指定することができますが、現在のCubitの内部に存在するボリュームまたはブロックまたは外部ファイル(例えば、STL、Diatoms、またはマイクロ構造ファイル)から輸入される可能性があります。 Sculptのためのモデルを準備するためのコマンドの合成は次のとおりです。

Sculpt [parallel]

ジオメトリオプション

{[volume <ids>] [block <ids>] [stl_file "<filename.stl>"] [diatom_file "<filename.diatom>"] [input_vfrac "<filename.e>"] [input_micro "<filename.tec>"] [input_cart_exo "<filename.e>"] [input_spn "<filename.spn>"]}

[spn_xyz_order "<0,1,..5>"] [input_stitch "<filename.st>"] [stitch_field "<field_name>"] [stitch_timestep {<timestep_value>|first|last}] [stitch_timestep_id <timestep_ID>] [stitch_info]

プロセスオプション

[processors <value>] [fileroot "<rootfilename>"] [{OVERWRITE|no_overwrite}] [absolute_path] [{EXECUTE|no_execute}] [{COMBINE|no_combine}] [{IMPORT [unique_genesis_ids]|no_import}] [{SHOW|no_show}] [{CLEAN|no_clean}] [{gen_input_file <string>|no_gen_input_file}] [{debug <value>] [quiet] [preview]

ネットワークオプション

[{size <value>|autosize <value>}] [box {align|location <options>|expand <value>}] [{xintervals|nelx} <value> {yintervals|nely} <value> {zintervals|nelz} <value>] [input_mesh "<filename.g>"] [input_mesh_material <value>] [input_mesh_pamgen "<filename.pam>"]

Mesh Options

[void <value>] [void_block <value>] [separate_void_blocks] [stair <value>] [htet <value>] [htet_material <value>] [htet_method <value>] [periodic <value>]

スムージングオプション

[smooth <value>] [csmooth <value>] [num_laplace <value>] [max_opt_iters <value>] [opt_threshold <value>] [curve_opt_thresh <value>] [max_pcol_iters <value>] [pcol_threshold <value>] [max_gq_iters <value>] [gq_threshold <value>] [max_deg_iters <value>] [deg_threshold <value>] [geo_smooth_max_deviation <value>]

オプションの改善

[pillow <value>] [pillow_surfaces] [pillow_curves] [pillow_curve_layers <value>] [pillow_curve_thresh <value>] [pillow_boundaries] [pillow_smooth_off] [defeature <value>] [min_vol_cells <value>] [defeature_bbox] [defeature_iters <value>] [capture <value>] [capture_angle <value>] [capture_side <value>] [thicken_material <value>...] [thicken_void <value>] [remove_bad <value>] [wear_method <value>] [crack_min_elem_thickness <value>] [temp_use_sipe_depth <value>] [min_num_layers <value>]

オプションに適応

[adapt_type <value>] [adapt_threshold <value>] [adapt_levels <value>] [adapt_material <value>...] [adapt_export] [adapt_non_manifold] [adapt_load_balance]

境界条件オプション

[gen_sidesets <value>] [material_name <value>... <string>...] [sideset_name <value>... <string>...] [nodeset_name <value>... <string>...] [sideset_definition <value>... <string>...] [nodeset_definition <value>... <string>...] [free_surface_sideset <value>...] [match_sidesets <value>...] [match_ss_nodeset <value>...]

出力オプション

[exodus <string>] [large_exodus] [xtranslate <value>] [ytranslate <value>] [ztranslate <value>] [xscale <value>] [yscale <value>] [zscale <value>] [volfrac_file <string>] [quality <string>] [write_geom] [write_mbg] [compare_volume] [compute_ss_stats]

コントロールCubitにおけるSculptの実行

コマンドのオプションは、Cubitの内部からSculptの実行をコントロールするために使用できます。 sculpt コマンド上記のリンクに従って、彼の行動をコントロールする他のオプションのための「sculpt」アルゴリズムや方法。

volume <ids> | block <ids>

ボリュームまたはブロックのリストがメッシュに含まれます。 ボリュームごとに「Faceed Representation(STL)」を含むファイルが作成され、現在のワークディレクトリに保存され、Sculptへの入力として使用されます。 それぞれのボリュームは「sculpt」内で別々の材料として扱われるが、ボリュームが触れる場所に合致するメッシュが生成される。 ブロックのコマンドが使用された場合、ブロックごとに1つのファイルが使用されます。 それぞれのブロックは「Sculpt」の別々の材料を表しています。

fileroot '<root filename>'

出力のためのファイル名の根たとえば、当 sculpt コマンドが実行され、CubitはSculptアプリケーションへの入力に使用されるワークディレクトリで複数のファイルを生成します。 「<root filename>」は、これらのファイルの名称化の基礎として使用されます。

processors <value>

MPIがSculptアプリケーションを実行するために使用するプロセッサの数を指定します。 指定されていない場合、現地機械の利用可能なプロセッサの最大数は最大16まで使用されます。

OVERWRITE | no_overwrite

デフォルトでは、Cubitが既存のファイルセットを同じ「<root filename>」で再編します。 乗り越えるには、使用する no_overwrite オプション

absolute_path

デフォルトで、Cubitは、ファイルに使用される相対的なパスの名前を書きます。 ラウン そして、 Diatomsファイル」 絶対的なパスの名前を書くことを強制するには、 absolute_path オプション

EXECUTE | no_execute

デフォルトでは、Cubitは現在Cubitを実行しているマシン上でSculptを並列実行しようとします。後で、または別マシンでSculptを実行するために必要な入力だけを生成するには、このオプションを使用します。現在の作業ディレクトリに <root filename>.run 形式のファイル(例: "model.run")が生成されます。.runファイルをLinuxコマンドラインから実行するとSculptが並列実行されます。Cubit実行ファイルがないクラスタ上でSculptを実行する場合にも使用できます。

size <value> | autosize <value>

自動化sizeこのオプションは直交グリッドの絶対cell sizeで、Sculptのcell_sizeオプションと同じです。値は0〜10で、モデル非依存のサイズを表します。1が小、10が大です。これはCubitの次で使用されるscale factorと同じです: 自動車サイズ しかし、それは10に分かれています。 サイズ値は、選択した自動サイズから計算され、ベースの直交座標系ネットワークの絶対セルサイズとして使用されます。

box location <options>

直交座標系(直交座標系)を使用すると、上層ネットワークの定義として、 場所 オプションは直交座標系ネットワークの境界線を定義します。 第1位オプションは、ネットワークの最小直交座標系座標を定義し、第2位は、最大を定義する。 ☆ ☆ ☆ ☆ <options> cubitで座標の位置を定義するための有効な方法が可能である。 ほとんどの場合、The position オプションは利用できます。 デフォルトは、各側に 2.5 つの追加のセルを含む閉鎖ボックスとして計算されます。

なお、 xmin、ymin、zmin、xmax、ここx、zmax オプションはまた、コマンドラインから直交座標系ネットワークの境界線を指定するために使用することができます。

COMBINE | no_combine

もし、The no_combine オプションが使用され、Sculptの実行後、結果のexodusのメッシュは「Exodus」を使用して組み合わせられません。 epu シーズン ツールそうでなければ、デフォルトは自動的に各プロセッサによって生成されたメッシュを単一のメッシュに組み合わせます。 epu があなたのシステムにインストールされ、epu にパスが定義されていることをご注意ください。 Sculpt パス コマンド EpuはSandia National Laboratoriesによって開発されたコードであり、SEACASツールスイートの一部です。 複数のExodusデータベースを一つのExodusデータベースに並行アプリケーションによって生成します。 EPUプログラムには、バージョン15.0から始まるCubitの配布が含まれなければなりません。

IMPORT | no_import

no_importオプションが使用された場合、Sculptの実行後、結果はCubitに輸入されません。 フリーメッシュ」 デフォルト IMPORT オプションは自動的にSculptで生成されたメッシュを輸入します。 もし、The no_combine オプションが使用されており、複数の無料のメッシュが、複数のノードとプロセッサドメインの境界線の顔で輸入されます。 単一の自由なメッシュは、結果として、 epu コードが輸入されます。 結果のメッシュは、オリジナルのジオメトリと関連付けられていませんが、ブロック(物質)の定義は維持されます。 さらに、各輸入のメッシュ(プロセッサごとに1個)に対して別々のグループが生成されます。 デフォルトでは、自動的にメッシュを「Sculpt」にメッシュ世代に続けるメッシュを輸入します。

SHOW | no_show

もし、The no_show オプションが使用され、外部のSculptプロセスが実行されている間、Sculptアプリケーションからのオプションがコマンドウィンドウに表示されません。 そうでなければ、デフォルト SHOW 使用され、Sculptアプリケーションからの出力はCubitコマンドウィンドウにエコードされます。 このオプションが有効である場合にのみ、 no_execute 使われていない。

CLEAN | no_clean

no_cleanCLEANsculpt清潔このオプションを使用すると、コマンド実行中に生成された一時ファイルを削除します。対象にはExodus mesh、.stl、.diatom、.log、.runファイルが含まれます。このオプションのデフォルト設定に注意し、現在のSculpt実行で生成された一時ファイルを保持したい場合は、保持用オプションを使用してください。

gen_input_file <file name> | no_gen_input_file

指定されたファイル名を含む入力ファイルがコマンドが実行されたときに生成されます。 これはコマンドに使用されるすべての「彫刻」のオプションを含むテキストファイルです。 入力ファイルはsculptのバッチ実行に使用される予定です。 オペレーティングシステムのコマンドラインから「スクリプト」を実行するには、 ・I オプション例えば: sculpt -i myinputfile.i -j 4 どこで myinputfile.i 入力ファイルの名称は、 gen_input_file オプションと J4 使用するプロセッサの数です。

debug <value> デビューオプションは開発者デビューツールとしてのみ使用されます。 デビューをプロセッサに設定し、実行時に寝て、デビューがプロセスに付属することを可能にします。

静けさ

☆ ☆ ☆ ☆ 静けさ オプションはオプションとして使用されます。 sculpt コマンドはsculptアプリからCubit出力ウィンドウに出力を削除します。

preview

使われているとき、The sculpt コマンドは、 preview オプションは、現在定義されているオプションに基づいてCubit出力ウィンドウにsculpt入力ファイルのコンテンツを印刷します。 sculpt コマンド 「sculpt」は実行しない。

Sculpt Helpコマンド

Sculptのいずれかのオプションについてのヘルプは、以下のコマンドを使用して出力ウィンドウに印刷することができます。

Sculpt [parallel] print_help [<"sculpt_option">]

<sculpt_option> は、上記に記載されている有効な sculpt アプリケーションオプションです。

Sculpt Pathコマンド

CubitがSculptと関連するアプリケーションがどこに位置しているかを知るためのコマンドは以下の通りです。

 Sculpt [Parallel] Path [List|Psculpt|Epu|Mpiexec]

このコマンドはパスを定義します。 psculpt, epu そして、 mpiexec あなたのシステムで。 しかし、ほとんどの場合、これらのパスは自動的に設定されなければならないので、Sculptが成功してインストールされたCubitのインストール。 ☆ ☆ ☆ ☆ リスト オプションは、Cubitがこれらのツールに使用する現在のパスをリストします。 これらの実行器への代替パスが望ましい場合は、このコマンドがcubitの起動ファイルに使用されることをお勧めしますので、cubitが実行されるたびにこれらのパラメーターを定義する必要はありません。

Sculptメッシュ品質コントロール

ほとんどの場合、Sculptツールはデフォルト値を調整せずに使用できます。 測定されるジオメトリの特性に応じて、デフォルト値は適切なメッシュ品質を生み出すことはできません。 完成後、Sculptはコマンドラインに報告し、生成されたメッシュの概要です。 これにはメッシュ品質の概要が含まれています。 この概要を検討するには、最低限のメッシュ品質が分析に適した範囲にあることを確保するために注意を払うべきである。

Sculptでメッシュ品質を計算するために使用される要素メトリックは、スカレッド・ジャコビアンです。 これは -1 と 1 の間の値であり、要素のノードの角度の相対的な測定です。 1の値は、それぞれのエッジの間で完璧な90度の角度を示しています。 ほとんどの場合、ゼロより少ない値、またはネガティブなジャコビア語の要素は、使用できないメッシュを示しています。 Sculptのデフォルト設定は、ほとんどの分析で通常使用可能な0.2の最低スケールジャコビアンを達成しようとします。 次の議論では、メッシュ品質を改善するために、モデルまたは「スカルト」のパラメーターを調整するためのいくつかのオプションが提供されます。

  1. 低いメッシュ品質の位置: 「Sculpt」のメッシュがCUBITに戻って輸入された場合、「要素品質」を表示することは良い考えです。 あなたは次のコマンドの変数でこれを行うことができます:

     quality hex all scaled jacobian

    quality hex all draw mesh

    六面体要素が質が低い地域を特定し、これらの地域にゾームを入れる。
  2. ジオメトリを変更する: 低品質要素を拡大表示すると、メッシュが基礎ジオメトリを十分に表現していないことが分かる場合があります。小フィーチャや部品間の小gapがSculpt cell sizeと同程度であることがあります。解析上重要でない場合は、Cubitのジオメトリ修正ツールを使用してフィーチャを除去したり小gapを閉じたりすることを検討してください。
  3. セルサイズを変更する: シミュレーションにとって小さなジオメトリの「フィーチャ」または格差が重要である場合、より小さなベースのセルサイズを使用する必要があるかもしれません。 利用する → size or autosize 入力パラメーターまたは数を増やす interval」 通常、適切に「フィーチャ」を捕獲するには、シミュレーションで表現したい最小の「フィチャ」の大きさの約1~3分の1を超えないセルサイズが欲しい。
  4. 複数の材料のためのパイロットの回転: インターフェイスを共有する材料が1つ以上あるモデルでは、ジオメトリがグローバル軸と正確に調和しない限り、通常は動作するのが良いアイデアです。 パイロット. Pillowingはインターフェース境界にhex要素の追加レイヤーを自動挿入してメッシュ品質を改善します。Pillowingを使用しない場合、2種類以上の材料が接するカーブインターフェースで、反転要素や低品質要素が生じることがあります。
  5. スムージングのパラメーターを変更する: Sculptには、「要素品質」を向上させるためにスムージングへの高度なアプローチが含まれています。 それはメッシュのすべてのノードにスムージングを適用し、徐々にスムージングの操作を、ユーザーによって定義されたスケールジャコビアン限界の下に落ちるノードに限定します。 「反復」のデフォルト数とスムージングの各段階の限界数は一般的な用途で表示されていますが、これらのパラメーターを調整する価値があるかもしれません。 スムージングの3つの段階には、以下が含まれます。
    • ラプラシアンスムージング: すべての要素に適用されます。 品質を向上させるための非常に安価な迅速なアプローチですが、過剰に適用された場合、要素品質が低下する可能性があります。 2「反復」の固定デフォルトは、すべての六面体要素に適用されます。 増加する → num_laplace パラメーターは、いくつかのケース、特にコンベックス形状を改善することができます。
    • スムージングの最適化: 要素にのみ適用され、スケールされたジャコビアンが下に落ちる。 opt_threshold パラメーター(デフォルト 0.6)とその周囲の要素このアプローチは、より高価な最適化テクニックを使用して、同時に要素の地域を改善します。 ☆ ☆ ☆ ☆ max_opt_iters パラメーターは、適用された「反復」の最大数を制御することができます(デフォルトは5です)。 しかし、「反復」は、さらなる改善が発見されない場合に終了します。 この方法が同時にノードの位置を最適化するため、近隣のノードと競争の最適性は時にはメッシュ品質を制限することができます。
    • ポイント最適化: また、知られているのは、 パラレル色「要素品質」が「要素品質」の下に落ちる「要素」にのみ適用されます。 pcol_threshold パラメーター(デフォルト 0.2) このテクニックは最も高価なテクニックですが、六面体要素の質が低いノードだけに焦点を当てています。 それぞれのノードは、隣人から独立して溶かされ、多くの「反復」を必要とする可能性があります。 max_pcol_iters 望ましい結果を達成する。 増加する → pcol_threshold そして、 max_pcol_iters 改善された結果をもたらすことができる。
    各スムージングの「反復」に続くコマンドラインへのメッシュ品質の出力を観察すると、スムージングのパラメーターを変更する効果について、いくつかの洞察を提供することができます。
  6. 「六面体要素」を生み出す: 従来のall-hex meshでは実用的なメッシュを生成できないジオメトリがあります。Sculptには、低品質要素を改善するため要素edgeを自動かつ選択的にcollapseするオプションがあります。次の max_deg_iters そして、The deg_threshold 価値観は、デゲネートの形成をコントロールするために使用されます。 デゲネラートの要素は標準的な六面体要素の要素として扱われますが、8つのノードの接続線で繰り返しノードを使用します。
  7. 六面体要素を主導するメッシュ メッシュ品質の問題を避けるためのもう一つのオプションは、メッシュで四面体要素の要素をいくつか生成することです。 ヒト オプションこのオプションを使用すると、六面体要素が四面体要素に変換される下にスケールされたジャコビアン範囲値を指定できます。 六面体要素と四面体要素の間のインターフェイスは、ノードセットとサイドセットの自動的に定義されたセットによって管理され、多点制限がどこに適用されるかを説明します。
  8. 敗北 オプションの欠陥は、ベースネットワークのセルに最初のフィルターを作成し、特定の基準を満たすセルの材料IDを再割り当てようとします。 これらは「細胞」の小さなグループが小さなボリュームを形成する場合、あるいは「質の良い要素」でメッシュすることは難しく、あるいは不可能です。 これらの場所でセルを再分配することによって、多くの場合、それはメッシュが受け入れられることを可能にします。 この操作は、限界または「サーフェス」の定義に小さな変化を引き起こす可能性がありますが、通常はまだ合理的な接近になるのに十分な小ささです。

Sculpt の例

以下の例では、この単純なジオメトリを使用します。 例を実行する前にこれらのコマンドを実行する Sculpt コマンドライン操作

sphere rad 1

sphere rad 1

vol 2 mov x 2

cylinder rad 1 height 2

vol 3 rota 90 about y

vol 3 mov x 1

unite vol all

Sculpt example geometry

図1 ジオメトリは上記のコマンドから作成され、以下の例に使用されます。

基本「Sculpt」

この例では、すべてのデフォルトのオプションを含むSculptの使用を示しています。 結果を見ることができるように、私たちはまた、その結果を使用します。 overwrite, combine そして、 import オプション

sculpt volume 1

draw block all

この操作結果を図2に示します。この例では、Cubitが内部でSculpt用入力ファイルを作成し、4processorで実行し、得られた4meshを結合して、その結果メッシュをCubitへインポートしています。Volume 1は"unmeshed"のままで、作成されたのは フリーメッシュ これはボリュームとは関係ない。 Sculptのコマンドの結果は、常に無関連である。 フリーメッシュ.

Meshed example geometry

図2 フリーメッシュから生成された『sculpt』コマンド

Size and Bounding Box

この例では、その使用を示しています。 size そして、 ボックス Options

delete mesh

sculpt volume 1 size 0.1 box location position -1.5 0 -1.5 location position 1 1.5 0

draw block all

この場合、我々は使用した size オプションは、ネットワークのベースセルサイズを定義します。 私たちも使用したのは、 ボックス オプションは、メッシュが生成される結合ボックスを定義します。 境界線の外に落ちるあらゆるジオメトリは「Sculpt」によって無視される。 図3は、このコマンドによって生成されたメッシュを示しています。

Meshed example geometry

図3. Sculptの"box"オプションは生成メッシュの範囲を制限します。

メッシング・ザ・ヴォイド

この例では、その使い方について説明します。 空っぽ オプションを使用します:

delete mesh

sculpt volume 1 size 0.1 box location position -1.5 0 -1.5 location position 1 1.5 0 void 1

draw block all

結果は図4に示されています。 この例は、追加の例を除いて、最後の例と同じであることに注意してください。 空っぽ オプションメッシュは、結合ボックスの範囲内でボリュームを取り囲む空間で生成されます。 この場合、追加材料ブロックが定義され、自動的に2のIDが割り当てられます。 2つのブロックの間のインターフェイスのノードと要素の面は、両方の材料の間で共有されます。

Meshed example geometry

図4 Sculptvoid操作は、ボリューム以外のメッシュを生成します。

自動サイドセット定義

この例では、その使い方について説明します。 gen_sidesets オプション

サイドセットをCubitで無料のメッシュに生成する: Sideset boundary conditions can be manually created on the resulting フリーメッシュ Sculptから「Standard」を使用する Sideset <sideset_id> Face <id_range> シンタックス ☆ ☆ ☆ ☆ Group Seed コマンドはまた、単一のサイドセットで使用される「フィーチャ」の角度に基づく顔のグループ化にも役立ちます。

Sculptでサイドセットを生成する: Sculptはまた、Sculptのルーンの一部としてサイドセットを定義するためのいくつかのオプションを提供します。 以下はオプションを示しています。

delete mesh

sculpt volume 1 size 0.1 box location position -1.5 0 -1.5 location position 1 1.5 0 void 1 gen_sidesets 2

list sideset all

draw sideset all

また同じシンタックスを使用しますが、追加します。 gen_sidesets 2 オプションは、自動的にサイドセットシリーズを生成します。 ☆ ☆ ☆ ☆ リスト コマンドは、10のサイドセットがこの例に1から10のIDで定義されたことを示すべきです。 図5は、結果を示す。 draw コマンドは、さまざまな色のすべてのサイドセットを表示します。 注目して、そのために、 gen_sidesets 2 オプション、サイドセットは以下の基準で作成されます。

  • 材料間のインターフェイス
  • 外部サーフェス
  • サーフェスドメインの境界線

見る The gen_sidesets 上記のオプションは、他のオプションをSculptでサイドセットを生成するための説明です。

Meshed example geometry with side sets

図5 Sculptを使用して作成された自動サイドセット

独りで走るSculpt

この例では、独自のプロセスとしてSculptを実行するために必要なファイルを設定する方法を示しています。 これは同じデスクトップマシンで行うか、並行処理に最適なより大きなクラスターマシンに移動することができます。

作業ディレクトリを例ファイルの配置に便利な場所に設定することから始まります。

 cd "path/to/my/sculpt/examples"

次に基本コマンドを実行します。 sculpt コマンドはボリュームのためにメッシュを生成します。

delete mesh

sculpt volume 1 processors 8 fileroot "bean" over no_execute no_clean

この場合、我々はその no_execute オプションはSculptアプリケーションを呼び出さない。 その代わりに、作業ディレクトリに一連のファイルを書きます。 ☆ ☆ ☆ ☆ fileroot オプションは、書かれるファイルのベースファイル名を定義します。 "bean"」 私たちも使います。 プロセッサ オプションはプロセッサの使用数を8に設定します。 最終的には、デフォルトから 清潔 オプションは「sculpt」を実行した後、一時的なファイルを削除します。 no_clean オプションは、それらが続くことを確保するために。

ワークディレクトリにCubitが置かれたファイルを見るには、デスクトップにターミナルウィンドウを入力し、現在のワークディレクトリにディレクトリを変更します(例えば、 cd パス/to/my/sculpt/例) 「ディレクトリ一覧」は、図6に示されている3つのファイルを明らかにする必要があります。

Directory listing

図6 Cubitから書かれたファイルのディレクトリ一覧

以下は、それぞれの結果ファイルの目的を説明します:

  • bean.diatom: Diatoms SandiaのCTHと「Alegra」の分析プログラムによって使用されるファイル形式で、構造的で堅固なジオメトリの定義が豊富である。 完全な堅固なモデルを構築するための原始を構築し、指導するための一連のガイドラインを使用することができます。 Diatomsの説明に含まれるSTLの輸入オプションです。 標準的な Diatom 説明はSculptへの入力として使用することができるが、Cubitの目的のためにSTLのオプションのみが使用される。 このファイルには、Sculptへの入力として使用されるすべてのSTLファイルのリストが含まれています。
  • bean.run: ☆ ☆ ☆ ☆ ラウン ファイルには unix コマンドラインが含まれており、sculptを実行します。 このファイルが unix スクリプトとして使用されることを許可するために、ファイルの許可が実行するように設定されていることに注意してください。 図 7 では、この例の.run ファイルが表示されます。 コマンドが使っていることに注意してください。 mpiexec そして、The psculpt 彼らのパスと共に実行可能である。 これらのパスは、別のマシンで動作する際に編集する必要があるかもしれません。 それはまた、サイズの設定のデフォルトパラメーター、バンドボックス、およびスムージングパラメーターがCubitによって計算されていることを含みます。

Sculpt command line

図7 ユニックスコマンドラインSculptを実行するためにCubitによって生成

  • bean_Volume_1.stl: STLファイルはジオメトリモデルのコピーです。 私たちの場合、それは私たちが働いていたシリンダーとスペースオブジェクトの代表です。 STL形式は、物体の「サーフェス」を表す三角形のセットです。 各ボリュームに1つのSTLファイルが生成されます。 ブロックのオプションが使用された場合、それぞれのブロックに1つのファイルが作成されます。

同じマシンで「sculpt」を実行するには、現在のワークディレクトリのターミナルウィンドウから次のコマンドを発行します。

./bean.run

Sculptが別のマシンで実行される場合は、作業ディレクトリのファイルを別のマシンにコピーし、同じコマンドを発行します。 パスをパスに変更する mpiexec そして、 psculpt 新しいマシンに合わせるために実行可能なもの。 リソースのスケジュールを持つクラスターマシンで実行するには、実行のための仕事を提出する方法について、システム管理者に相談してください。

Sculptを実行した後、Figure 8 は現在のワークディレクトリに書かれる結果ファイルを表示します。

Sculpt command line

図8。 8 Exodus ファイルが作成され、ワークディレクトリに置かれた

「エクソード」ファイルが8件生成されており、それぞれのプロセッサから1件が生成されています。 これらのファイルは、単独で使用するか、あるいはシミュレーションで使用するために使用されるか、あるいは単一のファイルに組み合わせることができます。 Sculptによって生成されたexodusファイルには、すべての適切な並列通信情報が含まれています。 Nemesis 形式。NemesisはSandiaのExodus II形式を拡張したもので、適切な並列通信情報も含みます。

「Exodus」ファイルを単一のファイルに組み合わせるには、 epu ツール Epu はCubit配布に含まれるべきですが、それを認識するために適切なパスを設定する必要があります。 このモデルでEPUを実行するには、Unix ターミナルウィンドウから次のコマンドを使用します。

epu -p 8 bean.diatom_result

結果は単一のファイルで、名前を付けます。 bean.diatom_result.e」 このファイルのメッシュは、その後Cubitにインポートすることができます。 Cubitアプリに戻り、コマンドラインから次のコマンドを入力します。

import mesh "bean.diatom_result.e" no_geom

結果は、図2に示されているメッシュと同じでなければなりません。

メッシング複数の材料 『Sculpt』

この例では、複数の材料を含む「Sculpt」からメッシュのモデルを使用することを示しています。 まず、現在のモデルを変更し、いくつかの追加のボリュームを追加します。 以下コマンドを使用します。

delete mesh

cylinder rad 0.5 height 3

cylinder rad 0.5 height 3

vol 5 mov x 2

結果のジオメトリは、図9の画像に似ているはずです。

Geometry for multi-material

図9。 ジオメトリは、複数の材料を「Sculpt」で示すために使われた。

このジオメトリを使用してSculptを使用してメッシュを生成します。

sculpt volume all size 0.075

draw block all

結果のメッシュは、図10の画像に似ているはずです。

Mesh of multi-material

図10。 複数の材料で生成されたメッシュ

各ボリュームにつき1つのmesh blockが作成されていることに注意してください。また、Sculptでメッシュを構築する前にboolean操作は実行していません。実際、volume 4と5はvolume 1と大きく重なっていました。通常のCubitメッシングでは無効な状態です。図11は次を使用したメッシュの切断表示を示します: 平面ツールをクリックする.

Mesh of multi-material

図11。 複数の材料で生成されたメッシュの切断

また、印刷/合併の操作は通常必要であり、必要ではなかったことも注目すべきです。 トポロジーにおける曖昧さを避けるためには、通常、過渡を避けるのが最善であるが、「Sculpt」は、最も最近定義された材料に優先するメッシュを生み出すことができる。 メルギングはジオメトリの近くで厳密に実行されます。 ユーザー入力サイズの約半分に近いボリュームは通常、自動的に合併します。

次に、自由なメッシュのメッシュ品質を検討します。 次のコマンドは、スケールジャコビアンメトリックのグラフィック表現を表示します。

quality hex all scaled jacobian draw mesh

結果は図12に示されています。 材料間のインターフェイスの要素(赤色)は、シミュレーションには受け入れられません。 これは「Sculpt」アルゴリズムがノードを共通のカーブインターフェイスにプロジェクトすることによって引き起こされる。

Mesh quality

図12。 メッシュ品質のマルチ材料メッシュ

多くの場合、材料インターフェースでの低い要素品質は次を使用することで改善できます: パイロット オプションこのオプションを追加すると、それぞれの「サーフェス」を取り巻く要素の追加層を追加するために「Sculpt」を指向します。 投げ出しの結果を見るには、以下のコマンドを発行します。

delete mesh

sculpt volume all size 0.075 over combine import pillow 1

quality hex all scaled jacobian draw mesh

Mesh quality

図13。 メッシュ品質多材料メッシュパイロットオプションを使用

結果のメッシュは、図13に示されています。 共有のカーブインターフェイスで改善されたメッシュ品質を注目します。 図14に示されているメッシュをもっと詳しく見る。 各「サーフェス」を取り巻く六面体要素の追加層を明らかにし、図11と比較してメッシュ品質を向上させることができる。 複数の材料でメッシュを生成するとき、共通のインターフェイスを共有する必要があります。 パイロット オプションは通常推奨されます。

Pillow layers

図14。 メッシュのカタウェイは、パイロットオプションが使用されるとき、それぞれの「サーフェス」を取り巻く六面体要素の追加層を明らかにします。