• 検索結果がありません。

このセクションでは、PHITSの動作を決定するパラメータを指定します。書式は次の様なものです。

[ P a r a m e t e r s ] para1 = number | file.name para2 = number | file.name ...

パラメータの順番は自由、省略すれば、デフォルト値が読み込まれます。

以下に各々のパラメータの意味と値を説明します。(D= )は、デフォルト値です。

4.2.1 計算モード

表6:パラメータ1 パラメータ 値 説明

icntl (D=0) 基本動作オプション

= 0 normal PHITS計算

= 1 nuclear reaction計算、 未完成

= 3 input echoだけの書き出し

メモリー空間、ライブラリー、ファイルのチェック

= 5 no reaction, no ionization,全てをvoidにする。

geometry check,体積、面積計算に使う

= 6 ソースのチェック。[t-product]でソース粒子をタリーできます

= 7 [t-gshow]タリーの実行

= 8 xyzメッシュタリーのgshowオプションのあるものの幾何形状表示

= 9 [t-rshow]タリーの実行

= 10 regメッシュタリーのrshowオプションのあるものの幾何形状表示

= 11 [t-3dshow] 3次元幾何形状表示タリーの実行

= 12 dumpallファイルから読み込んで再計算。file(15)でファイルを指定

= 13 タリー結果の統合機能(Sumtally機能)の利用

= 14 体積自動計算機能の利用

= 15 [t-wwbg]タリーの実行

icntl=1のnuclear reaction計算は、開発が取り残されているため、現在、まだ工事中と考えてください。

icntl=12を指定すると、dumpall=1で計算した時にダンプしたデータを基に再計算します。輸送に関し ては、最初に計算した全ての情報を再現します。再計算の時には、最初に計算したインプットファイルが必 要になります。タリーを除いて同じものを使わないと矛盾が生じます。maxcas, maxbchは、ダンプファイ ルに指定されているものを使いますので変更できません。最初に計算したときと異なるタリーを入れて再 計算したいときなど有効です。ただし、dumpall=1で計算するときは、巨大なデータファイルが作成される ことがありますから注意してください。このdumpallオプションは、GGのときのみ有効です。dumpall=1 でダンプする情報は、4.2.22のところで解説します。

icntl=13を指定することにより、Sumtally機能を利用することができます。この機能の詳細は5.8をご 覧ください。

能の利用方法は7をご覧ください。

icntl=15を指定することで、[ww bias]のパラメータを自動生成する[t-wwbg]が機能します。この機 能の利用方法は6.16をご覧ください。

4.2.2 ヒストリー数、バンク配列の大きさ

表7:パラメータ2 パラメータ 値 説明

irskip (D=0) 乱数のコントロール

irskip>0 irskip回ヒストリーをスキップして計算を開始(デバッグ用) irskip<0 irskip回ヒストリーの乱数をスキップして計算を開始(手動並列用)

rseed (D=0.0) 初期乱数オプション

rseed<0 計算開始時間情報より初期乱数を設定 rseed=0 6647299061401.デフォルトの初期乱数 rseed>0 rseedを初期乱数とする

maxcas (D=10) 1バッチのヒストリー数。上限は2147483647。

maxbch (D=10) バッチ数。上限は2147483647。

maxbnk (D=10000) バンク配列の大きさ

timeout (D=-1.0) PHITS計算の打ち切り時間(sec)。

istdev (D=0) 新規/再開始計算及び統計誤差導出方法のコントロール。

=-2 再開始計算(ただし、過去のタリー結果が全くない場合は、istdev=2 として新規計算を開始。

=-1 再開始計算(ただし、過去のタリー結果が全くない場合は、istdev=1 として新規計算を開始。

=0 新規計算。統計誤差は、メモリ共有型並列の場合はバッチ分散を、

それ以外はヒストリー分散を自動的に選択します。

=1 新規計算。統計誤差は、各バッチ間の分散により導出。

=2 新規計算。統計誤差は、各ヒストリー間の分散より導出。

ireschk (D=0) 再開始計算時のタリーパラメータ一致性確認の有無。

=0 読み込むタリー出力の設定が現在のタリー設定と一致しているか確認 する。

=1 上記確認を行わない。極めて長いタリー設定をした場合、タリー出力 に全ての設定が書き込まれずに、新旧ファイル一致性の確認でエラー が出てしまう場合があります。その場合、ireschk=1とし、一致性を 確認しないモードで再開始計算を実行してください。

メモリ分散型並列計算では、バッチ単位で並列化しています。このため、入力のバッチ数maxbchがNPE−1 の整数倍となるように指定してください。ここで、NPEは並列計算で使用する実行PE(Processing Element) 数です。上記の−1は、並列計算のコントロールのために1PE使うためです。もし整数倍でないときは、

maxbchが整数倍になるように変更し、加えて全ヒストリー数が入力した数と同程度となるようにmaxcas

を自動で調整します。この自動調整が実行された場合は、出力のインプットエコーの最後にコメントが書き 出されます。

します。バッチ終了時のCPU時間がtimeoutを超えた場合に、そのバッチで計算を終了します。バッチの

途中でtimeoutを超えた場合は、そのバッチが終了するまで計算が継続します。メモリ分散型並列の場合

は、全てのCPU時間の和で判定します。ただし、ご使用の計算機によってはCPU時間が正しく取得でき ず、timeoutを適切に使用できない場合がありますのでご注意ください。

バージョン2.50より、タリー出力の統計誤差が正しく計算できるようになりました。また、統計が十分 でなかった場合などに対応するため、古い計算結果から次の初期乱数とタリー出力を読み込んで再開始計 算を行う機能を実装しました。

統計誤差計算は、各バッチ間のタリー量の分散より標準偏差を導出するバッチ分散モードと、各ヒスト リー間のタリー量の分散より標準偏差を導出するヒストリー分散モードがあります。どちらも、次式で標準 偏差σを計算し、その値とタリー量の平均値X¯の比を相対誤差として出力します。

σ=

vu

uu

uu

ut∑N

i=1

(xiwi/w)¯ 2N ¯X2

N(N−1) (1)

ここでNは標本数(istdev=1のときは全バッチ数、istdev=2のときは全ヒストリー数)であり、xi,wiは 各標本のタリー量及びソースウェイト、w¯ はソースウェイトの平均値です。メモリ共有型並列計算の場合 は、原理的に各ヒストリーの分散を計算することが不可能ですので、バッチ分散モードのみ選択可能です。

バッチ分散の場合は、同じ全ヒストリー数でも、maxcasとmaxbchの組み合わせによって標準偏差が変化 しますのでご注意ください。基本的には、maxbchを大きくした方が計算の信頼性は高くなりますので、正 確に統計誤差を計算したい場合は、maxbchを少なくとも10以上としてください。ただし、PHITSは、各 バッチ終了時にいろいろな処理をしますので、maxbchを大きくしすぎると計算時間が長くなりますのでご 注意ください。一方、ヒストリー分散モードの場合は、標準偏差は全ヒストリー数のみに依存し、maxcasと

maxbchの組み合わせには依存しません。したがって、メモリ共有型並列を行わない場合は、ヒストリー分

散モードを選択することをお薦めします。しかしながら、xyzメッシュタリーを細かく設定する等、メモリ を多く使用するタリーを設定している場合には、ヒストリー分散モードでの計算時間が莫大となることがあ りますのでご注意ください。なお、各ヒストリーの分散を導出するタリー([t-deposit]タリーのoutput

= depositや[t-deposit2]など)の場合は、統計誤差として標準誤差を出力しており、istdevの値に関 係なく、寄与したヒストリー数の平方根から計算します。すなわち、寄与したヒストリー数がKの場合、そ の相対誤差は1/√

Kとなります。

相対誤差は、通常、タリー量の右側のr.errカラムに出力されます。ただし、axis = xy, rzなど2次 元プロットの場合は、各タリーで指定したfile名の拡張子の手前にerrと付けた別ファイルに出力します。

例えば、file=tally.outと指定した場合、相対誤差ファイルはtally err.outとなります。誤差ファイ ルの書式は通常のタリー出力と同じですので、ANGELで処理することにより誤差の2次元プロットを作成 することができます。

PHITSで評価しているのは標準偏差や標準誤差なので、必ずしも真値がこの範囲内に収まるわけではな

いのでご注意ください。平均値を中心として±1σの範囲は約68%の信頼区間を表しており、この範囲に約 68%の確率で計算結果が含まれることを意味します。また、核反応モデルに起因する系統的な不定性は含ま れていません。

istdev < 0とした場合は、再開始計算となります。その場合、統計誤差計算モードは、過去のタリー結

果を踏襲します。再開始計算は、各タリー別に行いますので、過去のインプットファイルに新たにタリーを 加えた再開始計算も可能です。再開始計算の流れは、以下のようになります。

(1) 各タリーのresfile(デフォルトはfileで指定した出力ファイル名と同じ)で指定したファイルの有 無をチェックする。

(2) ファイルが存在しない場合は、そのタリーは新規タリーとして扱う。全てのファイルが存在しない場

算を開始する。

(3) ファイルが存在する場合は、そのファイルから統計誤差計算モード(istdev)、これまでの全ウェイト

数(resc2)や全ヒストリー数(resc3)、バッチ当たりのヒストリー数(maxcas、バッチ分散モードの

み必要)、次の初期乱数シード(rijklst)、タリーパラメータ、結果及び相対誤差などを読み込む。

(4) 過去のタリーと入力ファイルで指定したタリーの一致性の確認する(一致しない場合はエラーメッセー ジを出力して実行停止。ただし、全てのパラメータをチェックするわけではないので注意)。

(5) 過去のタリーが複数ある場合、それらの間での統計誤差モードやmaxcas(バッチ分散モードのみ)の 一致性を確認する。一致した場合は、その値を再開始計算で利用する。一致しない場合は、エラーメッ セージを出力して実行停止する。

(6) 初期乱数シードを一番目に読み込んだ過去タリーのrijklstに変更。(rijklstが過去タリー間で異 なる場合は、警告を出力するが計算は可能)

(7) 再開始計算を実行し、その結果を過去のタリー結果に加えてfileで指定したファイルに出力する。

resfileを指定しない場合、出力ファイル(file)と過去タリーファイル(resfile)が同じであるた め、過去の結果に新しい結果を上書きして出力する。

再開始計算を行う際の注意点としては、[1]統計誤差計算モードの違うタリー同士で再開始計算をしないこ と、[2]バッチ分散の場合は必ずmaxcasを統一すること、[3]ジオメトリや入射粒子に関しては新旧ファイ ルの一致性を確認しないので、ユーザーの責任で必ず一致させること、などがあります。