Sculpt Overlay Grid 仕様

overlay gridを設定するSculptオプションです。Sculptはbase meshを変更して最終メッシュを生成するoverlay-grid法です。base meshは直交グリッドでも、Exodusファイルで定義された任意の一般的な非構造六面体メッシュでも構いません(次を参照: input_mesh オプション。 パムゲンはまた、構造化されていないベースメッシュを生成するために使用することができます(参照) input_mesh_pamgen).

生成するall-hex meshの基準としてoverlay Cartesian gridを使用する場合、グリッドを定義するcellの範囲とサイズを指定する必要があります。直交グリッドは次の2通りで定義できます:

  1. 各座標の方向におけるインターバルの限界ボックスと番号を定義します。 ()xmin, ymin, zmin, xmax,ここx, zmax, nelx, nely, nelz)
  2. 定義 A cell_size. Sculptは入力ジオメトリのバウンディングボックスを評価し、各座標方向に少数のセルを追加して、直交グリッドの座標とインターバルを自動定義します。

直交座標系ベースネットワークを設定するための他のオプションには、 align そして、 拡大 通常は2番目の方法で使われます。 ☆ ☆ ☆ ☆ align オプションは、グローバルな直交座標系の方向と調和する代わりにジオメトリの特徴的な方向に最適化するためにネットワークを自動的に回転させます。 ☆ ☆ ☆ ☆ 拡大 オプションは直交座標系ネットワークのデフォルト拡張をジオメトリの境界線を超え、ユーザーが特定の拡張率を指定することを可能にします。


Overlay Grid Specification   -ovr     --overlay
  --nelx                     -x    <arg> Num cells in X in overlay Cartesian grid                     
  --nely                     -y    <arg> Num cells in Y in overlay Cartesian grid                     
  --nelz                     -z    <arg> Num cells in Z in overlay Cartesian grid                     
  --xmin                     -t    <arg> Min X coord of overlay Cartesian grid                        
  --ymin                     -u    <arg> Min Y coord of overlay Cartesian grid                        
  --zmin                     -v    <arg> Min Z coord of overlay Cartesian grid                        
  --xmax                     -q    <arg> Max X coord of overlay Cartesian grid                        
  --ymax                     -r    <arg> Max Y coord of overlay Cartesian grid                        
  --zmax                     -s    <arg> Max Z coord of overlay Cartesian grid                        
  --cell_size                -cs   <arg> Cell size (nelx, nely, nelz ignored)                         
  --align                    -a          Automatically align geometry to grid                         
  --bbox_expand              -be   <arg> Expand tight bbox by percent                                 
  --input_mesh               -im   <arg> Input Base Exodus mesh                                       
  --input_mesh_blocks        -imb  <arg> Block ids of Input Base Exodus mesh                          
  --input_mesh_material      -imm  <arg> Material definition with input mesh                          
  --input_mesh_pamgen        -imp  <arg> Input Base mesh defined by Pamgen                            
  --join_parallel            -jp   <arg> Join parallel files                                          

Sculpt Command Summary

インターバルの数 X

Command: nelx     Num cells in X in overlay Cartesian grid

Input file command:   nelx <arg>
Command line options: -x <arg>
Argument Type:        integer > 0 
コマンド説明:

体積分率定義とメッシングに使用する基準直交グリッドのx方向インターバル数を定義します。最良の結果を得るには、指定したインターバルによって各セルがおおむね等辺形状になるようにしてください。

こちらもご覧ください:NELZ


インターバルの数 Y

Command: nely     Num cells in Y in overlay Cartesian grid

Input file command:   nely <arg>
Command line options: -y <arg>
Argument Type:        integer > 0 
コマンド説明:

体積分率定義とメッシングに使用する基準直交グリッドのy方向インターバル数を定義します。最良の結果を得るには、指定したインターバルによって各セルがおおむね等辺形状になるようにしてください。

こちらもご覧ください nelx, nelz


インターバルの数 Z

Command: nelz     Num cells in Z in overlay Cartesian grid

Input file command:   nelz <arg>
Command line options: -z <arg>
Argument Type:        integer > 0 
コマンド説明:

体積分率定義とメッシングに使用する基準直交グリッドのz方向インターバル数を定義します。最良の結果を得るには、指定したインターバルによって各セルがおおむね等辺形状になるようにしてください。

こちらもNELXをご覧ください。


Xmin ボディングボックス

Command: xmin     Min X coord of overlay Cartesian grid

Input file command:   xmin <arg>
Command line options: -t <arg>
Argument Type:        floating point value 
コマンド説明:

メッシングに使用される直交座標系メッシュの限界ボックスまたは範囲の最低 x 座標を定義します。

ymin、zmin、xmax、ここx、zmaxも参照してください。


Ymin Bounding ボックス範囲

Command: ymin     Min Y coord of overlay Cartesian grid

Input file command:   ymin <arg>
Command line options: -u <arg>
Argument Type:        floating point value 
コマンド説明:

メッシングに使用される直交座標系メッシュの限界ボックスまたは範囲の最低 y 座標を定義します。

xmin、zmin、xmax、ここx、zmax を参照してください。


Zmin Bounding ボックス範囲

Command: zmin     Min Z coord of overlay Cartesian grid

Input file command:   zmin <arg>
Command line options: -v <arg>
Argument Type:        floating point value 
コマンド説明:

メッシングに使用される直交座標系メッシュの限界ボックスまたは範囲の最小 z 座標を定義します。

xmin、ymin、xmax、ここx、zmax も参照してください。


Xmax ボディングボックス範囲

Command: xmax     Max X coord of overlay Cartesian grid

Input file command:   xmax <arg>
Command line options: -q <arg>
Argument Type:        floating point value 
コマンド説明:

メッシングに使用される直交座標系メッシュの限界ボックスまたは範囲の最大 x 座標を定義します。

xmin、ymin、zmin、ここx、zmax も参照してください。


Ymax ボディングボックス範囲

Command: ymax     Max Y coord of overlay Cartesian grid

Input file command:   ymax <arg>
Command line options: -r <arg>
Argument Type:        floating point value 
コマンド説明:

メッシングに使用される直交座標系メッシュの限界ボックスまたは範囲の最大 y 座標を定義します。

xmin, ymin, zmin, xmax, zmax を参照してください。


Zmax ボディングボックス範囲

Command: zmax     Max Z coord of overlay Cartesian grid

Input file command:   zmax <arg>
Command line options: -s <arg>
Argument Type:        floating point value 
コマンド説明:

メッシングに使用される直交座標系メッシュの限界ボックスまたは範囲の最大 z 座標を定義します。

xmin、ymin、zmin、xmax、ここx を参照してください。


セルサイズ

Command: cell_size     Cell size (nelx, nely, nelz ignored)

Input file command:   cell_size <arg>
Command line options: -cs <arg>
Argument Type:        floating point value 
コマンド説明:

直交座標系ベースネットワークのセルのためのターゲットエッジサイズを定義します。 インターバルとcell_sizeの両方を同時に指定することはできません。 cell_sizeが範囲仕様なしで使用される場合、ジオメトリの境界ボックスが計算され、デフォルト範囲として使用されます。


Align

Command: align     Automatically align geometry to grid

Input file command:   align
Command line options: -a
コマンド説明:

alignオプションは、直交グリッドをジオメトリの主要寸法方向へ揃えようとします。ジオメトリを囲むboxとジオメトリ自体の体積差を最小化する最適化手順により、ジオメトリ周囲へtight bounding boxを定義します。alignコマンドを使用すると、以前入力したbounding boxパラメータを上書きし、ジオメトリ全体を囲む"aligned" bounding boxを構築します。現在はSTLジオメトリにのみ実装され、他のdiatom定義は無視します。このオプションは一時stlおよびdiatomファイルをworking directoryへ書き出します。


ボードボックス拡張要因

Command: bbox_expand     Expand tight bbox by percent

Input file command:   bbox_expand <arg>
Command line options: -be <arg>
Argument Type:        floating point value 
コマンド説明:

「Sculpt」は、入力モデルの固い結合ボックスを測定し、 x、y、z で指定された割合でボックスを拡張します。 入力値は、 1.0 が 100 パーセントの拡張を表すポジティブまたはネガティブの浮動ポイント値である可能性があります。 指定されていない場合、デフォルトでは、各側のブロンドボックスに約 2.5 セル幅を追加します。 このオプションはcell_sizeのオプションと共に使用する必要があります。 特定の限界ボックスが定義された場合に無視されます(すなわち、 xmin、Yminなど・・・。


入力ベースExodusメッシュ

Command: input_mesh     Input Base Exodus mesh

Input file command:   input_mesh <arg>
Command line options: -im <arg>
Argument Type:        file name with path 
コマンド説明:

オプションはExodusファイルをSculptのメッシュベースとして使用するExodusファイルを輸入します。 Sculptのメッシング手順には、ジオメトリが回復され捕獲される基礎メッシュが必要です。 デフォルトベースメッシュは直交座標系ネットワークで、制限ボックスとインターバルを指定することによって定義されます。 ☆ ☆ ☆ ☆ input_mesh オプションは、一般的な六面体のメッシュが直交座標系のネットワークの代わりにベースのメッシュとして使用されることを可能にします。 このオプションは現在、何らかのブロックを含むHEX8の要素を含むシリアルおよび並行のExodusファイルをサポートしています。

input_mesh
「Exodus」ファイルはSculptのベースメッシュとして使用され、STLファイルは、彫刻されるジオメトリを説明します。

☆ ☆ ☆ ☆ input_mesh オプションもパラレルで使用できます。 「Sculpt」は現在、sculptを実行する前にメッシュを解体する必要がある。 SEACAS デコップ このツールは任意のExodus meshを前処理し、Sculptで使用可能な複数meshへ分割できます。SEACASはGitHubで公開されているオープンソースライブラリです。たとえばSculptを4processorで使用する場合は次のコマンドを使用します:

    decomp -p 4 simple-mesh.g

結果は、4つのメッシュになります。

    simple-mesh.g.4.0
    simple-mesh.g.4.1
    simple-mesh.g.4.2
    simple-mesh.g.4.3

メッシュベースが解体された後、「Sculpt」は実行できます。 この場合、The input_mesh オプションは根を使用します。 シンプル「MESH.G」 という議論として。

    input_mesh = simple-mesh.g

もし、The J4 オプションが使用され、「sculpt」は、適切な根と拡張子を含む現在のワークディレクトリで4つのメッシュを検索します。

4つの異なるオプションがジオメトリを記述するためにサポートされます。 input_mesh オプションを使用します:

  • stl_fileの記事一覧 単一のファイルにはジオメトリの表面的な説明が含まれています。 メッシュベースに完全に含まれているSTLファイルの部分のみが最終メッシュに表示されることに注意してください。
  • diatom_file: ジオメトリ原始物の分析的説明や複数のSTLファイルへの参照が含まれる可能性があります。
  • input_spn: SPNファイルのセルの材料は、逆の距離重量のインターポレーションを使用してメッシュ入力の要素にマッピングされます。 stl や diatom ファイルと同様に、ベースメッシュに完全に含まれる spn ファイルの部分のみが最終メッシュに表示されます。 ☆ ☆ ☆ ☆ input_mesh_blocks オプションはspn_fileのオプションと共に使用して、spnファイルからメッシュファイルまでの材料のマッピングの範囲を制限することができます。 このオプションが使用されている場合、指定されたブロックの要素のみがマッピングされます。 詳細はこちらをご覧ください。 input_mesh_blocks オプション
  • 要素の変数: ジオメトリはExodusファイル内のelement variableでも記述できます。element variableは材料体積分率を表し、任意の1cellについてelement variableの合計が0.0〜1.0になる必要があります。任意数のelement variableを使用でき、各一意variableは最終生成Exodus mesh内のelement blockを表します。あるelementでelement variable合計が1.0未満の場合、次の条件を除きvoid materialが存在するとみなしbase meshから除去します: mesh_void オプションを使用した場合は除きます。

制限:

  • STLファイルと要素変数は、同じ入力で使用することはできません。 要素の変数がExodusファイルに存在し、STLまたは「Diatom」ファイルが使用された場合、要素の変数は無視されます。
  • 入力メッシュが使用される場合、直交座標系のネットワーク規格は無視されます(例えば、 ネルクス, xmin, xmax).
  • ☆ ☆ ☆ ☆ adapt_type このオプションは、mapped meshを定義するExodus入力メッシュに対してのみ機能します。adapt type vfrac_average(4) そして、 vfrac_difference(6) 現時点では、唯一の基準は、 input_mesh オプション

ブロックの入力ベースExodusのメッシュ

Command: input_mesh_blocks     Block ids of Input Base Exodus mesh

Input file command:   input_mesh_blocks <arg>
Command line options: -imb <arg>
Argument Type:        integers > 0 
コマンド説明:

このオプションは、両方を指定する際に有効です。 input_mesh そして、 spn_file」 このオプションを使用すると、 spn ファイルのセルの材料はinput_meshファイルの指定されたブロックの要素にのみマッピングされます。 残りのブロックは空白として扱われます。 このオプションなしの行動は、 spn ファイルのセルの材料を、input_mesh ファイルのすべてのブロックの要素にマップします。


材料の定義入力メッシュ

Command: input_mesh_material     Material definition with input mesh

Input file command:   input_mesh_material <arg>
Command line options: -imm <arg>
Argument Type:        integers > 0 
Input arguments: geometry (0)
                 blocks (1)
                 proximity_blocks (2)
                 geometry_and_blocks (3)
コマンド説明:

このオプションはinput_meshを指定する際に有効です。 このオプションを使用すると、最後のメッシュの物質定義はジオメトリの物質定義に基づいて定義されるか、入力メッシュのブロックIDに基づいて定義される。 例えば、ジオメトリを定義するDiatomsファイルには、最終的なメッシュの材料を定義するために使用される定義された材料があります。 デフォルトはジオメトリの物質定義を使用することです。 可能なオプションは:

  • ジオメトリ(0): 物質はジオメトリで定義されています。 入力ファイルのブロックの定義は無視されます。 代わりに、STLまたはDiatomsのジオメトリの定義から定義されたジオメトリのみが尊重されます。
  • ブロック(1): ブロックで定義された材料は、入力メッシュで定義されます。 入力ファイルのSTL/Diatomsファイルとブロックの定義によって定義されたジオメトリの定義は、メッシュを構築するために使用されます。 最後のメッシュで使用されるブロックの定義はinput_meshのブロックによってのみ定義され、Diatomsファイルのいかなる物質的定義も無視されます。 STL/Diatomsジオメトリとブロックジオメトリの間の内部交差インターフェイスが発生するメッシュ品質を維持するために、パイリングが必要になる可能性があります。 使われているとき、The mesh_void オプション、要素ブロックのグループ化は、STL/Diatomsジオメトリの内部にのみ行われます。 空の領域における要素は指定された領域に割り当てられます。 void_mat
  • proximity_blocks (2): ブロックによって定義された材料は、接近方法に基づいてメッシュの入力で定義されます。 最終メッシュのジオメトリインターフェイスは、STL/Diatomsの定義に基づいて定義されます。 ジオメトリ(0) メソッド要素の物質/ブロックの割り当ては、メッシュの入力でブロックによって定義された地域内に含まれる個々の要素の接近によってのみ定義されます。 ブロックの割り当ては、最後のメッシュにすべての要素を収集することによって行われ、その中心はメッシュの入力に特定のブロックに落ちます。 この方法は、内部の交差点やその後の悪いメッシュ品質を避け、その結果、 ブロック(1) 上記に記載されている方法です。 その結果、内部インターフェイスは非継続的(ステップステップ)になる可能性があります。 Diatomsファイルで定義された材料IDとinput_メッシュで定義されたものとの間の衝突を避けるために、最終的な「mesh」のブロックIDは、以下の定義に基づいて割り当てられます。
          ID = (diatom_material_ID-1)*max_input_mesh_block_ID + input_mesh_block_ID
        
    max_input_mesh_block_IDがmax_diatom_material_IDより小さい場合は、以下の定義を使用します。
          ID = (input_mesh_block_ID-1)*max_diatom_material_ID + diatom_material_ID
        
  • geometry_and_blocks (3): 材料は、入力のメッシュでジオメトリとブロックによって定義されます。 入力ファイルのSTL/Diatomsファイルとブロックの定義によって定義されたジオメトリの定義は、メッシュを構築するために使用されます。 最後のメッシュで使用されるブロックの定義は、Diatomsファイルで定義された材料IDとinput_meshのブロックによって定義されます。 ジオメトリがinput_meshで定義された材料のブロックを上回る場合、ジオメトリが先行する。
input_mesh_material
結果のメッシュの例は、異なるオプションを使用して、 input_mesh_material」 この場合、ジオメトリはSTLファイル(スペース)によって定義され、 input_mesh ブロックは、8つの異なる材料を含むブロックです。

パムゲンによって定義された入力ベースメッシュ

Command: input_mesh_pamgen     Input Base mesh defined by Pamgen

Input file command:   input_mesh_pamgen <arg>
Command line options: -imp <arg>
Argument Type:        file name with path 
コマンド説明:

オプションは、Pamgen を使用してSculptのベースメッシュを作成します。 パムゲンは、Sandiaで開発されたオープンソースのメッシングツールで、六面体メッシュをジオメトリ原始物から生成する。 独自のメッシングソリューションであることに加えて、サンディアのショック物理シミュレーションツール「アレグラ」の内線メッシングツールとして統合されるパラレルツールです。 パムゲンはまたSculptに組み込まれており、ベースのメッシュを自動的に定義するためのソリューションです。

☆ ☆ ☆ ☆ input_mesh_pamgen オプションは、私のPamgen入力パラメーターを定義したメッシュがベースメッシュを定義することを可能にします。 ブリックとシリンダーの原始物の限られたセットがPamgenによってサポートされています。 パムゲンメッシュの定義を含むアシアファイルの名前は、このオプションの議論として使用されます。 以下は、単純なメッシュの記述の例です。 それは90度のスペースと1.0の高さの部分的なシリンダーを生成します。 他のパラメーターは、特定のインターバルおよびサイズの仕様、およびブロック/物質識別を可能にします。

    mesh
        radial trisection
            trisection blocks, 2
            zmin -0.00075
            numz 1
                zblock 1 1. interval 8
            numr 3
                rblock 1 2.0 interval 8
                rblock 2 3.0 interval 8
                rblock 3 4.0 interval 8
            numa 1
                ablock 1 90. interval 24
        end
        set assign
            nodeset, ilo, 100
            block sideset, ihi, 45, 2
        end
    end

パムゲンと入力パラメーターの詳細については、以下の文書をご覧ください。

デイヴィッドM ハンシンガー、リチャードR ドレイク、ジェームズ・G トーマス・A・トーマス Gardiner, "Pamgen, a Library for Parallel Generation of Simple 有限要素メッシュ, Sandia Report SAND2008-1933 (2008)

pamgen mesh
ベースメッシュは、上記の入力パラメーターを使用してパムゲンによって生成されます。 色は、パラレルモードで使用するときに4つの異なるプロセッサを表します。

同様に、The input_mesh オプション、同じジオメトリ入力オプションが利用可能です。 を含む stl_file, diatom_file そして、 input_spn」 見る The input_mesh オプション追加の詳細と制限


パラレルファイル

Command: join_parallel     Join parallel files

Input file command:   join_parallel <arg>
Command line options: -jp <arg>
Argument Type:        true/false 
Input arguments: off (0)
                 false (0)
                 on (1)
                 true (1)
コマンド説明:

プロセッサごとに1つのファイルセットを輸入し、データベース名によって定義されたファイル名を使用します。 import_mesh オプション。使用しない場合(デフォルト)、入力Exodus meshには隣接processor間の並列関係が確立済みのparallel(Nemesis)データが含まれると仮定します。通常はSEACASの デコップ 単一Exodus meshを複数ファイルへ分解するツール。

もし、The join_parallel オプションが使用され、「sculpt」は、パラレル関係が含まれていないと仮定し、プロセッサの境界にあるノードの位置の近くに基づいてこれらの関係を確立する。 ファイル名称コンセプトは、標準のexodusパラレルファイル名称コンセプトに従うべきであることに注意してください。 たとえば、4つのファイルに広がるメッシュが名付けられます:

    brick.e.4.0
    brick.e.4.1
    brick.e.4.2
    brick.e.4.3

このオプションは現在、軸に整列した長方形processor domainにのみ実装されています。また、追加のSculpt操作を行わずExodusファイルをstitchして結果ファイルだけを書き出す用途にも使用できます。以下は追加Sculpt操作なしで単純stitchingを行うSculpt入力ファイルの例です:

    begin sculpt
      input_mesh = brick.e
      exodus_file = brick_ouput
      join_parallel  = true
      input_mesh_material = blocks
      stair = fast
    end sculpt