PHITS Multi-Purpose Particle and Heavy Ion Transport code System 治療応用実習(V) X線のダンプデータを用いた2段階計算 2014年5月改訂 title 1 本実習の目標 10MeV電子を線源とする1段階目の計算で発生 したX線をダンプデータとして蓄え、これを線源と する2段階目の計算を実行し、X線を用いたシミュ レーションが効率よく行えるようになる ダンプデータとして蓄えたX線を水ファントム の左右から照射して求めた吸収線量分布 Purpose 2 実習内容 1. 2. 3. 4. 体系の確認 X線のダンプデータの作成 ダンプデータを線源とした輸送計算 X線の多門照射 A) [transform]による照射方向の変更 B) 複数のタリー結果の足しあわせ Table of contents 3 DumpDataSourceXray.inp Water phantom 初期設定の体系 30 cm 30 cm X-ray (photon) Electron 10 MeV 約50 cm 10 cm 0.1+1.0 cm 6 cm Movable collimator Flattening filter x軸 6 cm 10 cm 4 cm 1 cm W + Cu target 1 cm Primary collimator 6 cm y軸 5 cm Input file 1辺10 cmの立方体×4 4 体系の確認 Icntl=8として、このインプットファイルで構築している 3次元体系を描画機能を用いて把握しましょう。 track_xz.eps Geometry 5 実習内容 1. 2. 3. 4. 体系の確認 X線のダンプデータの作成 ダンプデータを線源とした輸送計算 X線の多門照射 A) [transform]による照射方向の変更 B) 複数のタリー結果の足しあわせ Table of contents 6 課題1 フラットニングフィルターの領域に入射する 光子をダンプデータとして蓄えてみましょう (icntl=0として実行) • • • フラットニングフィルターの領域をouter regionとする dumpパラメーターを加えた[t-cross]セクションを有効に する(offをはずす) フラットニングフィルターの領域に入射する(セル番号 98から8に移動する)光子のエネルギー分布をタリーで きる[t-cross]セクションを有効にする(offをはずす) Electron 10 MeV X-ray (photon) Dump data Dump領域 7 課題1の答え合わせ フラットニングフィルターの領域に入射する 光子をダンプデータとして蓄えてみましょう (icntl=0として実行) [Cell] ・・・・・・ 6 5 -17.0 -33 7 5 -17.0 -34 $8 6 -8.94 -35 8 -1 -35 消す Dump dataは、 cross_photon_dmp.out [ T - C r o s s ] off title = [t-cross] ・ ・ ・ mesh = reg reg = 1 non r-in r-out area 1 98 8 1.000000 e-type = 2 emin = 0.0 emax = 20.0 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 Dump data 消す [ T - C r o s s ] off title = Energy ・ ・ ・ mesh = reg reg = 1 non r-in r-out area 1 98 8 1.000000 e-type = 3 emin = 0.1 emax = 20.0 ne = 200 unit = 1 axis = eng file = cross_eng.out output = flux part = photon epsout = 1 8 エネルギースペクトル 得られたダンプデータが線源として十分かどうかを 確認しましょう cross_eng.eps 分布は隙間もなく線源として十分(相対誤差は10%程度) Dump data 9 もし統計量が十分でないと感じたら Istdevパラメーターを利用して、再開始計算を 実行しましょう。 [Parameters] ・・・・・・ ・・・・・・ istdev = -2 ただし、次の点に注意してください • 2段階目の計算ではistdevをコメントアウトする • 大規模なダンプデータが作成される cross_eng.eps 統計量を5倍 Dump data 10 実習内容 1. 2. 3. 4. 体系の確認 X線のダンプデータの作成 ダンプデータを線源とした輸送計算 X線の多門照射 A) [transform]による照射方向の変更 B) 複数のタリー結果の足しあわせ Table of contents 11 課題2 ダンプデータとして蓄えた光子を線源として 2段階目の輸送計算を実行してみましょう • • • • Dump領域 フラットニングフィルターの領域を元に戻す dumpパラメーターを加えた[t-cross]セクションを無効に する(offを書き加える) dump dataを線源とする[source]セクションを設定する (規格化定数はcross_photon.outより読み取る) 吸収線量の空間分布をタリーできる[t-deposit]セクショ ンを有効にする(offをはずす) X-ray (photon) Dump data dumpデータを用いた[source] セクションの入力形式 [Source] totfact = *** s-type = 17 file = ******_dmp.out dump = -9 1 2 3 4 5 6 7 8 9 12 課題2の答え合わせ ダンプデータとして蓄えた光子を線源として 2段階目の輸送計算を実行してみましょう [ S o u r c e ] off s-type = 1 proj = electron ・・・・・・ ・・・・・・ [Source] totfact = 1.5765E-01 s-type = 17 file = cross_photon_dmp.out dump = -9 1 2 3 4 5 6 7 8 9 [ T - C r o s s ] off ・・・・・・ dump = -9 1 2 3 4 5 6 7 8 9 [ T - Deposit ] off title = Dose in xyz mesh ・・・・・・ 消す deposit_xz.eps [Cell] ・・・・・・ 6 5 -17.0 -33 7 5 -17.0 -34 8 6 -8.94 -35 $8 -1 -35 Dump data 13 課題3 コリメーターの間隔を変えて、水ファントム表面に おいて10cm×10cm程度の照射野が作成される ようにしましょう X-ray (photon) Dump data 10 cm • 変数c1の値を調整する • track_xz.epsとtrack_xy.epsを見て確認する 10 cm 14 課題3の答え合わせ コリメーターの間隔を変えて、水ファントム表面に おいて10cm×10cm程度の照射野が作成される ようにしましょう [Surfac ・・・・・・ set:c1[1.0] 31 rpp 32 rpp 33 rpp 34 rpp 35 trc e] -10-c1 -c1 -5 5 -100+17.1 -100+27.1 c1 10+c1 -5 5 -100+17.1 -100+27.1 -5 5 -10-c1 -c1 -100+32.1 -100+42.1 -5 5 c1 10+c1 -100+32.1 -100+42.1 0.0 0.0 -92.0 0.0 0.0 5.0 5.0 1e-10 track_xz.eps(2ページ目) track_yz.eps (2ページ目) Dump data 15 実習内容 1. 2. 3. 4. 体系の確認 X線のダンプデータの作成 ダンプデータを線源とした輸送計算 X線の多門照射 A) [transform]による照射方向の変更 B) 複数のタリー結果の足しあわせ Table of contents 16 X線の照射方向の変更 X線の照射方向を変えるために、ダンプデータによる 線源、フラットニングフィルター、可変コリメーターを水 ファントムを中心にして回転させましょう。 Water phantom X-ray (photon) 水ファントムは固定 X線の線源部分を まとめて回転 [transform] 17 [transform]セクション ソース、surfaceやcellの定義、タリーのr-zやxyzメッシュ、磁場 の定義等の際に、回転や平行移動を行うことが可能。 [ Transform ] $ Transform X-ray beam set: c81[0] $ angle of around Z (degree) Z軸, Y軸, X軸の周りに set: c82[0] $ angle of around Y (degree) 回転させる角度 set: c83[0] $ angle of around X (degree) set: c84[0] $ displacement of Z (cm) set: c85[0] $ displacement of Y (cm) 平行移動のZ,Y,X成分 set: c86[0] $ displacement of X (cm) tr600 c86 c85 c84 cos(c81/180*pi)*cos(c82/180*pi) sin(c81/180*pi)*cos(c83/180*pi)+cos(c81/180*pi)*sin(c82/180*pi)*sin(c83/180*pi) sin(c81/180*pi)*sin(c83/180*pi)-cos(c81/180*pi)*sin(c82/180*pi)*cos(c83/180*pi) -sin(c81/180*pi)*cos(c82/180*pi) cos(c81/180*pi)*cos(c83/180*pi)-sin(c81/180*pi)*sin(c82/180*pi)*sin(c83/180*pi) cos(c81/180*pi)*sin(c83/180*pi)+sin(c81/180*pi)*sin(c82/180*pi)*cos(c83/180*pi) sin(c82/180*pi) -cos(c82/180*pi)*sin(c83/180*pi) 各セクションにtrcl=600を cos(c82/180*pi)*cos(c83/180*pi) 加えることで機能する 1 [transform] 18 課題4 [transform]を使ってX線の線源部分を回転させ、水 ファントムの反対側から照射してみましょう。 • • • ダンプデータを用いた[source]セク ションにtrcl=600を加える セル番号4,5,6,7,8にtrcl=600を加える Y軸周りに180度回転させる • 回転後の線源部分が含まれるよう にtrack_xz.epsとdeposit_xz.epsの タリー領域を拡大する [Source] ・・・・・・ dump = -9 1 2 3 4 5 6 7 8 9 trcl = *** [Cell] ・・・・・・ 4 5 -17.0 -31 trcl=*** 5 5 -17.0 -32 trcl=*** 6 5 -17.0 -33 trcl=*** 7 5 -17.0 -34 trcl=*** 8 6 -8.94 -35 trcl=*** $8 -1 -35 [ Transform ] $ Transform X-ray beam set: c81[0] $ angle of around Z (degree) set: c82[0] $ angle of around Y (degree) set: c83[0] $ angle of around X (degree) ・・・・・・ [transform] 19 課題4の答え合わせ [transform]を使ってX線の線源部分を回転させ、水 ファントムの反対側から照射してみましょう。 [Source] ・・・・・・ dump = -9 1 2 3 4 5 6 7 8 9 trcl = 600 [T-Track] ・・・・・・ z-type = 2 zmin = -110.0000 zmax = 110.0000 nz = 220 ・・・・・・ file = track_xz.out ・・・・・・ [Cell] ・・・・・・ 4 5 -17.0 -31 trcl=600 5 5 -17.0 -32 trcl=600 6 5 -17.0 -33 trcl=600 7 5 -17.0 -34 trcl=600 8 6 -8.94 -35 trcl=600 $8 -1 -35 [ Transform ] $ Transform X-ray beam set: c81[0] $ angle of around Z (degree) set: c82[180] $ angle of around Y (degree) set: c83[0] $ angle of around X (degree) ・・・・・・ [transform] [ T - Deposit ] ・・・・・・ z-type = 2 zmin = -110.0000 zmax = 110.0000 nz = 220 ・・・・・・ 20 照射方向を変更した場合 track_xz.eps(2ページ目) deposit_xz.eps 水ファントムに対して、反対側からの照射を行った [transform] 21 実習内容 1. 2. 3. 4. 体系の確認 X線のダンプデータの作成 ダンプデータを線源とした輸送計算 X線の多門照射 A) [transform]による照射方向の変更 B) 複数のタリー結果の足しあわせ Table of contents 22 タリー結果の足しあわせ 外部プログラムsumtallyを用いて、照射角度を変えて得られた 複数のタリー結果を足し合わせることが可能。 + = Sum of tally results 23 Sumtallyの使用方法 • • • \lecture\therapy\programにあるsumtallyフォルダをコピーする sumtallyフォルダの中にresult1, result2といった複数のフォルダを作成し、照 射角度を変えたインプットをコピーしてPHITSを実行 sumtallyの基本情報ファイル(sumtally.inp)を作成する 足し合わせた結果の出力ファイル名 “deposit_xz_sum.out” 1.5 2 1.0 "result1/deposit_xz.out" 1.0 "result2/deposit_xz.out" • 全体の規格化定数 足し合わせるタリー結果の数 足し合わせる際のそれぞれの ウエイト値(重み付け)とタリーファイル名 sumtallyを実行 (Windows) sumtally_win.batにsumtally.inpをドラッグ&ドロップ (Mac) sumtally_mac.commnadをダブルクリックし、現れる窓にsumtally.inpと入力 ⇒ 足し合わせた結果を出力したdeposit_xz_sum.outが作成される • deposit_xz_sum.outをインプットファイルとしてANGELを実行する ⇒ グラフ化したdeposit_xz_sum.epsが作成される Sum of tally results 24 Sumtallyの計算内容 足しあわせた結果 相対誤差 Sum of tally results 25 課題5 2つの方向からX線を水ファントムに照射した場合 の吸収線量を求めてみましょう • Sumtallyフォルダをコピーし、その中にresult1, result2の2つの フォルダを作成する • Y軸周りの回転角度を0, 180度としたインプットファイルを作 成し、それぞれresult1, 2のフォルダにコピーする(合わせて cross_photon_dmp.outもコピー) • それぞれのインプットファイルを用いてPHITSを実行 • Sumtallyを用いてdeposit_xz.outの結果を足しあわせる sumtally.inp “deposit_xz_sum.out” 1.5 2 1.0 "result1/deposit_xz.out" 1.0 "result2/deposit_xz.out" 全体の規格化定数は1.5とし、 2つのタリー結果のウエイト値 は1:1とする Sum of tally results 26 課題5の答え合わせ 2つの方向からX線を水ファントムに照射した場合 の吸収線量を求めてみましょう \result1\DumpDataSourceXray.inp [ Transform ] $ Transform X-ray beam set: c81[0] $ angle of around Z (degree) set: c82[0] $ angle of around Y (degree) set: c83[0] $ angle of around X (degree) ・・・・・・ \result2\DumpDataSourceXray.inp [ Transform ] $ Transform X-ray beam set: c81[0] $ angle of around Z (degree) set: c82[180] $ angle of around Y (degree) set: c83[0] $ angle of around X (degree) ・・・・・・ deposit_xz_sum.eps 両方向からの照射による吸収線量 (ただし統計量が十分ではない) Sum of tally results 27 タリー結果の足し合わせ(補足) 十分に統計量を増やした場合の結果 + = 一度、それぞれの照射角度での計算を行っておけば、 sumtally.inpにおいてウエイト値を設定することで、様々な 照射条件のシミュレーション結果を得ることが可能です。 Sum of tally results 28 まとめ • 10MeV電子を1次線源とし、W+Cu標的に照射して 発生するX線をダンプデータとして蓄えた • X線のダンプデータを線源とする2段階目の計算を 行い、照射野の調整を行った • [transform]を用いたX線源の回転を行い、任意の 方向からの照射が可能となった • Sumtallyプログラムを用いて、複数方向から照射 した場合の結果を得られるようになった Summary 29
© Copyright 2024 ExpyDoc