egs5のお遊び日記

egs5でできること( ..)φメモメモ

egs5を使う上で役立ちそうなことを紹介しています!

egs5の線源形状の変化(等方、放射状、面の統合編(2次元))

 

本記事の紹介

本記事は、放射線輸送計算コードegs5の公式より配布されている『ucnaicgv』のシミュレーションにおいて、線源の形状を変化させ、デフォルトのペンシルビームから等方線源、放射状線源、面線源のいずれかにする方法を紹介します。(egs5公式はこちら

具体的には、既に公開してあるegs5の線源形状の変化(等方線源編放射状線源編面線源編)を一つにまとめた統合版を紹介します。

 

手順

ucnaicgv.fのSTEP8のdo文内のSelect incident angleの下に

        selectmode = 3                  !1:isotropy,2:radial,3:surface
        if(selectmode .eq. 1) then
          call randomset(rnnow)
          win = 2.0*rnnow-1.0
          call randomset(rnnow)
          phai = PI*(2.0*rnnow-1.0)
          uin = dsqrt(1.0-win*win)*cos(phai)
          vin = dsqrt(1.0-win*win)*sin(phai)
        end if
        if(selectmode .eq. 2) then
          win =cos(30*PI/180)
          call randomset(rnnow)
          win = win+rnnow*(1.0-win)
          call randomset(rnnow)
          phai = PI*(2.0*rnnow-1.0)
          uin = dsqrt(1.0-win*win)*cos(phai)
          vin = dsqrt(1.0-win*win)*sin(phai)
        end if
        if(selectmode .eq. 3) then
          call randomset(rnnow)
          xin = 6*(rnnow-0.5)
          call randomset(rnnow)
          yin = 6*(rnnow-0.5)
        end if

と入力します。
selectmodeが1のとき等方線源、2のとき放射状線源、3のとき面線源になります。

f:id:denkigakusei:20220109022252p:plain

 

次に、使用した変数(selectmodeとphai)の定義です。
STEP1の以下の場所に

,phai

,selectmode

と入力します。

f:id:denkigakusei:20220109022426p:plain

f:id:denkigakusei:20220109022448p:plain

 

実行結果1(CGVIEWの表示:maxpict=200、selectmode=1(等方))

f:id:denkigakusei:20220109023749p:plain

実行結果2(CGVIEWの表示:maxpict=200、selectmode=2(放射状))

f:id:denkigakusei:20220109023908p:plain

実行結果3(CGVIEWの表示:maxpict=200、selectmode=3(面))

f:id:denkigakusei:20220109024014p:plain