ダクトソースオプション -------------------------------------------------- 中性子分光施設の非常に長い中性子導管を扱うために、特別なソースを生成するダクトソースオプションを作りました。 等方的なソースを仮定すると、長いビームラインの中のカレントは、立体角の関係からソースの位置からの距離の二乗に反比例します。 このことは、ビームラインの壁にぶつかるカレントは、"wall current"と呼びますが、例えば100m位置で、1m位置に比べて6桁小さくなります。 このような状況での計算の統計を上げるために、粒子のウエイトを変化させて、シミュレーション粒子のwall currentが、ビームラインのどの場所でも同じになるようなオプションを設けました。 このダクトソースオプションは、 **s-type = 1, 2** の円柱と角柱のソースに **dom = -10** を指定することにより適応されます。 各パラメーターとその意味を下にまとめます。 **dom = -10** : ダクトソースの指定。 **dl0 =** : ビームラインの始点 z0 からの距離 [cm]。 **dl1 =** : ダクトソースの始点 z0 からの距離 [cm]。 **dl2 =** : ダクトソースの終点 z0 からの距離 [cm]。 **dpf =** : dl2 を通過する粒子の割合。 **drd =** : **s-type = 1** 円柱の時のビームラインの半径 [cm]。 **dxw =** : **s-type = 2** 角柱の時のビームラインの X サイズ [cm]。 **dyw =** : **s-type = 2** 角柱の時のビームラインの Y サイズ [cm]。 ビームラインの形状は、 **s-type = 1** の時は円柱、 **s-type = 2** の時は角柱を仮定しています。 また、 **z1 = z0** と **dir = 1** も仮定しています。 後者は、ビームラインの方向です。 これを変更する時は、 **trcl** を用いてください。 ソース粒子は、 **z0** 地点で、 **s-type = 1** の時は **r0** の内部、もしくは、 **s-type = 2** の時は、 **x0, x1, y0, y1** の内部で生成されます。 .. figure:: ductsource.png :width: 40em :alt: ductsource :name: fig-ductsource 角柱のダクトソースのイメージ図 ソース粒子の方向は、ダクトに当たる位置から決定されます。 **dl1** から **dl2** の間のダクトに粒子が均一に当たるように壁の位置が決められます。 そのとき、等方分布を仮定して粒子のウエイトが決められます。 全体の規格化定数は、 **z0** 地点で **dl0** 地点のダクト面積と同じ領域で発生した粒子が **dl0** 地点のダクトを通過する粒子数で規格化されます。 通常、 **dl0** から **dl2** のダクト壁から全てのソース領域が見える時、この規格化定数は 1 です。 もし、 **z0** 地点でのソース領域が **dl0** 地点のダクト面積より大きい場合は、 **z0** 地点でダクト面積より大きい領域からダクトに入った粒子は、ソース粒子の規格化には含まれません。 このことは、 **z0** 地点でダクト面積より大きい領域からダクトに入った粒子は、規格化定数を変えずにダクト管内のカレントを増加させます。 このダクトソースでは、粒子のソース位置での角分布は、ビームラインの方向のダクト面積の立体角で均一であるということを仮定しています。 次に、簡単な例題を示します。 最初の例は、角柱のビームラインを仮定し、ソースサイズとガイド断面積は同じとしています。 ダクトソースのセクションは、 .. _ex-source-ex2: .. code-block:: text :caption: ダクトソースオプションの例題(1) 1: [ Source ] 2: 3: set: c1[200] $dl0 4: set: c2[500] $dl1 5: set: c3[5000] $dl2 6: set: c4[5.0] $x*2 at z0 7: set: c5[5.0] $y*2 at z0 8: set: c10[5.0] $dxw 9: set: c20[5.0] $dyw 10: set: c30[0.001] $dpf 11: 12: s-type = 2 13: proj = neutron 14: e0 = 20.0 15: x0 = -c4/2 16: x1 = c4/2 17: y0 = -c5/2 18: y1 = c5/2 19: z0 = 0.0 20: z1 = 0.0 21: dir = 1.0 22: phi = 0.0 23: 24: dom = -10 25: dl0 = c1 26: dl1 = c2 27: dl2 = c3 28: dxw = c10 29: dyw = c20 30: dpf = c30 .. figure:: smst01.png :width: 30em :alt: smst01 :name: fig-smst01 ダクトソースオプション例題 1 次の例題は、ソース領域の大きさを変えたものです。 .. _ex-source-ex3: .. code-block:: text :caption: ダクトソースオプションの例題(2) 1: [ Source ] 2: 3: set: c1[200] $dl0 4: set: c2[500] $dl1 5: set: c3[5000] $dl2 6: set: c4[10.0] $x*2 at z0 7: set: c5[10.0] $y*2 at z0 8: set: c10[5.0] $dxw 9: set: c20[5.0] $dyw 10: set: c30[0.001] $dpf 11: 12: s-type = 2 13: proj = neutron 14: e0 = 20.0 15: x0 = -c4/2 16: x1 = c4/2 17: y0 = -c5/2 18: y1 = c5/2 19: z0 = 0.0 20: z1 = 0.0 21: dir = 1.0 22: phi = 0.0 23: 24: dom = -10 25: dl0 = c1 26: dl1 = c2 27: dl2 = c3 28: dxw = c10 29: dyw = c20 30: dpf = c30 次のグラフが示すように、この例題では、current、wall currentともに増加しています。 この増加分がソース領域のダクトより大きい部分からの寄与を示します。 従って、このオプションによって、ソースのマージン領域からの寄与を自動的に扱うことができます。 .. figure:: smst02.png :width: 30em :alt: smst02 :name: fig-smst02 ダクトソースオプション例題 2