Forcite 計算モジュールをコマンドラインから実行する方法

Materials Studioに附属する計算モジュールを使ったジョブ投入の方法としては、大きく分けて2通りの方法があります。 ひとつは Materials Studioの GUI からネットワークを介してジョブを計算サーバへ投入する方法であり、 もうひとつは一旦その GUIを使って計算に必要なファイルを作成して、計算サーバー上で直接ジョブを実行する方法です。
どちらでも利用できるバッチジョブのキューに違いはありませんが、前者の場合、指定可能CPU数には制限があります。

以下では、Forcite ジョブを直接計算サーバ上で実行する方法を説明します。

実行手順


Step 1
最初に、Materials Studio上で計算実行のための分子構造の構築および計算のための 各種設定を行います。 そして、PC端末から計算を実行させるときには「Run」ボタンを押しますが、今回は直接 計算サーバ上でジョブを実行するため、「Run」ボタンの右横にある▼をクリックし、 Copy Script を選択します。これで、計算の設定内容がコピーされました。



Step 2
次にスクリプトファイルを作成します。拡張子は必ず、.pl としてください。 6行目まではこの例と全く同じように記述してください。
7行目は、
my $doc = $Documents{"構造ファイル名.xsd"};
とします。

そして、9行目以降は、先ほどコピーした計算の設定内容をペーストします。 これで、スクリプトファイルが完成します。 (この例では、$outTrajectoryがありますが、$results のみの場合もあります。)



Step 3
ファイル転送ソフトなどを使って、作成したスクリプトファイルと構造ファイルを計算サーバへ転送します。 もし、構造ファイルの保存場所が不明の時には、フォルダ名をマウス右ボタンでクリックして、「場所:」の行をみることで確認できます。 また、もしディレクトリに空白や日本語が含まれている場合には、英数字のみへ変更してください。 そのままでは、計算サーバがUNIX環境であるため、正しく処理ができない場合があります。



Step 4
計算サーバにファイルを転送後、そのファイルに対して dos2unix コマンドを実行し、 Windowsで利用される改行コードを UNIXで利用される改行コードへ変換してください。 (これは必須ではありませんが、Windows固有のコードを含んでいると計算が正常に実行されない場合があります。)

% dox2unix スクリプトファイル名.pl
% dos2unix 構造ファイル名.xsd


Step 5
転送されたファイルのあるディレクトリに移動し、バッチファイルを作成してください。
以下にバッチファイルの例を示します。

#!/bin/csh
#PBS -q SMALL
#PBS -N forcite_job
#PBS -l select=1:ncpus=2

cd $PBS_O_WORKDIR
RunMatScript.sh -np 2 スクリプトファイル名

RunMatScript.sh の引数では、実行するプロセス数とスクリプトファイル名を指定します。
プロセス数の指定は、-np オプションで行います。このとき、ここで指定するプロセス数と ncpusで指定するプロセス数は必ず同じにしてください。
また、スクリプトファイル名は、拡張子(.pl)を除いた名前にしてください。


Step 6
最後に、作成したバッチスクリプトをバッチ投入コマンド qsub で実行させます。 以下では、上記のバッチスクリプト名を forcite.qsub としています。また、qstat -a でジョブの状況も確認できます。詳しくは、PBSジョブ投入システムをご参照下さい。

% qsub forcite.qsub
9169.uva
% qstat -a

uva: 
                                                            Req'd  Req'd   Elap
Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
9169.uva     fukumoto SMALL    forcite_job  31019   1   2    2gb 672:0 R 00:00


Step 7
バッチジョブが終了後、必要に応じて計算結果ファイルを端末PCに転送し、再度 Materials Studio にて結果を表示させることができます。