宇宙線を空から降らせる

  • 参考

    • phits/lecture/advanced/cosmicray

    • マニュアル 5.3.19.9 章

  • 半径200cmの球殻から大気中の宇宙線を2000発降らせている。スペクトルの設定は以下。

    • 緯度(glat) = 33 (度)

    • 経度(glong) = 130 (度)

    • 高度(alti) = 0 (km)

    • これは佐賀市の場合

  • 例としてミューオンと中性子だけ降らせている。

  • cell=21が地上。22が地下。22は物質番号 -1 を割り当てて下からの成分を完全にカットした。

  • 鉛ガラス検出器(cell=1)を地上に置いた。


ミューオン (2d_xz_muon.eps)

../../_images/2d_xz_muon.gif

中性子 (2d_xz_neutron.eps)

../../_images/2d_xz_neutron.gif

energy.eps

  • 地上(cell=21)における粒子のエネルギー分布。

../../_images/energy.png

angle.eps

  • 地上(cell=21)から地下(22)に入る時の粒子の角度分布。中性子のほうがミューオンよりも角度が大きい。

../../_images/angle.png

deposit.eps

  • 鉛ガラス(cell=1)のエネルギー付与分布。

  • 統計が少ない。解決方法は例えば

    • maxcas を増やして計算回数を上げる

    • 宇宙線が発生する球殻の半径 c1 を小さくする

    • 鉛ガラスを複数置く

../../_images/deposit.png

(参考:統計を増やした deposit.eps

../../_images/deposit_high.png

into_detector_dmp.out

  • 検出器(cell=1)に入った粒子の情報をテキストファイル(into_detector_dmp.out)に書き出している。

  -1.300000000000000D+01   5.999999999683743D+00   3.167490567208137D+00   1.400311182461877D+01  -3.162570913876687D-01  -4.350904000259421D-01  -8.430170792767353D-01   5.043608622953946D+02   1.000000000000000D+00   6.261725450254336D+00   7.440000000000000D+02   1.000000000000000D+00
  -1.300000000000000D+01   4.270813381084424D+00   5.999999999166689D+00   2.737788156725464D+01   4.870208692571157D-01  -8.333107648138632D-01  -2.615412819295985D-01   1.152322691655301D+04   1.000000000000000D+00   6.276482146981324D+00   8.670000000000000D+02   1.000000000000000D+00
  -1.300000000000000D+01  -5.999999999571961D+00  -3.746179009237953D+00   2.902283900132777D+01   4.280392466046081D-01  -5.582329588916357D-02  -9.020344577687874D-01   1.024044951552910D+04   1.000000000000000D+00   5.713130883858525D+00   1.014000000000000D+03   1.000000000000000D+00
  -1.300000000000000D+01   1.363282460846900D+00   5.999999999579546D+00   2.125876286168722D+01  -3.618266020839387D-01  -4.204536988867433D-01  -8.320457902765009D-01   7.622341503246878D+03   1.000000000000000D+00   5.976120951789371D+00   1.041000000000000D+03   1.000000000000000D+00
  -1.300000000000000D+01   2.324424479812270D+00   5.999999999332699D+00   6.830101307872464D+00  -2.182880564808399D-01  -6.673006902635852D-01  -7.120815354800041D-01   3.581966376533930D+04   1.000000000000000D+00   6.358585399034658D+00   1.170000000000000D+03   1.000000000000000D+00
   2.112000000000000D+03   2.987449763408414D+00  -5.999999999100431D+00   1.345475335831164D+01  -4.317182097982893D-01   8.995691624174087D-01  -6.629260408372918D-02   3.916245759037464D+00   1.000000000000000D+00   7.036389105658317D+01   1.272000000000000D+03   1.000000000000000D+00
   2.112000000000000D+03   2.605150703877696D+00   5.999999999260335D+00   1.536708328395350D+01   4.251299510657168D-01  -7.396648733591683D-01  -5.216899460651190D-01   8.222506588419546D-01   1.000000000000000D+00   1.502141858288128D+02   1.449000000000000D+03   1.000000000000000D+00
  -1.300000000000000D+01   5.999999999524234D+00  -3.724896567140975D+00   1.773088121318878D+00  -4.757660453435825D-01   4.631870654161487D-01  -7.477328483685229D-01   4.150098315192381D+03   1.000000000000000D+00   6.474771844197241D+00   1.475000000000000D+03   1.000000000000000D+00
   1.300000000000000D+01   5.999999999386787D+00   1.074583986118774D+00   1.932136694372502D+01  -6.132135948588188D-01  -4.911351716966157D-01  -6.186722316403577D-01   5.864092166797841D+02   1.000000000000000D+00   6.192399315136884D+00   1.859000000000000D+03   1.000000000000000D+00
  • この場合、各行に 12 列の情報が書かれている。どの情報を書き出すかは main.inp の以下で指定されている。

[ t-cross ]
     file = into_detector.out
     part = all

     mesh = reg
      reg = 1 $ number of crossing regions
      non     r-from  r-to  area
        1     21      1     1.0

 e-type = 2            # e-mesh is log given by emin, emax and ne
   emin = 0           # minimum value of e-mesh points
   emax = 1e+10           # maximum value of e-mesh points
     ne = 1            # number of e-mesh points
   unit = 1            # 1:[1/cm^2/source]
   axis = eng
 output = current            # surface crossing flux

   epsout =    0
     dump =   -12           # (D=0) number of dumped data, <0: ascii, >0: binary
                1   2   3   4   5   6   7   8   9   10   18   19
  • dumpデータに関しては例えば以下を参照。

    • phits/lecture/advanced/sourceB/phits-lec-sourceB-jp.pptx

../../_images/dump.png

main.inp

$======================================
[ Parameters ]
 icntl    =           0     # (D=0) 3:ECH 5:NOR 6:SRC 7,8:GSH 11:DSH 12:DUMP
 maxcas   =        2000     # (D=10) number of particles per one batch
 maxbch   =           1     # (D=10) number of batches
 negs     =           2     # (D=-1) =-1:original, =0:No, =1,2:EGS

 e-mode   =           2     # (D=0) 0: Normal, 1: Event generator mode Ver.1, 2: Ver.2
 irqmd    =           1     # (D=0) 0: JQMD legacy version, 1: JQMD-2.0
 mdbatima =        3000     # (D=500) max database size of ATIMA
 maxbnk   =      100000     # (D=10000) maximum bank memory length
 iMeVperU =           1     # (D=0) 0:[MeV] or 1:[MeV/u] is unit of tally output
 esmax    =  100000000.     # (D=1.0e6) max energy/u for charged particle range

$======================================
[ source ]
set:c1[200.0]  $ Source radius [cm]

  totfact =  pi*c1**2       # (D=1.0) global factor

 infl:{source.inp}
      proj =  muon+
 infl:{source.inp}
      proj =  muon-
 infl:{source.inp}
      proj =  neutron

$======================================
[ surface ]
 1  rpp   -6 6   -6 6   0 31.5
 2  so    c1+0.1
 3  pz    -1

$======================================
[ material ]

$ 鉛ガラス(密度 = 5.2g/cm3)
$ [Ref] PERFORMANCE OF THE VENUS LEAD-GLASS CALORIMETER AT TRISTAN
$       Nuclear Instruments and Methods in Physics Research A271 (1988) 432-441
mat[1] K 0.00927418  Na 0.00939653  O 0.605591  Pb 0.154165  Sb 0.0010569  Si 0.220517

$======================================
[ cell ]
  1   1  -5.2   -1        $ 鉛ガラス検出器
 21   0         -2  3 #1  $ 地上
 22  -1         -2 -3     $ 地下
 99  -1          2

$ ======================================
[ t-track ]
 infl:{2d_xz.inp}
     file = 2d_xz_muon.out
     part = (muon+ muon-)
   t-type = 2
     tmin = 0
     tmax = 10
       nt = 20

$ ======================================
[ t-track ]
 infl:{2d_xz.inp}
     file = 2d_xz_neutron.out
     part = neutron
   t-type = 3
     tmin = 1
     tmax = 100000
       nt = 20

$======================================
[ t-track ]
     file = energy.out
     part = muon+ muon- neutron

     mesh = reg            # mesh type is region-wise
      reg = 21

   e-type = 3              # e-mesh is log given by emin, emax and ne
     emin = 1              # minimum value of e-mesh points
     emax = 1.0e+6         # maximum value of e-mesh points
       ne = 60             # number of e-mesh points

     unit = 1              # unit is [1/cm^2/source]
     axis = eng            # axis of output
    gshow = 1              # 0: no 1:bnd, 2:bnd+mat, 3:bnd+reg 4:bnd+lat
   epsout = 1              # (D=0) generate eps file by ANGEL
    y-txt = Flux [1/cm^2/sec]

$======================================
[ t-cross ]
     file = angle.out   # file name of output for the above axis
     part = muon+ muon- neutron

     mesh = reg
      reg = 1 $ number of crossing regions
      non     r-from  r-to  area
        1     21      22    1.0

   e-type = 2            # e-mesh is log given by emin, emax and ne
     emin = 0.0          # minimum value of e-mesh points
     emax = 1.0e10       # maximum value of e-mesh points
       ne = 1            # number of e-mesh points

   a-type = -2           # e-mesh is log given by emin, emax and ne
     amin = 0.0          # minimum value of e-mesh points
     amax = 180.0        # maximum value of e-mesh points
       na = 20           # number of e-mesh points

     unit =    4         # unit is [1/cm^2/sr/source]
     axis =  the         # theta = angle
   output = a-curr       # surface crossing flux
   epsout =    2         # (D=0) generate eps file by ANGEL
 y-txt    = Flux [1/cm^2/sr)/sec]

$======================================
[ t-deposit ]
     file = deposit.out     # file name of output for the above axis
     part =  all muon+ muon-

     mesh =  reg            # mesh type is region-wise
      reg =  1

   e-type =  3
     emin =  1
     emax =  1000
       ne =  60

     unit =  3            # 3: Number [1/source], 4: Number [1/nsec/source]
   output =  deposit        # total deposit energy

     axis =  eng
    gshow =  1
   epsout =  1

$======================================
[ t-cross ]
     file = into_detector.out
     part = all

     mesh = reg
      reg = 1 $ number of crossing regions
      non     r-from  r-to  area
        1     21      1     1.0

 e-type = 2            # e-mesh is log given by emin, emax and ne
   emin = 0           # minimum value of e-mesh points
   emax = 1e+10           # maximum value of e-mesh points
     ne = 1            # number of e-mesh points
   unit = 1            # 1:[1/cm^2/source]
   axis = eng
 output = current            # surface crossing flux

   epsout =    0
     dump =   -12           # (D=0) number of dumped data, <0: ascii, >0: binary
                1   2   3   4   5   6   7   8   9   10   18   19
$  1 2 3 4 5 6 7 8  9   10 11 12 13 14 15 16   17    18    19 20
$ kf x y z u v w e wt time c1 c2 c3 sx sy sz name nocas nobch no

source.inp

 <source> = 1.0       # should be 1.0 for e-type=25
   s-type =   9       # mono-energetic axial source
       r1 =   c1      # radius of sphere [cm]
       r2 =   c1      # radius of source circle [cm]
      dir =  iso      # inner direction with uniform dis. by analog
   e-type =  25       # Cosmic-ray source
    icenv =   1       # 0>: Terrestiral GCR, D=0: Free-space GCR, <0:Free-space SEP
 solarmod =   0       # Solar activity W-index
 glat  = 33
 glong = 130
  alti = 0 $ km

2d_xz.inp

$ ======================================
$ [ t-track ]
$    file = 2d_xz_muon.out
$    part = (muon- muon+)

     mesh =  xyz

   x-type = 2
       nx = 200
     xmin = -c1*1.1
     xmax =  c1*1.1

   y-type = 2
       ny = 1
     ymin = -c1*1.1
     ymax =  c1*1.1

   z-type = 2
       nz = 200
     zmin = -c1*1.1
     zmax =  c1*1.1

   e-type = 2
       ne = 1
     emin = 0
     emax = 1e+10

     unit = 1        $ 1: [1/cm^2/source]
     axis = xz

   epsout = 1
    gshow = 3            # 0: no 1:bnd, 2:bnd+mat, 3:bnd+reg 4:bnd+lat

    z-txt = Flux [/cm2/sec]
$ Rotating figure by 90 degree
     trcl = 0 0 0 0 0 1 0 1 0 1 0 0
    x-txt = x [cm]
    y-txt = z [cm]