400 likes | 627 Views
P HI T S. Multi-Purpose P article and H eavy I on T ransport code S ystem. PHITS 応用実習4: 多種多様な線源の設定方法. 2014 年 5 月改訂. Title. 1. 本実習の目標. 様々な種類の線源を考慮した粒子輸送シミュレーションを実行できるようになる。. 連続的なエネルギー分布をもつ線源. 2 箇所に 60 Co 線源を配置したシミュレーション. Purpose. 2. source.inp の確認. 基本計算条件.
E N D
PHITS Multi-Purpose Particle and Heavy Ion Transport code System PHITS 応用実習4: 多種多様な線源の設定方法 2014年5月改訂 Title 1
本実習の目標 様々な種類の線源を考慮した粒子輸送シミュレーションを実行できるようになる。 連続的なエネルギー分布をもつ線源 2箇所に60Co線源を配置したシミュレーション Purpose 2
source.inpの確認 基本計算条件 150MeV陽子(半径1.0cmのペンシルビーム) 円柱状の水(半径10cm, 厚さ20cm)と真空のみ [t-track]によるフルエンス空間分布 [t-cross]による水領域へ入射する陽子のエネルギー分布 入射粒子: 体系: タリー: Water 150MeV 陽子 計算体系 track_xz.eps cross_eng.eps Check Input File 3
実習内容 • エネルギー分布をもつ線源 • 連続的なエネルギー分布 • 離散的なエネルギー分布 • マルチソースの設定 • Dump dataを用いた線源 • まとめ Table of Contents 4
エネルギー分布をもつ線源 単一エネルギーの線源だけでなく、エネルギー分布をもつ線源を設定することが可能。 陽子ビーム エネルギー分布をもたせる Energy distribution 5
入力方法 • [source]セクションにおいて、s-type=4(円柱), 5(角柱), 10(球と球殻)などを指定する(括弧内は空間分布) • e-typeサブセクションを設定する (エネルギーはMeVとÅの2種の単位で設定可能) • e-type=1, 4, 11, 14: 連続的なエネルギー分布を積分量で与える • e-type=21, 24, 31, 34: 連続的なエネルギー分布を微分量で与える • e-type=8, 9, 18, 19: 離散的なエネルギー分布を与える 連続的な分布(e-type=1など)の場合: エネルギー群数ne, エネルギー分点e(i), 各エネルギービンの粒子の生成確率w(i)をデータで与える 離散的な分布(e-type=8など)の場合: エネルギー点数ne, エネルギー分点e(i), 各エネルギーにおける粒子の生成確率w(i)をデータで与える e-type = 1 ne = n e(1) w(1) e(2) w(2) ・ ・ ・ ・ ・ ・ e(n) w(n) e(n+1) e-type = 8 ne = n e(1) w(1) e(2) w(2) ・ ・ ・ ・ ・ ・ e(n) w(n) e(i)とw(i)は共にn個与える e(i)は合計n+1個、w(i)は合計n個与える (neが負の場合は 対数スケール) Energy distribution 6
課題1 0から50MeV, 50から100MeV, 100から150MeVのエネルギー領域におけるビーム強度が1:3:2となる陽子線源を設定してみましょう(右図参照)。 • s-type=4に変更する • e-typeサブセクションを追加し、エネルギー分布を設定する(e-type=1を使用する) • e0=150の行をコメントアウトする source.inp e-type=1の入力形式 [ S o u r c e ] totfact = 1.0 s-type = 1 proj = proton e0 = 150. r0 = 1.0 z0 = -10. z1 = -10. dir = 1.0 e-type = e-type = 1 ne = n e(1) w(1) e(2) w(2) ・ ・ ・ ・ ・ ・ e(n) w(n) e(n+1) Energy distribution 7
課題1の答え合わせ 0から50MeV, 50から100MeV, 100から150MeVのエネルギー領域におけるビーム強度が1:3:2となる陽子線源を設定してみましょう。 source.inp cross_eng.eps [ S o u r c e ] totfact = 1.0 s-type = 4 proj = proton $ e0 = 150. r0 = 1.0 z0 = -10. z1 = -10. dir = 1.0 e-type = 1 ne = 3 0.0 1 50.0 3 100.0 2 150.0 強度の比率が1:3:2となっている (ただしe-type=1は各ビンの積分量を与える) Energy distribution 8
課題2 0から50MeV, 50から100MeV, 100から200MeVのエネルギー領域におけるビーム強度が1:3:2となる陽子線源を設定してみましょう。 • e-type=21を用いる(e-type=1の場合は積分量で比を与えるため、100から200MeVの範囲の強度が半分になってしまう) • e-typeサブセクション中のエネルギー範囲を調整する source.inp e-type=21の場合は、積分量ではなく微分量で比の値を設定する (微分スペクトルを設定する場合はこちらを使う) [ S o u r c e ] ・ ・ ・ ・ ・ ・ e-type = 1 ne = 3 0.0 1 50.0 3 100.0 2 150.0 Energy distribution 9
課題2の答え合わせ 0から50MeV, 50から100MeV, 100から200MeVのエネルギー領域におけるビーム強度が1:3:2となる陽子線源を設定してみましょう。 source.inp cross_eng.eps [ S o u r c e ] totfact = 1.0 s-type = 4 proj = proton $ e0 = 150. r0 = 1.0 z0 = -10. z1 = -10. dir = 1.0 e-type = 21 ne = 3 0.0 1 50.0 3 100.0 2 200.0 強度の比率が1:3:2となっている (積分量で見ると1:3:4) Energy distribution 10
実習内容 • エネルギー分布をもつ線源 • 連続的なエネルギー分布 • 離散的なエネルギー分布 • マルチソースの設定 • Dump dataを用いた線源 • まとめ Table of Contents 11
離散的なエネルギー分布をもつ線源 60Coや134Csのように、壊変に伴って複数のエネルギーのガンマ線を放出する放射線源を模擬することができる。 60Co線源 60Coは、ベータ崩壊の後、1.173MeVと1.333MeVの2本のガンマ線を出す Energy distribution 12
課題3 60Co線源を模擬してみましょう。 source.inp • 線源を光子(photon)に変更する • 等方点線源とする(半径r0,方向dirのパラメータを調整する) • 規格化定数(totfact)を2とする(60Coは1壊変あたり平均的に2本のガンマ線を出すため)→タリーの結果は単位Bqあたりの量となる • e-type=8として,1.173MeVと1.333MeVの光子が1:1の割合で放出されるようにする • [t-cross]で0〜2MeVまでの光子フルエンスを10keV分解能(200群)でタリーするように変更する(emax, ne, partを調整) [ S o u r c e ] totfact = 1.0 s-type = 4 proj = proton $ e0 = 150. r0 = 1.0 ・ ・ ・ ・ ・ ・ dir = 1.0 e-type = 21 ne = 3 0.0 1 50.0 3 100.0 2 200.0 e-type=8の入力形式 e-type = 8 ne = n e(1) w(1) ・ ・ ・ ・ ・ ・ e(n) w(n) Energy distribution 13
課題3の答え合わせ 60Co線源を模擬してみましょう。 cross_eng.eps source.inp [ T - C r o s s ] ・ ・ ・ ・ ・ ・ emin = 0.0 emax = 2.0 ne = 200 unit = 1 axis = eng file = cross_eng.out output = flux part = photon epsout = 1 [ S o u r c e ] totfact = 2.0 s-type = 4 proj = photon $ e0 = 150. r0 = 0.0 z0 = -10. z1 = -10. dir = all e-type = 8 ne = 2 1.173 1 1.333 1 track_xz.eps 60Co線源 Energy distribution 14
実習内容 • エネルギー分布をもつ線源 • 連続的なエネルギー分布 • 離散的なエネルギー分布 • マルチソースの設定 • Dump dataを用いた線源 • まとめ Table of Contents 15
複数の線源の設定 線種や位置、エネルギー分布などの条件を変えた複数の線源を設定することが可能。 60Co線源 60Co線源 60Co線源が、左右それぞれに2:1の量で配置された状況を模擬したい Multi source 16
入力方法 • [source]セクションにおいて、”<source>=相対比”の指定で始まる複数のサブセクションを設定する • totfactを使って線源全体の規格化を行う [ S o u r c e ] totfact = 2.0 <source> = 2.0 s-type = 1 proj = proton ・ ・ ・ ・ ・ ・ <source> = 1.0 s-type = 4 proj = neutron ・ ・ ・ ・ ・ ・ <source> = 3.0 s-type = 8 proj = photon ・ ・ ・ ・ ・ ・ 規格化定数 • 正の数の場合は相対比にしたがって各粒子を生成 • 負の数の場合は同数の粒子を発生し、相対比にしたがってweightを変化 3種の線源を設定した場合 各線源の強度の相対比 (この場合は上から順に2:1:3) Multi source 17
課題4 60Co線源を円柱状の水の左右(z=-10, 40cm)の位置に2:1の比で配置した状況を模擬してみましょう。 • <source>=の行を加えて、2つのサブセクションをつくる • 点線源の位置をそれぞれz=-10と40cmとする(z0とz1パラメーターを調整) • 左(z=-10cm)と右(z=40cm)の線源から2:1の割合で光子が発生するようにする 60Co線源 60Co線源 z軸 z=40cm z=-10cm Multi source 18
課題4の答え合わせ 60Co線源を円柱状の水の左右(z=-10, 40cm)の位置に2:1の比で配置した状況を模擬してみましょう。 source.inp [ S o u r c e ] totfact = 2.0 <source> = 2.0 s-type = 4 proj = photon $ e0 = 150. r0 = 0.0 z0 = -10. z1 = -10. ・ ・ ・ ・ ・ ・ <source> = 1.0 s-type = 4 proj = photon $ e0 = 150. r0 = 0.0 z0 = 40. z1 = 40. ・ ・ ・ ・ ・ ・ track_xz.eps 60Co線源 (強度比は左:右=2:1) Multi source 19
実習内容 • エネルギー分布をもつ線源 • 連続的なエネルギー分布 • 離散的なエネルギー分布 • マルチソースの設定 • Dump dataを用いた線源 • まとめ Table of Contents 20
Dump dataを用いた線源 指定した領域に入射した放射線の情報を蓄え、それを線源とした2段階計算をすることができる 水の部分を通過した位置に遮へい体を置き、その厚さを変えながら遮へい効果を調べたい 鉛 水 2段階目の計算の線源 60Co線源 鉛の厚さを変えて、 2段階目の計算を何度も行うことが可能 1段階目の計算で、 鉛に入射する光子の情報を記録する Dump data 21
使用方法 • [t-cross], [t-product], [t-time]タリーにおいて、dumpパラメーターを加える • PHITSを実行し、1段階目の計算を行う • タリーで指定したファイル名に_dmpが付いたファイルが作成され、これに線源データが書き出されるので、そのデータを線源とする[source]セクションを作成する(s-type=17を使う) • 古い[source]セクションとdumpパラメーターを加えたタリーのセクションはoffで無効にする • PHITSを実行し、2段階目の計算を行う タリー中のdumpパラメーターの入力形式 dumpデータを用いた[source]セクションの入力形式 [ T - C r o s s ] ・ ・ ・ ・ ・ ・ file = ******.out dump = -9 1 2 3 4 5 6 7 8 9 [ S o u r c e ] totfact = *** s-type = 17 file = ******_dmp.out dump = -9 1 2 3 4 5 6 7 8 9 規格化定数: dumpした粒子数を入れる 同じ データの個数を指定 (正ならバイナリで、負ならアスキー形式で出力) Dump data 22
Dump定義文 Dump定義文によって、dump dataとして出力するデータの種類と並びを指定できます dump = -9 1 2 3 4 5 6 7 8 9 順番を変えることもできる Dump data 23
使用する際の注意 • (1段階目)エネルギー分布等を同時にタリーし、dump dataとして蓄えた結果が線源として十分な量であるかどうかを確認する • (1段階目)指定した領域を粒子が複数回通過することによるダブルカウントを避けるために、dumpする領域はouter regionとする • (2段階目)Dump dataの粒子数を考慮し、規格化を適切に行う(file=で指定したファイルから規格化定数を求める) • (2段階目)Dump dataを線源とする計算は局所的な結果しか与えないことに気をつける Dump data 24
課題5 60Coを起源とするガンマ線が水の部分を通過した場合の状態を、dump dataとして蓄えてみましょう • 線源はz=-10cmの位置に配置したものだけを有効にする(qp:コマンドを使う) • 水の後ろ側(z軸の正の側)に半径10cm, 厚さ5cmの円柱状の領域をouter regionとして定義する(セル番号は102とする) • [t-cross]セクションをコピー&ペーストし、dumpパラメーターを加えたセクションを作成する(蓄積するデータは番号1から9までの9種類) • Dumpパラメーターを加えた[t-cross]において、neを1にし、出力ファイル名をcross_photon.outなどに変更する • コピー元の[t-cross]において、セル番号101から102に移動する粒子をタリーできるよう条件を加える(areaは1.0とする) Dump領域 Dump data 25
課題5の答え合わせ1 60Coを起源とするガンマ線が水の部分を通過した場合の状態を、dump dataとして蓄えてみましょう source.inp track_xz.eps [ S o u r c e ] totfact = 2.0 <source> = 2.0 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ qp: <source> = 1.0 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ [ S u r f a c e ] 10 so 500. 11 cz 10. 12 pz 0. 13 pz 20. 14 pz 25. [ C e l l ] 100 -1 10 101 1 -1. -11 12 -13 102 -1 -11 13 -14 110 0 -10 #101 #102 outer regionでは粒子の輸送が行われない Dump data 26
課題5の答え合わせ2 60Coを起源とするガンマ線が水の部分を通過した場合の状態を、dump dataとして蓄えてみましょう source.inp [ T - C r o s s ] ・ ・ ・ ・ ・ ・ reg = 2 non r-in r-out area 1 110 101 1.000000 2 101 102 1.000000 e-type = 2 ・ ・ ・ ・ ・ ・ [ T - C r o s s ] ・ ・ ・ ・ ・ ・ ne = 1 unit = 1 axis = eng file = cross_photon.out output = flux part = photon epsout = 1 dump = -9 1 2 3 4 5 6 7 8 9 cross_eng.eps(2ページ目) 連続スペクトルとなるべき部分がまばらで、線源として十分ではない Dump data 27
課題6 線源として十分な量のdump dataを求めましょう • maxcasを増やしてdump data量を大きくする cross_eng.eps(2ページ目) maxcas=10000の結果 maxcas=1000の結果 まだ隙間がある Dump data 28
課題6の答え合わせ 線源として十分な量のdump dataを求めましょう cross_eng.eps(2ページ目) maxcas=100000の結果 隙間もなくなっており、線源として十分(相対誤差は10%程度) Dump data 29
課題7 Dump dataを線源とした輸送計算を実行させましょう • s-type=17を用いる新しい[source]セクションを作成する(60Coを線源とする方はoffにする) • Dump dataによる[source]の規格化を適切に行う(totfactを調整する。cross_photon.outファイルの40行目のcurrentの値を使う) • セル番号102の領域をvoidにする • Dumpパラメーターを含んだ[t-cross]はoffにする • maxcasは1000に戻す dumpデータを用いた[source]セクションの入力形式 cross_photon.out ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ h: x n y(photon ),l3 n # num area current r.err 1 1.0000E+00 2.9358E-02 0.0082 # sum 1.0000E+00 2.9358E-02 [ S o u r c e ] totfact = *** s-type = 17 file = ******_dmp.out dump = -9 1 2 3 4 5 6 7 8 9 規格化定数 Dump data 30
課題7の答え合わせ Dump dataを線源とした輸送計算を実行させましょう source.inp [ T - C r o s s ] off ・ ・ ・ ・ ・ ・ dump = -9 1 2 3 4 5 6 7 8 9 [ S o u r c e ] off totfact = 2.0 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ [ S o u r c e ] totfact = 2.93580E-02 s-type = 17 file = cross_photon_dmp.out dump = -9 1 2 3 4 5 6 7 8 9 track_xz.eps [ C e l l ] 100 -1 10 101 1 -1. -11 12 -13 102 0 -11 13 -14 110 0 -10 #101 #102 水の後ろ側からdump dataにある粒子が放出されている Dump data 31
課題8 水の後ろ側に鉛の遮へい体を置きましょう • セル番号102の領域中の物質を鉛(密度11.34g/cm3,同位体比は右表を参照)に変える([material]と[cell]セクションを書き換える) • 遮へい効果を調べるために、セル番号102の後ろ側(z軸の正の側)にセル番号103の領域(円柱状で半径は10cm, 厚さは1cmとする)を定義する • セル番号102と103の境界を簡単に変更できるよう鉛部分の厚さを変数c1を使って表現する([surface]セクションを書き換える) • セル番号102から103に移動する粒子をタリーできるように[t-cross]に条件を加える(areaは1.0とする) 鉛の同位体比 204Pb 0.014 206Pb 0.241 207Pb 0.221 208Pb 0.524 領域103 (真空) 1cm 水 鉛 Dump data 32
課題8の答え合わせ 水の後ろ側に鉛の遮へい体を置きましょう source.inp [ M a t e r i a l ] mat[1] 1H 2 16O 1 mat[2] 204Pb 0.014 206Pb 0.241 207Pb 0.221 208Pb 0.524 [ T - C r o s s ] ・ ・ ・ ・ ・ ・ reg = 3 non r-in r-out area 1 110 101 1.000000 2 101 102 1.000000 3 102 103 1.000000 ・ ・ ・ ・ ・ ・ [ S u r f a c e ] ・ ・ ・ ・ ・ ・ 13 pz 20. set:c1[5.0] 14 pz 20.+c1 15 pz 20.+c1+1.0 [ C e l l ] 100 -1 10 101 1 -1. -11 12 -13 102 2 -11.34 -11 13 -14 103 0 -11 14 -15 110 0 -10 #101 #102 #103 track_xz.eps 鉛の領域で粒子フルエンスが減少 Dump data 33
課題9 鉛の部分の厚さを変えて遮へい効果を調べましょう • 鉛の厚さに対応する変数c1を変えて、セル番号103の領域に入る粒子フルエンスの強度の変化を調べる • Dump dataでは1.173MeVと1.333MeVのスペクトルの強度は10-2[1/cm2/source]程度であった(課題6の結果参照)ので、領域103の位置でこれの1/100程度になるような鉛の厚さを求める 鉛 水 鉛の厚さを変えて、 PHITSを実行 Dump data 34
課題9の答え合わせ 鉛の部分の厚さを変えて遮へい効果を調べましょう source.inp cross_eng.eps(3ページ目) [ S u r f a c e ] ・ ・ ・ ・ ・ ・ 13 pz 20. set:c1[6.5] 14 pz 20.+c1 15 pz 20.+c1+1.0 およそ6.5cmで1/100程度となる Dump data 35
実習内容 • エネルギー分布をもつ線源 • 連続的なエネルギー分布 • 離散的なエネルギー分布 • マルチソースの設定 • Dump dataを用いた線源 • まとめ Table of Contents 36
まとめ [source]セクションにおいて、様々なs-typeとe-typeを組み合わせることにより、連続的・離散的なエネルギー分布を線源として設定できるようになった <source>サブセクションの設定により、複数の線源を用いたシミュレーションが可能となった Dump機能を用いることで、dump dataとして蓄えた2次粒子を線源とするシミュレーションが効率よく行えるようになった Summary 37
宿題 1辺10cmの正方形の形状をもつ134Cs線源をz=-0.5cmの面上にx=0,y=0の点を中心として配置し、鉛を越えた領域の実効線量を求めよ 134Cs線源 (s-type=5を用いる) この領域の実効線量はどのくらいか?(PHITSに内蔵の実効線量換算係数を用いる。 [recommendationにあるH10multiplier.inpを参照]) 鉛 水 光子のエネルギー[MeV]と放出割合[%] 0.563 8.4 0.569 15.4 0.605 97.6 0.796 85.5 0.802 8.7 1.365 3.0 (割合は1壊変あたり) ただし、光子の換算係数に2次電子の寄与が含まれているため、電子・陽電子の輸送は行わない(eminを調整) Homework 38
宿題(解答例) 実効線量の空間分布 1段階目(maxcas=500000) 2段階目(maxcas=100000) なお、この実効線量の換算係数はAP(前方-後方)の照射条件で評価されたものです。 Homework 39