.. _execution: 実行、必要なファイル、トラブルシューティング等 ---------------------------------------------- 本節では、:ref:`1節 ` の内容を補足し、DCHAINの実行方法、必要なファイル、代表的な問題への対処方法を説明する。 DCHAINは、\ ``/dchain-sp/bin/``\ にある\ ``dchain.bat``\ (Unix系OSでは\ ``dchain.sh``\ )を使用して実行することを推奨する。別のバージョンのDCHAINを使用する場合は、スクリプト内で呼び出す実行ファイルを変更できる。標準構成ではDCHAINのルートディレクトリは\ ``/dchain-sp/``\ であり、PHITSとDCHAINの\ ``bin``\ ディレクトリを環境変数PATHへ追加する。Windowsでは、\ ``dchain.bat``\ のショートカットを「送る」メニューへ登録すると、入力ファイルの右クリックメニューから実行できる。 コマンドラインでは、例えば\ ``dchain.bat example.in``\ のように、スクリプトへDCHAIN入力ファイル名を渡して実行する。 バージョン3.36以降のDCHAINは、領域またはメッシュを単位とした並列計算に対応する。領域数が指定した並列数より少ない場合、実際に使用される並列数は領域数までとなる。共有メモリー型のOpenMP並列と分散メモリー型のMPI並列を使用できるが、OpenMPとMPIを組み合わせたハイブリッド並列には対応していない。\ ``dchain.bat``\ または\ ``dchain.sh``\ を使用する場合、DCHAIN入力ファイルの先頭行に\ ``$OMP=N``\ (\ :math:`N`\ はCPUコア数)を指定するとOpenMP並列で実行する。\ ``N=1``\ の場合は逐次実行版が使用される。\ ``$MPI=M``\ を指定すると、\ :math:`M`\ プロセスのMPI並列で実行する。MPI並列にはIntel MPI、Open MPI、MPICH2などによる実行環境が必要である。詳細はPHITSマニュアルの11.1.1節を参照すること。 DCHAINの実行には、原則として次の4ファイルが必要である。(1) DCHAIN入力ファイル、(2) \ ``HNFLUXS``\ で指定する中性子束ファイル、(3) \ ``HHNMTCF``\ で指定する核種生成量ファイル、(4) \ ``dch_link.dat``\ である。必要なファイルが存在しない場合、DCHAINは対応するエラーメッセージを出力して終了する。DCHAINが使用するデータライブラリは\ ``/dchain-sp/data/``\ にあり、\ ``dch_link.dat``\ には、このディレクトリへの絶対パスを1行で記述する。 PHITS入力ファイルでは、[Parameters]セクションの\ ``file(21)``\ がこのデータディレクトリを指定する。データライブラリが見つからないというエラーが発生した場合は、\ ``file(21)``\ と\ ``dch_link.dat``\ のパスを確認すること。DCHAIN入力ファイルの名前は原則として任意であるが、必要な入力ファイルや :numref:`tab:dchain-output-files` に示す出力ファイルと同じ名前を使用してはならない。命名規則の詳細は :ref:`4.4節 ` を参照すること。 本マニュアルでは、DCHAIN入力ファイルを通常\ ``example.in``\ のように\ ``.in``\ 拡張子で表す。一方、PHITSマニュアルでは、このファイルが[T-Dchain]の出力であることから、\ ``example.out``\ のように\ ``.out``\ 拡張子で表す場合がある。PHITS入力ファイルに用いる\ ``.inp``\ と混同しないよう注意すること。スクリプトを使用してDCHAINを実行すると、出力ファイルは入力ファイルと共通の基本名を持つ\ ``example.*``\ 形式で生成される。 [T-Dchain]が生成する中性子束ファイル(\ ``*.dtrk``\ )と核種生成量ファイル(\ ``*.dyld``\ )は、通常、DCHAINの実行に必要である。ただし、\ ``JMODE``\ ``= 0``\ では中性子束、\ ``JMODE``\ ``= 1``\ では核種生成量、\ ``JMODE``\ ``= -1``\ では両方を使用しないため、対応するファイルは不要となり、DCHAIN入力ファイルに記載されていても無視される。 DCHAINが異常終了した場合や、端末上で強制終了した場合は、再実行の前に競合する一時ファイルを削除する必要が生じることがある。特に\ ``yield.out``\ が残っていないか確認すること。また、DCHAINは同名の出力ファイルが既に存在する場合に上書きするため、必要な結果は再実行前に保存すること。 DCHAINが入力値などのエラーを検出した場合は、処理を終了し、端末と\ ``*.lst``\ ファイルの末尾にエラーメッセージを出力する。予期しない異常終了が発生した場合も、\ ``*.lst``\ ファイルの末尾に、停止した処理や原因を推定するための情報が残っている場合がある。 DCHAINに関する問い合わせや不具合報告を行う場合は、エラーメッセージ、\ ``*.lst``\ ファイル、実行環境の情報を添えて、PHITSウェブサイトの「連絡・質問」ページからPHITS事務局へ連絡すること。