Linuxクラスタ上でバッチ処理するためのSimSolidの設定
このガイドは、Altair SimSolidの解析をバッチモードで実行するためにLinuxクラスタ環境を設定するために必要な手順をIT管理者に提供します。これにより、ユーザーはSimSolidのグラフィカルユーザーインターフェースを操作することなく、ジョブをサブミットすることができ、複数解析または大規模解析のワークフローを効率化できます。
コアコンポーネント
SimSolidのバッチジョブを実行するには、以下の3つの主要コンポーネントが必要です。
- SimSolid実行ファイル:Linux用SimSolidアプリケーションをクラスタにインストールする必要があります。実行ファイルはAltair Marketplaceからダウンロードできます。
- JavaScript(.js)コマンドファイル:SimSolidがバッチジョブ中に実行するコマンドシーケンスを含むスクリプト。
- SimSolidプロジェクトファイル(.ssp):ユーザーが解析するモデルファイル。
コマンドライン構文
SimSolidバッチジョブを起動するための基本コマンドは、次のような構成になります。このコマンドは、ご利用のクラスタのジョブ投入システムに組み込む必要があります。
<installation_folder>/simsolid -s <path_to_js_file> -p <path_to_ssp_file> -l <path_to_log_file>
引数の詳細
<installation_folder>/simsolid:SimSolidの実行ファイルの完全パスです。例:C:\"Program Files"\Altair\2024\SimSolid2024\Simsolid.exe.-s:このフラグは、JavaScriptコマンドファイルのパスを指定します。-p:このフラグは、ユーザーの入力SimSolidプロジェクト(.ssp)ファイルのパスを指定します。-l:このフラグは、ジョブの進行状況とエラーを記録する出力ログファイルのパスとファイル名を指定します。
コマンド例
<インストールフォルダー>/altair/2026/SimSolid2026/simsolid -s <.jsファイルのパス>/Linux.js -p <SSPファイルのパス>/<SSPファイル名> -l <ログファイルのパス>/log.txt
JavaScriptコマンドファイル
.jsファイルはバッチプロセスの中核であり、SimSolidが入力ファイルに対して実行するコマンドが含まれています。標準化されたスクリプトをユーザー向けに展開したり、ユーザーの選択内容に応じてカスタムスクリプトを生成するシステムを構築できます。
以下は.jsファイルの構文のサンプルです。
// open project
// The '%1%' placeholder is intended to be replaced by the actual
// project name by the batch submission system before execution.
Project.open({ file: '%1%.ssp'});
//Set number of logical cores to use for the solution
Project.setOptions({ numOfCoresToUse: 24 });
// Initialize solutions for all analyses
Project.initializeSolutions();
// Solve all analyses
Project.solveAllAnalyses();
// Save the solved project with a new name
Project.save({ file: '%1%_solved.ssp'});
上記のスクリプトでは、入力の.sspファイルのベースファイル名のプレースホルダーとして%1%が使用されています。ネイティブのJavaScript構文ではありません。ジョブ投入システムまたはラッパースクリプトの役割は、SimSolidにスクリプトを渡す前に、このプレースホルダーを実際のファイル名に置き換えることです。
たとえば、ユーザーがVariant-ASM.sspファイルを使ってジョブをサブミットした場合、システムは動的に一次スクリプトを作成し、%1%をVariant-ASMに置換します。これにより、SimSolidが実行するラインがProject.open({ file:'Variant-ASM.ssp'});およびProject.save({ file:'Variant-ASM_solved.ssp'});になります
カスタマイズとパラメータ化
このスクリプトは簡単にパラメータ化できます。ジョブ投入ポータルを利用すると、ユーザーの入力に基づいて実行する前に、このスクリプトテンプレートを修正できます。
- コア数:
Project.setOptions({ numOfCoresToUse: 24 });の値は、ユーザー要求に基づいて動的に変化します。 - オプションのステップ:
Project.initializeSolutions();のラインなど、ユーザーがステップをスキップしたい場合、投入システムにロジックを構築して、そのラインをコメントアウトまたは削除することができます。