フェイルセーフトポロジー最適化

OptiStruct SPMDには、構造のトポロジー最適化のためにフェイルセーフトポロジー最適化(FSO)というMPIベースの並列化の別の方法が含まれています。

通常のトポロジー最適化の実行においては、構造の一部が壊れている状況まで考慮した設計案の実現可能性を考慮できない場合があります。FSOでは、その構造が複数の損傷ゾーンに分けられ、複数のモデルが生成されます(破壊ゾーンの数と等しい)。この場合、各モデルは、元のモデルから1つの破壊ゾーンを引いたものと同じです。このプロセスでは、FSO方法は、そのように生成されたすべてのモデルに対して同時にトポロジー最適化を実行することで適用され、最終設計は、生成されたすべてのモデルを考慮するよう最適化され出力されます。

通常、損傷ゾーンの数は多く、これは、SPMDドメインの数が多いことを意味します。そのようなジョブは、クラスタがセットアップされた複数のノードで実行される必要があります。

アクティブ化

  1. DTPLバルクデータエントリ上のFAILSAFE継続行、フェイルセーフトポロジースクリプト実行オプション(-fso)、およびプロセッサの数(-np)を使用して、フェイルセーフトポロジー最適化をアクティブにできます。たとえば、/Altair/hwsolvers/script/optistruct filename.fem -np 20 -fsoのようになります。
    注: スクリプトオプション-fsoに相当する実行可能ファイル用オプションは、-fsomodeです。
  2. プロセッサの数は、元のモデル内の損傷ゾーンの数 + 1と等しく設定する必要があります。損傷ゾーンの数を判断するには、トポロジー最適化モデル(FAILSAFE継続行を使用)を逐次実行モード(またはチェックラン)で実行し、.outファイルを参照します。フェイルセーフ最適化のためのMPIプロセッサの数は、.outファイルに表示されます。これにより、後続のMPI(-fso)実行のためのプロセッサの数(-np)が決定されます。

OptiStructでのフェイルセーフトポロジー最適化の起動については、FSOの起動をご参照ください。

出力

  1. 損傷ゾーンのために別個の<filename>_FSOiフォルダーが作成されます。各フォルダーには、対応するモデルのすべてのトポロジー最適化結果が含まれています。たとえば、フォルダー<filename>_FSO1には、損傷した1つ目のモデル(元のトポロジーモデルから1つ目の損傷ゾーンを引いたもの)のトポロジー結果(.out.stat.h3d_des.h3dファイルなど)が含まれます。
  2. メイン作業ディレクトリで、損傷ゾーンが、1つ目の層とオーバーラップする層(アクティブ化されていない場合)の両方について、<filename>_fso.h3dファイルに出力されます。その後、損傷ゾーンをHyperViewで可視化できます。
  3. また、メイン作業ディレクトリで、最後のフェイルセーフトポロジー最適化結果が、<filename>_des.h3dファイルに出力されます。これらの結果を最初の非フェイルセーフトポロジー結果と比較して、変更された設計について理解することをお勧めします。

サポートされるソリューションシーケンス

  1. シェル要素とソリッド要素は両方とも現在サポートされています。
  2. マルチボディダイナミクス(OS-MBD)および幾何学的非線形解析(Radiossインテグレーション)は現時点でサポートされていません。
  3. FSOは現時点では、領域分割法(DDM)と併せて使用することはできません。

FSOの起動

OptiStruct SPMDを用いて並列プログラムを起動するには、いくつかの方法があります。

OptiStruct SPMDを起動する際には、必要に応じて環境変数を設定してください。詳細については、該当するMPIベンダーのマニュアルをご参照ください。OptiStruct 14.0以降、一般的に使用されるMPIランタイムソフトウェアは、Altair Simulationインストレーションの一部として自動的に含まれます。$ALTAIR_HOME/mpiに各種MPIインストレーションが格納されています。

Linuxマシン

ソルバースクリプトの使用

単一ホスト上

[optistruct@host1~]$ $ALTAIR_HOME/hwsolvers/scripts/optistruct.bat [INPUTDECK] [OS_ARGS] -mpi [MPI_TYPE] -fso -np [n]

ここで、
[MPI_TYPE]
MPIインプリメンテーションを使用:
pl
IBM Platform-MPI(以前のHP-MPI)の場合
i
Intel MPIの場合
ms
MS-MPIの場合
-- ( [MPI_TYPE]
(オプション)Windowsマシン上のデフォルトのMPIインプリメンテーションはi
詳細については、実行オプションをご参照ください。
[n]
MPIプロセスの数
[INPUTDECK]
入力デックのファイル名
[OS_ARGS]
OptiStructへの引数のリスト(オプション。詳細については、実行オプションをご参照ください)。
注:
  1. コマンド行オプション-testmpiを追加すると、MPIインストレーション、セットアップ、ライブラリパスなどが正しいかどうかを検証する小さなプログラムが実行されます。
  2. OptiStruct FSOは、Console Compute GUIを使って起動することも可能です。(Altair Console Compute (ACC)をご参照ください)。
  3. GUI / ソルバースクリプトを使用せずにOptiStruct FSOを起動することも可能です。FAQセクション内のDDMの実行では、MPIプロセス毎にいくつのMPIプロセス(-np)およびスレッド(-nt)を使用すべきですか?をご参照ください。
  4. オプションのコマンド行オプション–mpipath PATHを追加すると、MPIインストレーションが現在の探索パスに含まれていなかったり、複数のMPIがインストールされている場合に、MPIインストレーションを見つけることができます。
  5. MPI TYPE実行オプション(-fso)が指定されていない場合、DDMがデフォルトで実行されます)(ハイブリッド共有 / 分散メモリ並列化(SPMD)をご参照ください。)。

Windowsマシン

ソルバースクリプトの使用

単一ホスト上
[optistruct@host1~]$
$ALTAIR_HOME/hwsolvers/scripts/optistruct.bat [INPUTDECK] 
[OS_ARGS] -mpi [MPI_TYPE] -fso -np [n]
ここで、
[MPI_TYPE]
MPIインプリメンテーションを使用:
pl
IBM Platform-MPI(以前のHP-MPI)の場合
i
Intel MPIの場合
ms
MS-MPIの場合
-- ( [MPI_TYPE]
(オプション)Windowsマシン上のデフォルトのMPIインプリメンテーションはi
詳細については、実行オプションをご参照ください。
[n]
MPIプロセスの数
[INPUTDECK]
入力デックのファイル名
[OS_ARGS]
OptiStructへの引数のリスト(オプション。詳細については、実行オプションをご参照ください)。
注:
  1. コマンド行オプション-testmpiを追加すると、MPIインストレーション、セットアップ、ライブラリパスなどが正しいかどうかを検証する小さなプログラムが実行されます。
  2. OptiStruct FSOは、Console Compute GUIを使って起動することも可能です。(Altair Console Compute (ACC)をご参照ください)。
  3. GUI / ソルバースクリプトを使用せずにOptiStruct FSOを起動することも可能です。FAQセクション内のDDMの実行では、MPIプロセス毎にいくつのMPIプロセス(-np)およびスレッド(-nt)を使用すべきですか?をご参照ください。
  4. オプションのコマンド行オプション–mpipath PATHを追加すると、MPIインストレーションが現在の探索パスに含まれていなかったり、複数のMPIがインストールされている場合に、MPIインストレーションを見つけることができます。
  5. MPI TYPE実行オプション(-fso)が指定されていない場合、DDMがデフォルトで実行されます)(ハイブリッド共有 / 分散メモリ並列化(SPMD)をご参照ください。)。