ソルバーのジョブコントローラー開発
案件概要
計算サーバーには複数のユーザーから同時に解析ジョブが投入されることも珍しくありません。
弊社では、ジョブに割り当てられた優先度に沿って、解析の一時中断や再開処理を自動統御するジョブコントローラーの開発も行っております。
問題点:
・お客様の社内では、複数のソルバーが別々の計算機で稼働しており、
ライセンス管理や解析の優先順位の設定、夜間・休日の解析実行の制御が困難
解決方針:
・解析に特化したジョブスケジュール用ソフトウェアを独自に開発する
・優先度に応じた解析ジョブの投入をできるようにする

計算サーバーにソルバーの実行を制御するプログラムを、ユーザーPCに制御プログラムへアクセスするプログラムを導入しています
仕様技術
- 言語: C#
- フロントエンドフレームワーク: WPF
- 開発環境: Visual Studio Code, Git
プロジェクトの特徴と対応
ユーザーが指定した優先度をもとに解析順序を制御することで、夜間や土日などのユーザーが居ない間にも効率良く計算を行えるジョブコントローラーを開発しました。
お客様の開発環境に合わせて、LS-Dyna、Nastran、Abaqusなど、複数の開発ソルバーに対応したシステムをご用意しました。
また、お使いのソルバーのヴァージョン、ユーザーサブルーチンの指定なども可能となっています。

以下は、実際にAbaqusのジョブを投入するときの入力画面です。
上段にあるインプットファイル入力欄の下にある「追加」ボタンを押して、もしくはドラッグ&ドロップによって入力ファイルを指定します。
中段には、ユーザーサブルーチンの入力欄、リスタートファイルの入力欄をご用意しました。
これらの情報をもとに、プログラム内部でAbaqusに送信するためのコマンド文字列を作成し、サーバーへ自動的に転送しております。
よく利用する設定はこちらの画面で標準機能として登録することができ、コマンドを直接入力するような特殊な操作については拡張画面で入力できるようにしました。
下部には、Abaqusのヴァージョン指定欄、優先度、投入モードなどを指定する欄があります。
Abaqusのように一時停止機能を持つ計算プログラムでは、ある計算を一時停止している間に他の計算を流すということも可能です。
「投入モード」はそうした機能を簡易的に模擬するためにご用意しました。

以上に加えまして、本記事でご紹介したジョブコントローラーは中長期的な改良を行っております。
- ソルバーのバージョンアップ
- ソルバーごとの細かいオプションの設定
など、今後も利便性向上のための更新を行ってまいります。
成果
- お客様の設計業務の効率化による、新たなビジネスチャンスの創出
- ライセンス管理の効率化によるコストダウン
当社はCAE解析会社と密接なコネクションがあり、細やかなオプション機能を提供することができます。
CAEでお困りのことがありましたら、ぜひ弊社にお問い合わせください。