5.18. [ Frag Data ] セクション¶
ユーザー指定断面積読み込み機能を定義します。 特定の粒子間の核反応を、ユーザーが指定した断面積データを用いて模擬します。 本機能で指定した粒子間およびエネルギー領域にある反応でも、核データライブラリを使用する設定になっている場合は、データライブラリ中の核反応データを優先して使用します。 指定できる入射粒子 proj は、中性子、陽子、軽イオン、一般の原子核のみです。 光子、パイオン、ミューオン、K中間子、電子、陽電子は proj としては指定できません。 一方、断面積データファイル中の frag には、放出粒子を指定します。 放出粒子として指定可能な粒子種は、PHITS の粒子名指定に従います。 核子の弾性散乱の寄与はPHITSのモデルにより別途考慮されます。
本機能を用いて生成される粒子のウエイト値は、断面積に応じて変化します。 場合によっては非常に小さい値となります。 ウエイトカットオフを避けるため、[ Parameters ] セクションにおいて wc2(i) の値を粒子 i ごとに変更してください。 粒子の反応計算打切エネルギー cmin(i) は、考慮したい最小の入射エネルギーに応じて設定してください。
書式は以下のようにします。
[ Frag Data ]
opt proj targ file
0 12C 16O DDX_12C-16O.dat
1 proton 63Cu DDX_p-63Cu.dat
パラメータは以下の通りです。
名前 |
型 |
意味 |
|---|---|---|
opt |
integer |
断面積データの適用方法を指定します。 |
proj |
particle |
入射粒子を中性子、陽子、軽イオン、または一般の原子核として指定します。 |
targ |
particle |
標的粒子として陽子または標的核種を指定します。核種は 2H や 12C のように質量数と元素記号で表します。陽子標的には proton も使用できます。 |
file |
filename |
ユーザー指定断面積データファイル名を指定します。 |
opt の指定値は以下の通りです。
opt=0: 指定した断面積を使用しません。
opt=1: proj と targ で指定した粒子間の核反応を、file で指定したファイル中の断面積データに基づいて模擬します。
opt=2: 通常の核反応モデルによる計算を行った後に、file で指定した断面積データに基づく粒子生成を追加します。
opt=3: 使用できません。
opt=4: データ範囲外では、端点値を用いて放出エネルギーおよび放出角度を補間・外挿します。
neo が正で、nag が 0 でない場合のみ使用できます。
放出エネルギーの最小値が 0 より大きい場合、内部的に 0 MeV の点を追加します。
放出角度の範囲が0度や180度を含まない場合、内部的にこれらを端点として追加し、それぞれ最小角度と最大角度の時の断面積を使用します。
全反応断面積および frag data による粒子生成では、入射エネルギーがデータ範囲外の場合に端点値を使用します。すなわち、最小入射エネルギーより低い場合は最小エネルギーの断面積、最大入射エネルギー以上の場合は最大エネルギーの断面積を使用します。
opt=5: 放出エネルギーや角度の微分断面積データが群データ形式ではなく点データ形式で与えられた場合に指定します。
線形内挿を行って放出粒子のエネルギーと角度の依存性を再現します。
ウエイト値は、内挿に伴って変化します。
本機能では、放出粒子を以下の方法でサンプリングします。 放出粒子種のサンプリングは行わず、各粒子を常に生成します。 ウエイト値は、各放出確率(生成断面積)に応じて変化します。 放出エネルギーと角度は各微分断面積に応じてサンプリングして決定するため、ウエイト値は変化しません。 ただし、opt=5 のみ、ウエイト値は内挿に伴って変化します。
file で指定した断面積データファイルの書式は以下の通りです。
projectile
target
nei
ein(1) ein(2) ein(3) ...... ein(nei+1)
totxs(1) totxs(2) totxs(3) ...... totxs(nei+1)
neo
eout(1) eout(2) eout(3) ...... eout(neo+1)
nag
angle(1) angle(2) angle(3) ...... angle(nag+1)
nfrg
frag(1) frag(2) frag(3) ...... frag(nfrg)
proxs(1,1) proxs(1,2) proxs(1,3) ...... proxs(1,nfrg)
ddx(1,1,1,1) ddx(1,1,1,2) ddx(1,1,1,3) ...... ddx(1,1,1,nag)
ddx(1,1,2,1) ddx(1,1,2,2) ddx(1,1,2,3) ...... ddx(1,1,2,nag)
.........
ddx(1,1,neo,1) ddx(1,1,neo,2) ddx(1,1,neo,3) ...... ddx(1,1,neo,nag)
ddx(1,2,1,1) ddx(1,2,1,2) ddx(1,2,1,3) ...... ddx(1,2,1,nag)
ddx(1,2,2,1) ddx(1,2,2,2) ddx(1,2,2,3) ...... ddx(1,2,2,nag)
.........
ddx(1,2,neo,1) ddx(1,2,neo,2) ddx(1,2,neo,3) ...... ddx(1,2,neo,nag)
.........
.........
ddx(1,nfrg,1,1) ddx(1,nfrg,1,2) ddx(1,nfrg,1,3) ...... ddx(1,nfrg,1,nag)
ddx(1,nfrg,2,1) ddx(1,nfrg,2,2) ddx(1,nfrg,2,3) ...... ddx(1,nfrg,2,nag)
.........
ddx(1,nfrg,neo,1) ddx(1,nfrg,neo,2) ddx(1,nfrg,neo,3) ...... ddx(1,nfrg,neo,nag)
proxs(2,1) proxs(2,2) proxs(2,3) ...... proxs(2,nfrg)
ddx(2,1,1,1) ddx(2,1,1,2) ddx(2,1,1,3) ...... ddx(2,1,1,nag)
ddx(2,1,2,1) ddx(2,1,2,2) ddx(2,1,2,3) ...... ddx(2,1,2,nag)
.........
ddx(2,1,neo,1) ddx(2,1,neo,2) ddx(2,1,neo,3) ...... ddx(2,1,neo,nag)
.........
.........
.........
.........
proxs(nei+1,1) proxs(nei+1,2) proxs(nei+1,3) ...... proxs(nei+1,nfrg)
ddx(nei+1,1,1,1) ddx(nei+1,1,1,2) ddx(nei+1,1,1,3) ...... ddx(nei+1,1,1,nag)
ddx(nei+1,1,2,1) ddx(nei+1,1,2,2) ddx(nei+1,1,2,3) ...... ddx(nei+1,1,2,nag)
.........
ddx(nei+1,1,neo,1) ddx(nei+1,1,neo,2) ddx(nei+1,1,neo,3) ...... ddx(nei+1,1,neo,nag)
.........
.........
ddx(nei+1,nfrg,1,1) ddx(nei+1,nfrg,1,2) ddx(nei+1,nfrg,1,3) ...... ddx(nei+1,nfrg,1,nag)
ddx(nei+1,nfrg,2,1) ddx(nei+1,nfrg,2,2) ddx(nei+1,nfrg,2,3) ...... ddx(nei+1,nfrg,2,nag)
.........
ddx(nei+1,nfrg,neo,1) ddx(nei+1,nfrg,neo,2) ddx(nei+1,nfrg,neo,3) ...... ddx(nei+1,nfrg,neo,nag)
projectile: projectile を指定します。[ Frag Data ] セクションの proj と同じ表記および許容値を使用します。
断面積データファイル中の projectile は、[ Frag Data ] セクションの proj と整合している必要があります。
target: target を指定します。[ Frag Data ] セクションの targ と同じ表記を使用します。
断面積データファイル中の target は、[ Frag Data ] セクションの targ と整合している必要があります。
nei: 入射エネルギーの分点数です。次の行に nei+1 点の入射エネルギー(ein: 単位は MeV/n)を指定し、更に次の行に同数の全反応断面積(totxs: 単位は mb)を指定します。
ein: 入射エネルギーの格子値です。MeV/n 単位で nei+1 点を指定します。
totxs: 入射エネルギーの格子値に対応する全反応断面積です。
totxs が 0 以下の場合は、icxsni や icrhi で指定する全反応断面積モデルにより得られた値を使用します。
neo: 放出粒子のエネルギー分点数です。
neo が正の場合、放出粒子のエネルギーは連続分布として扱います。opt=5 以外では eout を neo+1 点指定し、opt=5 では neo 点指定します。
neo が負の場合、放出粒子のエネルギーは離散的に与えます。この場合、neo の絶対値の点数の eout を指定します。
neo が 0 の場合、放出粒子のエネルギースペクトルはガウス分布で与えます。この場合、ddx の箇所にガウス分布の平均値と標準偏差を MeV/n で与えてください。
neo を指定する行に model と記述すると、PHITS 内蔵の核反応モデルを使用し、微分断面積データを与える必要はありません。model キーワードは opt が 1 または 2 の場合にのみ使用できます。
eout: 放出エネルギーの格子値です。MeV/n 単位で neo+1 点を指定します。ただし、opt=5 では neo 点を用います。
nag: 放出角度の分点数です。
nag が正の場合、次の行に角度(angle)をラジアン単位(rad)で指定します。opt=5 以外では nag+1 点指定し、opt=5 では nag 点指定します。
nag が負の場合、次の行に角度(angle)を度数単位(degree)で指定します。opt=5 以外では nag+1 点指定し、opt=5 では nag 点指定します。
nag が 0 の場合、等方分布を仮定します。
angle: 放出角度の格子値です。
nag が正あるいは負の場合、opt=5 以外では nag+1 点、opt=5 では nag 点を指定します。
nfrg: 放出粒子数です。次の行に nfrg 個の放出粒子を指定します。
frag: 生成粒子を指定します。
生成粒子として指定できるのは、核子、パイオン、ミューオン、K中間子、電子、陽電子、光子、軽イオン、および一般の原子核です。
ニュートリノの KF コードを含むその他の粒子は、入力エラーとして扱われます。
proxs: 各放出粒子のある入射エネルギーに対する生成断面積(mb)。
proxs がほぼ 0 の場合、微分断面積を積分して得た値を生成断面積として使用する場合があります。
neo=0 かつ nag=0 の場合、proxs は 0 にできません。
ddx: 微分断面積です。単位は neo と nag によって変わります。
1つの proxs に対して下記の表に示す断面積のデータ数が必要で、それを1単位として nei+1 個のデータを並べます。
放出粒子を複数指定する場合(nfrg > 1)は、proxs から始まるデータ群が nfrg で指定した数だけ必要となります。
neo と nag の組合せによる入力形式の早見表
neo と nag の組合せにより、入力するデータ形式が変わります。 必要データ数は、各入射エネルギーに対する数です。
neo |
nag |
指定するデータ |
単位 |
必要データ数(各入射エネルギーあたり) |
|---|---|---|---|---|
> 0 |
0 以外 |
放出エネルギーと放出角度に対する2重微分断面積 |
mb/MeV/sr |
\(nfrg \times neo \times \lvert nag \rvert\) |
= 0 |
0 以外 |
ガウス分布の平均値と標準偏差、および角度微分断面積 |
平均値と標準偏差は MeV/n、角度微分断面積は mb/sr |
\(nfrg \times (2 + \lvert nag \rvert)\) |
= 0 |
= 0 |
ガウス分布の平均値と標準偏差。角度分布は等方分布とします。 |
MeV/n |
\(nfrg \times 2\) |
> 0 |
= 0 |
エネルギー微分断面積。角度分布は等方分布とします。 |
mb/MeV |
\(nfrg \times neo\) |
< 0 |
0 以外 |
離散的な放出エネルギーに対する角度微分断面積 |
mb/sr |
\(nfrg \times \lvert neo \rvert \times \lvert nag \rvert\) |
< 0 |
= 0 |
離散断面積。角度分布は等方分布とします。 |
mb |
\(nfrg \times \lvert neo \rvert\) |
1: proton
2: 63Cu
3: 1
4: 10.0 100.0
5: 1000.0 500.0
6: 3
7: 1.0 10.0 50.0 100.0
8: -6
9: 0.0 30.0 60.0 90.0 120.0 150.0 180.0
10: 1
11: neutron
12: 300.0
13: 10.0 10.0 10.0 10.0 10.0 10.0
14: 15.0 13.0 12.0 11.0 10.0 10.0
15: 10.0 11.0 10.0 11.0 10.0 10.0
16: 0.0
17: 5.0 5.0 5.0 5.0 5.0 5.0
18: 10.0 8.0 7.0 6.0 5.0 5.0
19: 5.0 6.0 5.0 6.0 5.0 5.0
リスト 5.18.3 に断面積データファイルの一例を示します。 1, 2 行目にそれぞれ入射粒子として proton、標的粒子として \({}^{63}\mathrm{Cu}\) を指定しています。 3 行目がエネルギー分点数で、この例では nei=1 としています。 4, 5 行目において入射エネルギーと全反応断面積を nei+1 点ずつ与えています。 6 行目は放出粒子のエネルギー分点数であり、この例では neo=3 としています。7 行目で放出エネルギーとして、1.0, 10.0, 50.0, 100.0 MeV の値を指定しています。 8 行目は角度の分点数であり、これをマイナスにして、9 行目で与える角度の情報を度数単位で与えています。 10 行目で放出粒子として取り扱いたい数を決めており、11 行目でその粒子(=neutron)を指定しています。 12 行目には入射エネルギーが 10.0 MeV の場合の neutron 生成断面積を与えており、13, 14, 15 行目でこの入射エネルギーにおける2重微分断面積を与えています。 各行は 7 行目で決めたエネルギービンに対応しており、各列は 9 行目で決めた角度ビンに対応しています。 基本的に、12 行目の生成断面積には、13, 14, 15 行目の微分断面積を積分した量を与えてください。 一致しない場合は、生成断面積の値を使って規格化されます。 16, 17, 18, 19 行目は、入射エネルギーが 100.0 MeV の場合の生成断面積と2重微分断面積です。 16 行目の生成断面積は 0 にしていますが、この場合、生成断面積として、17, 18, 19 行目の微分断面積を内挿して積分した値を使用します。
ddx の箇所で、0 の値が並ぶ場合は次のような省略形を利用できます。
0 -9
この例では、0 が合計 10 個並ぶことを意味します。
断面積データでは、2番目以降の値に負の値を指定できるのは、直前の値が 0 の場合だけです。この場合、負の値の絶対値の個数だけ 0 が繰り返されます。直前の値が 0 でない場合、その負の値は入力エラーとして扱われます。先頭の断面積データ値に負の値を指定することはできません。