.. _[t-deposit]: [ T-Deposit ] セクション ================================================== 放射線による付与エネルギー(発熱)を出力するタリーです。 バージョン 3.05 以降、カーマ近似を用いた中性子や光子による付与エネルギーも計算できるようになりました。 カーマ近似の使用の有無は、イベントジェネレータモードや電子輸送計算の設定に従って自動的に調整されます。 詳しくは、 **[parameters]** セクションの emode 関連の説明にある **ikerman** 、 **ikermap** を参照してください。 ただし、中性子のカーマ近似が有効となるのは、核データを利用する **dmax(2)** 以下のみです。 荷電粒子による付与エネルギーを計算する場合は、ユーザーが ``usrdfn1.f`` や ``usrdfn2.f`` を変更して自由に定義できるファクターを乗じることができます。 ただし、この機能はカーマ近似や飛跡構造解析モードには適用されません。 サンプルプログラムとして、 ``usrdfn1.f`` には粒子の LET に ICRP60 で定義された :math:`Q(L)` 関係を乗じて線量当量を導出するプログラムが、 ``usrdfn2.f`` には microdosimetric kinetic model に基づいて生物学的線量を導出するプログラムが入っています。 なお、これら既定プログラムを使う場合は、 **letmat** で水を指定する必要があります。 **output=deposit** とした場合は、ヒストリー毎の付与エネルギー分布を計算するため、検出器の応答を模擬することができます。 その際、ファノ因子などを指定することにより検出器の分解能も考慮可能です。 なお、 **output=deposit** の場合はカーマ近似による付与エネルギーが考慮されませんので、必ずイベントジェネレータモードや電子輸送計算を行うように設定してください。 また、 **[weight window]** などの使用により、1 ヒストリー内でエネルギー付与する粒子のウエイトが変わる場合は適切な結果が得られません。 .. rst-class:: no-caption-number .. list-table:: **mesh** :header-rows: 0 * - value - explanation * - **reg, r-z, xyz, tet** - メッシュ型。 メッシュ型サブセクションが必要です。 .. rst-class:: no-caption-number .. list-table:: **part** :header-rows: 0 * - value - explanation * - **all** (default), 粒子名 - タリーする粒子。 **neutron** や **photon** を指定した場合は、中性子や光子のカーマ近似による付与エネルギーがそれぞれ出力されます。 .. include:: ./commontally/material.rst .. rst-class:: no-caption-number .. list-table:: **letmat** :header-rows: 0 * - value - explanation * - (省略可) - LET( :math:`dE/dx` ) を評価する物質番号です。 省略時は実際の物質です。 物質を指定する場合の密度は、 **[Material]** セクションで定義された密度となります。 したがって、水に対する LET 分布を計算したい場合、 **[Material]** セクションで水の密度が 1 g/cm :math:`^3` となるように定義する必要があります。 また、負の場合は電子・陽電子の :math:`dE/dx` として 1 g/cm :math:`^3` の水に対する値が参照されます。 .. rst-class:: no-caption-number .. list-table:: **dedxfnc** :header-rows: 0 * - value - explanation * - (省略可, **D=0**) - **0**: ファクター無し **1**: **usrdfn1** を使用 **2**: **usrdfn2** を使用 サンプルプログラムとして、 ``usrdfn1.f`` には粒子の LET に ICRP60 で定義された :math:`Q(L)` 関係を乗じて線量当量を導出するプログラムが入っており、 ``usrdfn2.f`` には microdosimetric kinetic model に基づいて生物学的線量を導出するプログラムが入っています。 これらの関数では、カーマ近似や飛跡構造解析モードによる付与エネルギーは考慮されません。 .. include:: ./commontally/e-type.rst .. include:: ./commontally/t-type.rst .. rst-class:: no-caption-number .. list-table:: **output** :header-rows: 0 * - value - explanation * - **dose** - 荷電粒子のエネルギー付与をタリーします。 * - **deposit** - ヒストリー毎のエネルギー付与分布をタリーします。 **e-type** サブセクションが必要です。 カーマ近似によるエネルギー付与は考慮されないので、必ずイベントジェネレータモードや電子輸送計算を行うように設定してください。 .. rst-class:: no-caption-number .. list-table:: **unit** :header-rows: 0 * - value - explanation * - **0, 1, 2, 3, 4, 5** - **0**: Dose [Gy/source], **output=dose** のみ **1**: Dose [MeV/cm :math:`^3` /source], **output=dose** のみ **2**: Dose [MeV/source], **output=dose** のみ **3**: Number [1/source], **output=deposit** のみ **4**: Number [1/nsec/source], **output=deposit** のみ **5**: Dose [J/m :math:`^3` /source], **output=dose** のみ .. rst-class:: no-caption-number .. list-table:: **deposit** :header-rows: 0 * - value - explanation * - **0** (default), **1** - **output=deposit** 選択時のエネルギー表示オプションです。 **0**: total deposit および各粒子の寄与の分布です。 通常はこちらを使用してください。 **1**: 各粒子の deposit エネルギー分布です。 ver. 2.81 以前の計算方法です。 .. rst-class:: no-caption-number .. list-table:: **mother** :header-rows: 0 * - value - explanation * - (省略可) - カーマファクタを計算する母核を限定します。 複数定義可能です。 カーマ近似を用いる中性子及び光子による線量計算に対してのみ有効です。 * - **all**, 数 - **all** はデフォルトで、省略した場合と同じです。 数を指定した場合、その数だけの核種を次の行に記述します。 負の場合は、それらの母核を対象から外すことを意味します。 .. rst-class:: no-caption-number .. list-table:: **item** :header-rows: 0 * - value - explanation * - **208Pb Pb** - 質量数を指定すれば、その核を指定します。 質量数を指定しなければ、その核の同位体全てを指定します。 複数の母核群を指定したいときは、複数の **[t-deposit]** セクションを定義します。 .. rst-class:: no-caption-number .. list-table:: **axis** :header-rows: 0 * - value - explanation * - **eng, reg, x, y, z, r** - 出力データの :math:`x` 軸。 * - **tet** - 出力データの :math:`x` 軸。 **mesh=tet** でのみ有効です。 * - **xy, yz, xz, rz, t-eng, eng-t** - 2次元表示。 * - **t** - 時間軸。 .. rst-class:: no-caption-number .. list-table:: **samepage** :header-rows: 0 * - value - explanation * - (省略可, **D=part**) - 画像出力ファイルで同じページに表示するデータの種類を指定します。 **axis** で指定できるパラメータを指定できます。 .. include:: ./commontally/file.rst .. include:: ./commontally/resfile.rst .. include:: ./commontally/factor.rst .. include:: ./commontally/title.rst .. include:: ./commontally/angel.rst .. include:: ./commontally/sangel.rst .. include:: ./commontally/2d-type.rst .. include:: ./commontally/x-txt.rst .. include:: ./commontally/y-txt.rst .. include:: ./commontally/z-txt.rst **[t-deposit]** では、タリーする領域に入る粒子ごとの付与エネルギーを **part=** で指定して計算することはできません。 領域に入る粒子毎の付与エネルギーをタリーするには、 **[counter]** で **part=** を用いて、特定の入射粒子から引き起こされる付与エネルギーをカウンターで指定する必要があります。 **output=dose** で **unit=0** とした場合、 [Gy/source] を単位とする吸収線量が出力されます。 **mesh=reg** の場合は、 **volume** パラメータを用いるか、 **[volume]** セクションにおいて各領域の体積を設定する必要があります。 ただし、吸収線量は不可算量ですので、各 :math:`x` 軸に関する積分値は出力されません。 また、領域内に複数の物質が混在する場合、その領域の吸収線量は全体の平均値とはなりません。 例えば、領域 1 と 2 にある質量 :math:`M_1` と :math:`M_2` の物質にそれぞれ :math:`E_1` と :math:`E_2` の熱量が吸収された場合、その平均吸収線量は :math:`\frac{E_1+E_2}{M_1+M_2}` ですが、PHITS で計算する値は :math:`\frac{E_1}{M_1}\frac{V_1}{V_1+V_2}+\frac{E_2}{M_2}\frac{V_2}{V_1+V_2}` となります。 ここで、 :math:`V_1` と :math:`V_2` はそれぞれ領域 1 と 2 が占める体積を表します。 **output=deposit** で **deposit=0** とした場合、 **part** パラメータで指定した粒子種の total deposit に対する寄与を出力します。 その際に、 **part** パラメータで **all** が指定されていない時は、自動的に **all** が追加されます。 一方、 **output=deposit** で **deposit=1** とした場合、粒子種毎の deposit エネルギー分布が個別に出力されるため、各粒子種について得られた結果を足し上げた値と **all** を指定した結果は一致しません。 **output=deposit** で **deposit=0** とした場合、 **part=all** 以外のタリー結果に対する統計誤差は、 **istdev** の値に関わらず、ヒストリー分散モードにより計算した標準偏差となります。 .. include:: ./commontally/gshow.rst .. include:: ./commontally/rshow.rst .. include:: ./commontally/resol.rst .. include:: ./commontally/width.rst .. include:: ./commontally/volume.rst .. include:: ./commontally/iechrl.rst .. include:: ./commontally/volmat.rst .. rst-class:: no-caption-number .. list-table:: **dump** :header-rows: 0 * - value - explanation * - データ数 - Dump機能により出力する粒子情報の数を定義します。 **mesh = reg** のみ有効です。 * - 次行: データ定義 - 出力する粒子情報の順番を :numref:`tbl-tally-dump` に示す粒子情報番号で定義します。 .. include:: ./commontally/epsout.rst .. include:: ./commontally/bmpout.rst .. include:: ./commontally/vtkout.rst .. include:: ./commontally/vtkfmt.rst .. include:: ./commontally/foamout.rst .. include:: ./commontally/ph5out.rst .. include:: ./commontally/maxangel.rst .. include:: ./commontally/ctmin.rst .. include:: ./commontally/ctmax.rst .. include:: ./commontally/chmin.rst .. include:: ./commontally/chmax.rst .. include:: ./commontally/trcl.rst .. include:: ./commontally/gslat.rst .. rst-class:: no-caption-number .. list-table:: **dresol** :header-rows: 0 * - value - explanation * - (省略可, **D=0.0**) - 検出器の分解能を表すパラメータ 1 です。 **output=deposit** の場合のみ有効です。 **dresol=** :math:`\sigma_r` 、 **dfano=F** の場合、各イベントの付与エネルギー :math:`E` は標準偏差が :math:`\sqrt{\sigma_r^2+FE}` のガウス分布に従って分散されます。 ただし、 **dresol<0** の値を入力すると、エネルギー分解能は ``usrresol.f`` で定義されたもので置き換わります。 .. rst-class:: no-caption-number .. list-table:: **dfano** :header-rows: 0 * - value - explanation * - (省略可, **D=0.0**) - 検出器の分解能を表すパラメータ 2 です。 **output=deposit** の場合のみ有効です。 **dresol=** :math:`\sigma_r` 、 **dfano=F** の場合、各イベントの付与エネルギー :math:`E` は標準偏差が :math:`\sqrt{\sigma_r^2+FE}` のガウス分布に従って分散されます。 .. include:: ./commontally/stdcut.rst .. rst-class:: no-caption-number .. list-table:: **nlatcel** :header-rows: 0 * - value - explanation * - (省略可) - Lattice 内にある同一セル番号へのエネルギー付与量を各格子別に扱って統計処理したい場合に、その Lattice を定義するセル番号を指定します。 1 つのみ指定可能で、省略もしくは 0 が指定された場合は各格子別に扱いません。 **output=deposit** のときのみ有効です。 .. rst-class:: no-caption-number .. list-table:: **nlatmem** :header-rows: 0 * - value - explanation * - (省略可, **D=1000**) - **nlatcel** を利用した際の 1 ヒストリー内で別個に扱うセルの最大個数です。 一般に fano factor は無次元量として定義されていますが、 **dfano** パラメータはエネルギーの次元をもつ量として定義されていますのでご注意ください。 例えば、Si 半導体検出器で fano factor を 0.1、一対の電子正孔対を生成するのに必要な平均エネルギーを 3.62 eV とすると、 **dfano=3.62E-06 * 0.1 = 3.62E-07** となります。 **reg = (100 200 300 ...)** のような複数領域における付与エネルギーの総和を出力する機能の拡張として、条件に応じて重み付けを行う機能があります。 本機能を用いることで、指定した領域 :math:`i` へのヒストリー毎の付与エネルギー :math:`E_{\rm history,i}` に対して、条件に応じて異なる係数 :math:`\alpha_i(N_{\rm list})` を乗じ、複数領域の deposit energy の総和 :math:`E_{\rm history}` を算出します。 .. math:: E_{\rm history} = \sum_i \alpha_i(N_{\rm list}) \times E_{\rm history,i} 本機能はヒストリー毎の付与エネルギーに応じて重み付けを行う機能で、特定領域への付与エネルギーに応じて電荷収集効率が変化するような半導体ソフトエラー解析などに利用できます。 エネルギーや LET など粒子の条件に応じて付与エネルギーに重み付けを行いたい場合は、ユーザー定義重み付け関数である ``usrdfn1.f`` や ``usrdfn2.f`` を作成する必要があります。 本機能は **mesh=reg** のみ対応しており、 **reg=weightsum** とすることで動作します。 書式は次の通りです。 .. code-block:: text :caption: 重み付き総和機能の書式例 mesh = reg reg = weightsum ncond = 4 no cell operator ethres list 1 100 ge 0.1 1 2 100 gt 0.2 1 3 100 eq 0.0 2 and 200 lt 0.4 2 4 100 le 0.5 3 ncell = 5 cell list01 list02 list03 list00 100 0.0 0.5 1.0 1.0 200 0.1 0.6 2.0 1.0 300 0.2 0.7 3.0 1.0 400 0.3 0.8 4.0 1.0 500 0.4 0.9 5.0 1.0 まず、 **ncond=m** で条件の数 :math:`m` を指定します。 この次の行には、条件番号 **no** 、領域番号 **cell** 、演算子 **operator** 、閾エネルギー **ethres** 、リスト番号 **list** のデータ順を定義します。 これらのデータの並びを変えるときは、この行で指定してください。 この定義文の下に **ncond=** で指定した数だけ条件を定義します。 条件は、1 ヒストリーにおいて、領域番号 **cell** への deposit energy が、閾エネルギー **ethres** に対して演算子 **operator** の関係を満たす場合、下記の **ncell** で定義するリスト番号 **list** の係数を使用することを意味します。 条件に合致するか否かのチェックは上の行から順に行うため、いくつかの条件に合致するヒストリーに対しては、先に指定した条件が優先されます。 全ての条件に合致しないヒストリーに対しては、 **list00** に記載した係数が使用されます。 条件番号 **no** に **and** と記載することで複数の条件を設定できます。 領域番号 **cell** では、領域をまとめる **( { 2 - 5 } 8 9 )** という書式や、 **( 6 < 10[1 0 0] < u=3 )** などの lattice, universe 構造も指定できます。 ただし、単一の数字でない場合は必ず **( )** で括ってください。 演算子 **operator** では、 **gt** 、 **ge** 、 **eq** 、 **le** 、 **lt** の 5 種類を使用できます。 閾エネルギー **ethres** の単位は MeV です。 続いて、 **ncell=n** で総和を取る対象とするセルの数 :math:`n` を指定します。 この次の行には、領域番号 **cell** 、リスト番号 **listxx** のデータ順を定義します。 これらのデータの並びを変えるときは、この行で指定してください。 この定義文の下に **ncell=** で指定した数だけ領域番号と係数を定義します。 こちらの領域番号 **cell** でも、領域をまとめる書式や lattice, universe 構造を指定できます。 単一の数字でない場合は必ず **( )** で括ってください。 なお、同じ領域番号を複数定義すると deposit energy が積算されますので注意してください。 **list00** を定義しない場合、全ての係数の値がゼロに設定されます。