Sculptアプリケーション

このページでは、複雑な形状の全 Hex メッシュを並列生成するために設計された Cubit の別個のコンパニオンアプリケーション Sculpt について説明します。Sculpt は、高性能計算プラットフォーム上で Cubit から独立して実行できるよう、別アプリケーションとして開発されました。また、他のコードへ in-situ メッシュ生成機能として容易に組み込めるよう、分離可能なソフトウェアライブラリとしても設計されています。Cubit にインストールされた Sculpt は、Cubit から直接設定・実行するほか、Unix コマンドラインからのバッチ処理、またはユーザー定義の入力ファイルから実行できます。この文書では、Sculpt Application をバッチモードで実行する場合の入力ファイルとコマンドライン構文を説明します。Cubit を使って Sculpt の入力を設定する方法については こちらの ページを参照してください。Sculpt の簡単な技術解説については、 こちら.

Sculpt のシステム要件

Sculpt は現在、Windows、Linux、macOS 向けにビルドされています。対応 OS のバージョンは、Cubit がサポートするバージョンと同じです。64ビットのマルチコアおよび分散メモリ計算機を活用するよう設計され、並列通信の基盤として Open MPI を使用します。

Sculpt の実行

Sculpt は次の2種類の実行ファイルのいずれかを使用して実行できます:

  1. psculpt

    1. を実行するには mpiexec プロセスを起動します。使用するプロセッサ数は mpiexec の -np 引数で指定します。psculpt とその入力パラメータも mpiexec への入力として指定します。例:
      mpiexec -np 8 psculpt -stl myfile.stl -cs 0.5

      適切なシステムパスが設定されていない場合は、mpiexec と psculpt を参照するときにフルパスを指定する必要があります。

    sculpt

    1. このアプリケーションでは、mpiexec が標準の CUBIT インストールディレクトリに含まれていることを前提としています。使用するプロセッサ数は -j オプションで指定します。例:
      sculpt -j 8 -stl myfile.stl -cs 0.5
      -j オプションを指定しない場合、sculpt はデフォルトで1プロセッサを使用して実行します。sculpt アプリケーションでは -mpi オプションを使用して、CUBIT に含まれていない特定の MPI インストールを指定することもできます。例:
      sculpt -j 8 -mpi /path/to/mpiexec -stl myfile.stl -cs 0.5 
      -mpi オプションで指定したパスが存在しない場合、または MPI のバージョンに互換性がない場合、sculpt は CUBIT にインストールされたローカルの mpiexec を使用し、それも利用できなければ PATH 環境変数上のシステム mpiexec を使用しようとします。

Sculpt の例

以下に Sculpt アプリケーションの簡単な使用例を示します。これらの例を試すには、次の STL ファイルと diatom ファイルを作業ディレクトリへコピーしてください

  1. brick1.stl
    brick2.stl
    bricks.diatom

例1

sculpt -j 4 -stl brick1.stl -cs 0.5

brick1.stl を形状入力として、4プロセッサで sculpt を実行します。ベースとなる直交セルサイズには 0.5 を使用します。バウンディングボックスおよびその他すべてのパラメータにはデフォルト値が使用されます。結果として次の4個の Exodus ファイルが生成されます:

     brick1.stl_results.e.4.0
     brick1.stl_results.e.4.1
     brick1.stl_results.e.4.2
     brick1.stl_results.e.4.3

これらのファイルは、SEACAS ツールの epu

epu -p 4 brick1.stl_results

この操作の結果として、次の1個のファイルが生成されます:

     brick1.stl_results.e

生成されたメッシュを Cubit で表示するには、import free mesh コマンドを使用します。例:

  1.  import mesh "brick1.stl_results.e" no_geom

Meshed example

図1. 例1のメッシュ

例2

mpiexec -np 4 psculpt -x 46 -y 26 -z 26 -t -6.5 -u -6.5 -v -6.5 -q 16.5 -r 6.5 -s 6.50 -d bricks.diatom

この場合は mpiexec を使用して、4個の psculpt。ここでは直交格子の分割数とグリッド寸法を明示的に指定します。-stl オプションの代わりに -d オプションを使用して、diatom ファイル bricks.diatom を指定します。このファイルでは複数の STL ファイルを指定でき、それぞれを異なる材料として扱えます。この例では brick1.stl と brick2.stl の両方を使用し、bricks.diatom 内で参照しています。

例1と同様のコマンドを使用して free mesh を結合し、Cubit へインポートして表示できます。

Meshed example 2

図2. 例2のメッシュ