.. _sec-wwbias: [ WW Bias ] セクション ================================================== このセクションでは、**[weight window]** で指定したウエイトの下限値に対して、特定の領域にバイアス(傾斜)をかけることができます。 特に、**[t-wwg]** を用いて自動的に **[weight window]** を作成した際、更に特定の領域にウエイト値のバイアスをかけたい場合に利用できます。 :numref:`fig-wwbias` に、**[weight window]** と **[ww bias]** を組み合わせた輸送計算を実行する際の流れを示しました。 最初に **[t-wwg]** を用いて **[weight window]** を作成します。 これで十分な場合は不要ですが、注目しているタリー領域が限定的である場合は、**[ww bias]** を作成して特定の領域にバイアスをかけることにより、効率的に統計量を増やすことが可能となります。 **[ww bias]** を作成する方法は2通りあり、Weight Window Bias Generator(WWBG)である **[t-wwbg]** を利用して自動的に作成する方法と、本節でご紹介する手動で作成する方法です。 **[t-wwbg]** の利用方法については、:numref:`[t-wwbg]` をご覧ください。 作成した **[ww bias]** と **[weight window]** を組み合わせた輸送計算を実行する場合は、**[parameters]** において **icntl=0** および **iwwbias=1** としてください。 .. _fig-wwbias: .. figure:: ../assets/wwbias.png :width: 40em :align: center :alt: flowchart of weight window and ww bias **[weight window]** と **[ww bias]** を組み合わせた輸送計算の概要。 **[weight window]** が複数定義されている場合のバイアスの掛け方は、インプットに出てきた順番通りに、**[ww bias]** を組み合わせていきます。 つまり、**[weight window]** と同じ数の **[ww bias]** が必要です。 **[ww bias]** の書式は、以下の様になります。 バイアスをかける予定の **[weight window]** と同じ粒子、エネルギーメッシュ、領域を指定してください。 領域の指定で、もし **mesh** の指定を省略した場合は、デフォルトである **reg** が形状型として選択されます。 **mesh=xyz** を指定した場合は、その後に **[weight window]** と同じ **x-type**, **y-type**, **z-type** の定義が必要です。 **mesh=tet** を指定した場合は、その後に **[weight window]** と同じ領域の指定が **reg=** の書式で必要です。 .. code-block:: text :caption: **[ WW Bias ]** セクションの例 (1) [ WW Bias ] part = neutron eng = 2 1e-3 1.0 reg wwb1 wwb2 1 0.25 0.25 2 0.50 0.50 3 1.00 1.00 4 2.00 2.00 .... ........ ........ 最初に **part=** の書式で粒子を指定します。 **part=all** がデフォルトなので、省略した場合は全粒子が対象となります。 **part=** の書式の詳細はタリーの粒子指定と同じです。 ただし、指定できるのは **ityp** としての区別だけです。 核種のそれぞれを個別に指定することはできません。 次に、エネルギーメッシュを定義します。 **eng=** でメッシュの個数を指定し、その次の行に、メッシュの値 :math:`e_1, e_2, e_3, ...` を定義します。 更にその次の行に **reg, wwb1, wwb2, ...** と記載し、**reg** の列には領域番号、**wwbi** の列には各領域にかけたいバイアスの値を与えます。 その際、読み飛ばしコラム用の **non** が使えます。 **wwbi** は、**eng=** で指定したエネルギーメッシュの数だけ用意してください。 各 **wwbi** の列は、エネルギー :math:`E` が :math:`e_{i-1} < E < e_i` となる粒子を対象としています。 ここで :math:`e_0=0` です。 領域番号の指定では、同じ値の領域をまとめて書く **( { 2 - 5 } 8 9 )** という書式も使えます。 また、**( 6 < 10[1 0 0] < u=3 )** などの lattice, universe 構造も指定できます。 ただし、単一の数字で無い場合は必ず **( )** で括ってください。 **[parameters]** において **iwwbias=1** とすると、**[ww bias]** で与えたバイアスの値の逆数が **[weight window]** で指定したウエイトの下限値にかかります。 この場合、input echo の **[weight window]** には **[ww bias]** で定義した値を考慮した結果が書き出され、**[ww bias]** には **off** が付きます。 もし、**[ww bias]** が定義されていない場合は、input echo において全ての値が 1 となった **[ww bias]** が書き出されます。 **[ww bias]** を用いた計算の1例を以下に示します。 .. _ex-wwbias-ex: .. code-block:: text :caption: **[ WW Bias ]** の例題 1: [ WW Bias ] 2: part = neutron 3: eng = 1 4: 1.00000E+05 5: 6: reg wwb1 7: 1 1/7 8: 2 1/6 9: 3 1/5 10: 4 1/4 11: 5 1/3 12: 6 1/2 13: 7 1 14: 8 2 15: 9 3 16: 10 4 17: 11 5 18: 12 6 考慮する粒子は中性子とし、エネルギーメッシュは 100 GeV 以下の領域1つを指定しています。 領域番号 1 から 12 に対してバイアスをかけており、領域 7 を中心にして、少ない方には弱く、大きい方には強くバイアスをかけています。 :numref:`fig-wwbias-exa` が、例題 :numref:`ex-wwbias-ex` を適用した体系の :math:`xz` 断面図です。 体系には :math:`z` 軸を中心とした半径 100 cm のコンクリートの円柱が配置されており、:math:`x=0, y=0, z=90` cm の点から 14 MeV 中性子を等方線源として発生させました。 最初に **[t-wwg]** により **[weight window]** を作成し、そのウエイト値をそのまま用いて計算して求めた中性子のフルエンス分布が :numref:`fig-wwbias-exb`、例題 :numref:`ex-wwbias-ex` を適用して求めた結果が :numref:`fig-wwbias-exc` です。 :numref:`fig-wwbias-exb` を見てわかるように、バイアスをかけずに **[weight window]** を利用して求めた結果は、:math:`z` 軸のプラス側とマイナス側に同様に粒子数が広がっています。 それに対し、:numref:`fig-wwbias-exc` では、例題 :numref:`ex-wwbias-ex` に示す値が示すように、:math:`z` 軸のプラス側では粒子が増加し、マイナス側では減少しています。 このように、マイナス側が重要でなく、プラス側の領域について詳細に調べたい場合は、**[ww bias]** によってバイアスをかけることにより、効率的にシミュレーションを実行することができます。 .. figure:: ../assets/wwbias-geo.png :width: 30em :name: fig-wwbias-exa :align: center :alt: xz cross section of geometry (a)体系の xz 断面図。 .. figure:: ../assets/wwbias-wo-bias.png :width: 30em :name: fig-wwbias-exb :align: center :alt: result without ww bias (b) **[ww bias]** を適用せずに計算した結果。 .. figure:: ../assets/wwbias-with-bias.png :width: 30em :name: fig-wwbias-exc :align: center :alt: result with ww bias (c)例題に示した **[ww bias]** を適用して計算した結果。