プログラム開発事例 ~ソルバーのジョブスケジューラー~

汎用化されたソルバーを用いて計算解析を行う場合、計算を行うためのサーバーを用意して、複数のユーザーが計算サーバーのプログラムを共同で利用することがありますが、当社では計算サーバーの制御に特化したジョブスケジューラーの開発も行っています。


ソルバーを制御するプログラムのモデル図

過去の例では、計算サーバーにソルバーの実行を制御するプログラムを導入し、ユーザーのコンピューターに制御プログラムへアクセスするプログラムを導入することで、実行の優先順位を制御して、夜間や土日などのユーザーが居ない間にも効率良く計算を行えるシステムを導入しました。日本アムスコ内でも、LS-Dyna、Nastran、ABAQUS の計算を円滑に進めるためにスケジューラを導入し、現在利用しています。


さらにABAQUSのように一時停止機能を持つ計算プログラムもあり、ABAQUSではある計算を一時停止している間に他の計算を流すということも可能ですが、当社の開発したジョブスケジューラでは、そのような操作も簡易的に行えるようにしています。


ユーザー側のGUIのモデル図

当社はプログラムの開発だけでなく、実際にCAE解析を行っている会社とも密接な関係があり、ソルバーのバージョンアップや、細かなソルバーのオプション設定などにも迅速に対応していきます。

また、ソルバーの計算設定を指定するために、複雑なコマンドを入力しなければならない場合もありますが、ユーザー側のGUIでコマンド入力操作を簡易化することも出来ます。次はAbaqus のジョブ投入を行うためのGUIです。ユーザーサブルーチンやリスタートファイルなどの指定や、計算のオプションなどをGUI上でユーザーが指定すると、プログラム内部でAbaqusに送信するためのコマンド文字列を作成して、サーバーへ自動的に転送します。良く使用するような機能は標準機能画面で設定出来るようにしておき、特殊な解析設定や直接コマンドを打つ操作を拡張機能画面で設定するようにし、利便性のアップを図っています。

Abaqus