Simcenter STAR-CCM+ FAQs
Rescale上でSimcenter STAR-CCM+を実行するには、標準のSTAR-CCM+コマンドラインインターフェイスを使用することができます。
starccm+ -power -np <mpi-ranks> -machinefile $HOME/machinefile -batch <batch-script>
共通フラグです。
-batch
バッチモードでの実行(UIなし)。コマンド:run, step, mesh, または <.java macro file>.
-np
並列プロセス数を指定します。RESCALE_CORES_PER_SLOTを選択すると、ジョブで選択したコア数を渡すことになり、DMPジョブが設定されます。
-power
このオプションは、Rescaleが提供するオンデマンドライセンスまたは独自のパワーセッションライセンスを使用する場合に必要不可欠です。
-rsh
マルチノード通信を設定する。コマンド:rshまたはssh
例えば、こんな感じです。
スクリプトのあるジョブの場合:
starccm+ -power -rsh ssh -np $RESCALE_CORES_PER_SLOT -machinefile $HOME/machinefile -batch macro.java -load input.sim
マクロのないジョブの場合
starccm+ -power -rsh ssh -np $RESCALE_CORES_PER_SLOT -machinefile $HOME/machinefile -batch run -load input.sim
メッシュのみを目的としたバッチジョブでは、単一ノードを使用することをお勧めします。単一ノードで複数のコアを使用し、より多くのメモリを使用することができます。
Simcenter STAR-CCM+を使い、バッチジョブで与えられた入力ファイルのセットのみをメッシュする場合、STAR-CCM+の標準コマンドラインインターフェイスを以下のように使用します。
starccm+ -power -np $RESCALE_CORES_PER_SLOT -machinefile $HOME/machinefile -batch mesh -load input.sim
与えられた入力ファイル一式をメッシュ化して実行するには、以下のコマンドを使用します。
starccm+ -power -np $RESCALE_CORES_PER_SLOT -machinefile $HOME/machinefile -batch mesh,run -load input.sim
RescaleでSTAR-CCM+ジョブをセットアップする際には、有効なSimcenter STAR-CCM+ライセンスが必要です。パワーオンデマンド(POD)ライセンスは、ジョブセットアップのソフトウェアセットアップセクションで参照することができます。使用するソフトウェアとしてSimcenter STAR-CCM+を選択し、ライセンスオプションで既存のライセンスを提供するを選択し、ライセンスフィールドに以下の情報を入力します。
- ライセンス欄に「1999@flex.cd-adapco.com」と入力します。
- プロジェクトコード欄に製品コードを入力します(プロジェクトコードはランダムな文字の集合で、CD-Adapco Steve Portal で確認できます)。
Simcenter STAR-CCにリモートでアクセスする方法
このチュートリアルでは、デスクトップ上のSimcenter STAR-CCM+クライアントを使用して、(Rescaleクラスタ上で動作する)Simcenter STAR-CCM+ジョブにリモートで接続する方法を説明します。
まず、RescaleでSimcenter STAR-CCM+ジョブを設定し、起動する必要があります(こちらをご覧ください)。ソフトウェア設定ページで、-batchコマンドの前に-collabフラグをコマンドボックスに入れる必要があります。例えば、以下のようになります。
starccm+ -power -collab -batch run -load <input-file>
クラスタが立ち上がり、ジョブが実行されると、ジョブの状態を監視することができます。Rescale Desktopを使用した接続方法と、個人のワークステーションを使用した接続方法では、若干の違いがあることに注意してください。
Rescale Desktopからの接続
process_output.logファイルを開いてみてください。ログの20行目あたりに、サーバー情報が記載されています。
行が表示されたままであれば、ライブテーリングウィンドウからファイルを読むことができます。そうでない場合は、まずファイルをダウンロードするか、表示行数を拡大する必要があります(黒いライブテーリングウィンドウの右上にあるアイコンを使用します)。
例えば、こんな感じです。
Server::start -host ip-10-25-38-85.ec2.internal:47827
または
Server::start -host p2089980000000:47827
次に、RescaleデスクトップでSimcenter STAR-CCM+クライアントを起動し、File > Connect to Server…を選択します。
次に、サーバー情報(上記で抽出したもの)を以下の形式で入力し、OKをクリックします(下図参照)。これで、実行中のジョブに接続されます。
個人のワークステーションからの接続
個人のワークステーションを使用する場合は、まずリモートクラスタへのSSHトンネルをセットアップする必要があります。(注意: ジョブを起動する前に、Rescaleのアカウント設定でSSHキーを設定する必要があります)。PuTTYスイートのPageantエクステンションを使用することをお勧めします。PuTTYとPageantの使用方法については、SSHドキュメントを参照してください。
Windowsの場合:
Pageantが起動していること、キーが追加されていることを確認します。次にコマンドプロンプトを開き、以下のコマンドを入力します。
plink -ssh <user>@<ip> -L 47827:localhost:47827 -N -v
Linuxの場合:
ssh -i </path/to/key> <user>@<ip> -L 47827:localhost:47827 -N -v
一部のコアタイプでは、コマンドでポート32100を指定する必要があることに注意してください。このために ** -P** というフラグが使用されます。Pageantの場合、このフラグは大文字と小文字を区別しますので、大文字のままにしてください。
Windowsの場合:
plink -ssh -P 32100 <user>@<ip> -L 47827:localhost:47827 -N -v
Linuxの場合:
ssh -i -p 32100 </path/to/key> <user>@<ip> -L 47827:localhost:47827 -N -v
注: <user>@<ip>情報は、Rescale Web UIのStatus PageのJob Logsセクションで抽出することができます。
ホストを信頼し、鍵をキャッシュに保存するよう促されたら、y または yes を入力します。
最後に、Simcenter STAR-CCM+クライアントのConnect to Serverポップアップに戻り、Hostフィールドにlocalhost、Portフィールドに47827を入力し、OKをクリックしてください。
実行中のジョブの監視と制御
これで実行中のジョブに接続され、クライアントウィンドウでジョブの出力を確認できるようになりました。
注:これは、デスクトップ上のクライアントのバージョンが、Rescaleプラットフォーム上で選択・実行したSimcenter STAR-CCM+のバージョンと完全に一致する場合にのみ機能します。そうでない場合は、以下のようなエラーが発生します。
このチュートリアルでは、CHECKPOINTファイルと停止(ABORT)ファイルを保存する方法を説明します。Simcenter STAR-CCM+は、これらのファイルを1分ごとにポーリングするだけです。
これらのタスクを完了するには、当社のインブラウザSSHを使用する必要があります。これを行うには、ジョブのステータスページに移動してください。Live Tailingパネルの下に、雷鳴のシンボルが付いたSSHパネルが表示されます。SSHパネルに、サーバーIPアドレスが表示されますので、これをクリックすると、インブラウザーSSHターミナルが起動します。このようにして、ブラウザから実行中のクラスタと対話することができます。
Rescaleのブラウザ内SSH機能の使用方法については、こちらのチュートリアルをご参照ください。
Checkpoint file
STAR-CCM+は、ランディレクトリ内にCHECKPOINTファイルがあるかどうか問い合わせをします。動作を変更するには、File > Auto Save…を選択してください。
CHECKPOINTファイルを挿入するには、SSHセッションで以下のコマンドを入力します(2行)。 cd work touch CHECKPOINT
上記のコマンドは、クラスタで実行中のジョブディレクトリにCHECKPOINTファイルを挿入します。このアクションは、Simcenter STAR-CCM+が現在のステップ(定常ケースではイテレーション、過渡ケースではタイムステップ)の終了時に保存するようトリガーします。このアクションは、結果ディレクトリに新しいシミュレーションファイル(.sim)を保存し、ジョブの結果ページに表示されます。
また、トリガーファイルと元の入力ファイル(.sim)の両方がresultsディレクトリに保存され、ファイル名の末尾に‾が付加されてリネームされます。
2つのシミュレーション・ファイルを区別することが重要です。新しい.simファイルは、現在のイテレーションで保存されたファイルです。以下に例を示します。
- 元の入力ファイル(リネーム済み):Combustor_case.sim〜。
- 新規保存ファイル:Combustor_case.sim
これが有効な場合、SSHセッションで次のコマンドを入力します(2行): cd work touch ABORT
上記のコマンドは、クラスタで実行中のジョブディレクトリに停止ファイル(ABORT)を挿入します。このアクションは、Simcenter STAR-CCM+が現在のステップの終了時に保存し、プログラムを終了させるためのトリガーとなります。このアクションは、現在の反復処理の終了時に保存される新しいシミュレーション(.sim)ファイルを作成し、ファイル名に(@)と反復処理番号を追加します。
また、resultsディレクトリには、stopファイルとオリジナルの入力ファイル(.sim)の両方が保存されますが、ファイル名は変更されません。
2つのシミュレーションファイルを区別するために、現在の反復の番号を含む新しい.simファイルが保存されたファイルである。
- 元の入力ファイル:Combustor_case.sim
- 新規保存ファイル: combustor_case@00400.sim
注:インタラクティブに実行する場合、Simcenter STAR-CCM+ GUI内でトップツールバーのStop Iteratingボタンを押すことにより、ジョブを停止することもできます。