2013年7月14日 (日)

実用的?遮蔽計算をしてみよう【あそび】

皆さん、大変お久しぶりです。
長い沈黙を破り、久々の投稿です。

私自身、約1年ぶりにPHITSを使いました。
というのも、遮蔽ガラスを検討する機会ができたためです。

遮蔽ガラスといえば、たいてい鉛ガラスですね。

しかし、ここで疑問が。
「鉛ガラスで中性子の遮蔽はできるのか?」
ということです。

よく教科書で
「中性子はhigh Zのものでは遮蔽できずproton(水・水素)が有効」
というのを目にします。

「でも、鉛が1mくらいあったら遮蔽できるんじゃないの?」
とか
「結局、CdとかBが効くんでしょ?」
といった実際に使う知識ばかりで
こういった基礎的な計算は、あまりすることもなく
本当はどうなるのか体験して知っている方は少ないのではないでしょうか?

で、実際のところですが
日本にいくつもない鉛ガラスを取り扱う会社に
話を聞いていくうちに話が二分されてしまいました。

「できない」と主張する派閥は
中性子の遮蔽に別途アクリルが必要だという話です。

このアクリル(PMMA)を
鉛ガラスの手前に入れるのか後ろに入れるのかがまた大きな問題です。

中性子の遮蔽を考えると、PMMA→鉛ガラスの方が効きますが
事情により、鉛ガラスより手前にPMMAを入れるのは好ましくありません。

あまり変わらないと思った方は
中性子と物質との相互作用の理解がイマイチではないですか?
最初に中性子に入射する物質で二次ガンマの発生が大きく変わるはずです。

ということで
PMMA→Pb

Pb→PMMA
という計算をしてみました。

鉛ガラスの組成は詳細がわからないので、
今回は簡単のため、鉛ということにしました。
PMMAは(xxx)nの(xxx)だけ使いました。

線源はCf-252の模擬です。
実際には崩壊過程で出てくるガンマの評価も必要ですが、
とりあえず中性子の評価をしたかったので、とりあえず除きました。
エネルギー分布はENDF-BVIから拾ってきました。

結果を細かくまとめるのが面倒なので
適当な画像を貼るとこんな感じになりました。

Neutron_shield_pb_pmma

fluxしか見ていないので、
線量に換算するとまた違うかもしれませんが、
そもそも漏れてこなければ問題にはならない
…という考え方もできる気がします。

少なくとも、鉛だけでは中性子は止まらなさそうですね。

これはテスト実行段階なので
また統計量も増やして、線量にまとめたものも作ります。

もう少し画像をきれいに見られるように
概略をまとめたpptのpdfを作ったので置いておきます。

「Neutron_shield_Pb_PMMA_simple.pdf」をダウンロード

ちなみに使ったPHITSのバージョンはまだ2.30です。
2.50以降は試す時間と環境が、まだありません。

| | コメント (2)

2012年12月31日 (月)

更新状況

*************************************
  こちらの記事は直近更新の目次ページです
   最新記事はこの記事の1つ下になります
        (当サイトはリンクフリーです)
*************************************

更新状況(最新10件のみ)
2012/06/10 PHITSに欲しい機能(2012/06/10)
2012/05/19 EGSのパラメータ解説
2012/05/06 【50000アクセス達成記念企画】
2012/05/06 50000アクセス達成!!
2012/02/19 記事下部の雑記更新
2012/02/19 45000アクセス達成!
2012/01/22 [メモ]いい感じの3d-show
2012/01/03 2012年もよろしくお願い致します
2011/12/03 Cellパラメータを使ってみよう~その1~
2011/11/19 40000アクセス達成!

2011/04/23 更新状況記事を設置

----

更新したい内容
・CygwinへのPHITSインストール(@ブログ or HP)
・[Counter]の使い方
・phitsrun.shのリリース
etc...

----

雑記(2/19)
*2011年4月から就職しました*

3月が近付き、
PHITSのアップデートが待ち遠しいです。

約半年かけて会社(?)のPCに
Cygwinで満足に動くPHITSをインストールしましたが、
PCをWin7に入れ替えるとかで半年間がチャラになりそうです。

インプットはなくならないので、ひとまずはOKですが、
またMPIライブラリから入れることを考えると、非常に面倒ですが、
どうやらワークステーションにLinuxを入れてもらえそうです。

先日からmakefileの中身も変わったこともあるので、
そろそろインストール関係の記事を書きなおしたり、
まとめてみたほうがよさそうですね。

予想はしていましたが、
ホームページの方に作った掲示板がイマイチ盛り上がりませんね。
簡単な内容でも質問してもらえれば切っ掛けになりそうなのですが。
どなたか盛り上げてくださるのをお待ちしています。

| | コメント (0)

2012年6月10日 (日)

PHITSに欲しい機能(2012/06/10)

※2012/06/10更新(1件追加)

=======================================

  1. タリーのmeshに球形状メッシュが欲しい
  2. タリーのアウトプットファイル名が
    重複している時は警告して欲しい
  3. PHITS Stationでの並列機能
  4. 新しい飛程計算コードの導入(SRIM、TRIM)
  5. PHITS Stationでの再コンパイル機能
  6. coming soon...

=======================================

----------更新履歴----------

2012/6/10追加
『5.PHITS Stationでの再コンパイル機能』
mdas値を増やしたり、T-depositのユーザー定義関数(dedxfunc)、
s-type=100のユーザ定義ソース等は
PHITSの再コンパイルが必要です。

Linux、Macユーザーは
比較的簡単に再コンパイルすることができますが
Windows環境のユーザーには中々難しいです。

あらかじめPHITS Stationに
再コンパイルの機能を乗せることができれば
ユーザー独自の設定が
少し楽になるのではと思い項目に追加しました。

-----

2011/10/12実装されました!
『2.重複したタリー出力名の警告』
がPHITS ver.230で実装されたことを確認しました!
PHITS_Master様を始め、
開発チームの皆さん、ありがとうございました!

-----

2011/5/10追加
『4.新しい飛程計算コードの導入(SRIM、TRIM)』
こちらは、私自ら思ったことです。
PHITSのデフォルトはSPAR。
現在はATIMAも使えますが、工事中です。
詳しくないのですが、飛程計算というと、
どうやらSRIMの方がメジャーという印象を受けます。
SRIMは完全オープンソースではないので、
難しいかもしれないですが、PHITSにインポートできれば
ユーザの計算できるオプションの幅が増え、
興味深い計算が増えるのではないかと思いました。

-----

2011/1/29追加
『3.PHITS Stationでの並列機能』
S.T. 様よりコメントで頂きました。
反映が遅くなり申し訳ありませんでした。
PHITS Stationで遊んでいて、自力で
並列機能が付けるのは難しそうだったので追加しました。
ただ、MPIを入れるなど、計算機環境に依存する部分が
非並列に比べると多いので少し難しそうな気もします。

-------------経緯-------------

ふと、PHITSに追加して欲しい機能を
ここに書いていくようにしようと思いました。

バグやアカデミックな要望は
PHITS_Master様にメールしやすいですが、
「あったらいいな」的な細かい部分はなかなか伝えにくいです。

PHITS_Master様がご覧になって、
「反映されたら嬉しいね」程度の記事です。

この記事は適宜更新していくようにしようと思います。

何か思いついた方は
コメント頂ければ記事の方に反映させて頂きたいと思います。

| | コメント (11)

2012年5月19日 (土)

EGSのパラメータ解説

いつから公開されていたのか、
今まで気づきませんでしたが素晴らしい資料が公開されています。
ucsampl5に波戸さんがコメントを入れてくださっているものです。

EGSのパラメータにわからないものがあるとき、
こちらが参考になるのではないかと思います。

http://rcwww.kek.jp/egsconf/2006-course/egs5_user_manual.pdf

EGS研究会のページは
いつも変わらないように見えて、時々有益な情報が増えています。
1ヶ月置きくらいに覗いてみると、いいことがあるかもしれません。

| | コメント (5)

2012年5月 6日 (日)

【50000アクセス達成記念企画】
PHITSの魅力"event generator mode"

先日、当ブログが5万アクセスを達成することができました。

これも、皆様のおかげです。
ありがとうございます。

これを記念して、
PHITSの魅力とも言える
"event generator mode"の力を再確認すべく
e-modeのON/OFFを使って
2次元表示で遊んでみる企画を実行しました。

---------------

PHITSの魅力の一つに
"event generator mode"があります。

マニュアルに
"event generator mode"の解説が載っていますが
PHITSのようなモンテカルロの経験が少ない方等には
わかりにくいのではないかと思います。

"event generator mode"は核データを使用して計算した場合に
n(中性子)入射によって起こるイベントを詳細化する機能です。

20MeV以下の中性子輸送に関しては
INC(Bertini)を使うと精度が悪く、
一般的にJENDL等の核データを使用します。

これにより、中性子の輸送事態は精度が上がります。
しかし、中性子入射により発生する
二次、三次粒子の計算がザックリしたものになることがあります。
場合によっては、そもそも発生しなかったりもします。

これは核データの内容が不足しているためです。
その不足分を補って、二次三次...粒子を輸送させるのが
PHITSの持つ"event generator mode"の機能です。

かなり端折っていますが、
私の理解では、こんな感じです。
間違っている所がありましたら、指摘して頂ければ幸いです。

---------------

これが実際の計算ではどうなるのか?
ということで、例題を作成しました。
概略としては、以下の図のような内容です。

50000geo
↑のような計算をしてB(n,α)反応のαを見ます
(クリックで拡大)

そのインプット一式がこちらになります。
「50000haifu.tgz」をダウンロード

メインファイルは"50000.in"です。
一番最初にe-modeのオプションを書きました。

まず"e-mode=0"のとき
つまり"event generator mode"を使用しないときの
[T-track]の結果がこちらになります。

50000noeg
(クリックで拡大)

真っ赤です。
これは、一面にα(He)が出ているわけではなく
これは前述のように核データのもつ情報が足りないために
αが輸送計算できず、タリーされなかったことが原因です。

次は"e-mode=1"のとき
つまり"event generator mode"を使用したときの結果です。

50000eg
(クリックで拡大)

なんと、αがタリーされました。
これが"event generator mode"の力です。

今まで全く計算されなかったαを
輸送させることに成功しています。

以上のような点から、
"中性子入射の反応で発生する荷電粒子を追いたい"ときには
"event generator mode"を使用することが望ましいと思います。

前述のように、これは核データを使った時の話になります。
なので、核データを使用しない場合も
2次元分布程度なら近い結果が得られます。
ただし、詳細な中性子の挙動を知りたい場合はおススメできません。

最後に参考として
核データを使用した場合と
核データを使用しなかった場合の
モデル使用の内訳を次に載せます。

実は統計量が違いますが、
参考にはなるかと思います。

50000model_2
核データ使用・不使用のモデル内訳(phits.outの中身)
(クリックで拡大)

---------------

以上で
50000アクセス達成記念企画をが終了となります。
お楽しみいただけたでしょうか?

本当は掲載画像をもっと恰好よくしたかったのですが
ANGEL処理させるのが最後に面倒になってしまったので
今回はこれでご勘弁ください。

それでは
今後とも、当ブログをよろしくお願い致します。

| | コメント (2)

50000アクセス達成!!

皆様のおかげで、
当ブログが(延べ)50000アクセス
を達成することができました。

本当にありがとうございます。

今後とも、当ブログをよろしくお願い致します。

---

達成には気づいていましたが、
またしても、随分日が空いてしまいました。申し訳ありません。

今回はキリのいい
5万アクセスという数字の達成ということだったので
久々に企画インプットを作成しました。
少しでも、お楽しみ頂ければ幸いです。

---

~アクセス達成の思ひ出~
2009年06月04日 ブログ創設
2009年??月 1000アクセス達成
2010年02月 4000アクセス達成
2010年08月 10000アクセス達成
2011年03月 25000アクセス達成
2012年04月 50000アクセス達成!

| | コメント (0)

2012年2月19日 (日)

45000アクセス達成!

皆様のおかげで、
当ブログが(延べ)45000アクセス
を達成することができました。

本当にありがとうございます。

今後とも、当ブログをよろしくお願い致します。

---

達成には気づいていましたが、
随分日が空いてしまいました。すみません。
もう46000になってますね。ありがとうございます。

最近はOpenMPIで検索してくる方が多いようで。
うちのブログが参考になるとは、あまり思えませんが。

いい加減[Counter]の例題を上げたいと思うのですが、
週末は元気がないので、そういう余裕もあまりありません。
何より、学生の時に作ってあった例題をなくしたので
作り直すのが面倒でUpできていません。善処します。

| | コメント (2)

2012年1月22日 (日)

[メモ]いい感じの3d-show

※2012/1/24修正
パラメータが全然違うものをコピペしていました。
申し訳ありませんでした。

自分用のメモ書きですが、
卒論・修論(+発表)シーズンなので
ちょこっと[T-3dshow]が使いたいという方は参考にどうぞ。

[T-3dshow]の使用時の注意としては
部屋をきちんと空気で満たして計算している場合は
空気は表示をしないようにしないと何も写りません。
"material="で表示しないmaterialの数をマイナス値を指定して、
空気のmaterial番号や、その他表示したくないmaterialがあれば
ここで指定するようにしてください。

[T-3dshow]
      x0 = -5
      y0 = 0
      z0 = -70
  output = 3
   l-the = 30
   l-phi = 80
   l-dst = 200
   e-the = 45
   e-phi = 150
   e-dst = 230
   w-wdt = 160
   w-hgt = 130
   w-dst = 100
  heaven = y
    line = 1
  shadow = 1.0
  epsout = 1
    file = 3d_water.dat
   width = 0.05
   resol = 7
material= -1
            54 $9

というパラメータで[T-3dshow]を実行すると
ビームが下流(-z方向)から入射してきて
ターゲットが(0,0,0)点にある場合、
ターゲットから上流を覗き込む、いい感じの画像が取得できます。

私の修論などに使った絵ですが、
↓のような感じです。このアングルを探すのに半日かかりました。

Icrp_phantom_3dgeo

テスト実行の場合はresolの値を小さくして
解像度を低めにしておいた方が無難です。

アングルや距離を決めたらresolを高めにして
使用する画像を作るようにするのがいいです。
resolを大きくしていくと、途中から膨大な時間がかかり始めます。
注意してください。

| | コメント (0)

2012年1月 3日 (火)

2012年もよろしくお願い致します

もう3日になりましたが、
本年も当ブログをよろしくお願い致します。
(コピペ)

新年ということで、
プロフィールの1行紹介を更新しました。

昨年は
"With all the love; for neutron"
でしたが、

今年は
"Back-to-basics on neutron study"
にしようと思います。

"中性子の研究を基本に戻って"
といった意図です。
英語は苦手なので全然違う意味になっているかも知れません。

就職してから、
中性子に関する知識(特に理論的な部分)が
足りないと思うことが多かったので、
「もう一度基本を勉強しよう」と思ってこれにしました。

今年はEGS研究会に行きたいと思っています。
昨年行ったのでPHITS講習会は難しいですが
もし順調に計算が進んでネタがあれば…と思います。

本年もよろしくお願い致します。

| | コメント (0)

2011年12月 3日 (土)

Cellパラメータを使ってみよう~その1~

久々の企画もの(?)のアップです。

今回はマニュアルに解説の少ない
Cell書式に関する企画です。

正直、サボっている企画ですが、
お楽しみ頂ければ幸いです。

================================

今回の主役は
"like n but"です。

これは呼んで字のごとく、
「~と同じだが、ここは変更してくれ」という
使い方によっては非常に便利なCell書式です。

likeの後にはcell番号を
butの後にはCellパラメータを指定します。

Cellパラメータに関するザックリした話は
Cellパラメータのお勉強をご覧ください。

今回は"like n but"構文を使って
Cellパラメータにはtrcl(回転・平行移動)を使って、
一つの面をスライスすると"PHITS"がキレイに並ぶように
以前にこちらで作ったPHITSキューブを5つ並べることにしました。

インプットはこちら
「cellparam1.in」をダウンロード

----------------解説

[Transform]でtrclで使用する行列を定義します。

[ Transform ]
tr2 100 0 -20
tr3 200 0 -40
tr4 300 0 -60
tr5 400 0 -80

今回は回転は使用せず、
xyz方向の平行移動のみ使うので
trの定義は3つ値だけになります。
最初からx方向、y方向、z方向の移動値です。

次に[Surface]です。

[ S u r f a c e ]
1  rpp -50 50 -50 50 -50 50
22 px  -60
99 rpp -50 450 -50 50 -150 60
30 rpp -50 -30 -50 -30 -50 -30

"like n but"の便利なところは、
似た形状のcellを
新しい[Surface]を定義せずに
作れるのが特に便利だと感じています。

次にメインの[Cell]です。
最初の部分は以前作った
PHITSキューブのcell番号などを
適当にいじっただけのものです。

[ C e l l ]
11 0 -1 fill=1
4 0 -30 lat=1 u=1
     fill= 0:4 0:4 0:4
    3 2 2 2 2  3 2 2 2 2  3 3 3 3 2  3 2 2 2 3  3 3 3 3 2
    3 2 2 2 3  3 2 2 2 3  3 3 3 3 3  3 2 2 2 3  3 2 2 2 3
    2 2 3 2 2  2 2 3 2 2  2 2 3 2 2  2 2 3 2 2  2 2 3 2 2
    2 2 3 2 2  2 2 3 2 2  2 2 3 2 2  2 2 3 2 2  3 3 3 3 3
    3 3 3 3 2  2 2 2 2 3  2 3 3 3 2  3 2 2 2 2  2 3 3 3 3

2 1 3.928E-02 22 u=2
3 2 3.293E-02 22 u=3

次がメインの"like n but"構文です。

12 like 11 but trcl=2
13 like 11 but trcl=3
14 like 11 but trcl=4
15 like 11 but trcl=5

cell番号12は
cell番号11(PHITSキューブ)と同じに
ただし、[Transfoem]で定義したtr2を使う。

という、そのままの意味です。
これにより、PHITSキューブを少しずつずらして
全部で5つ設置しました。

最後に内部ボイド、外部ボイドを設定して終了。
あまりよくないですが、面倒なので#を使いました。

$ inner void
90 0 -99 #11 #12 #13 #14 #15

$ outer void
7 -1 99

ということで、
このインプットを実行すると
↓のようになります(クリックで拡大)。

Phits_lat2d

これだけだと面白さが伝わらないので、
[T-3dshow]を使って3次元で見ると
こんな感じ(クリックで拡大)。

Phits_lat3d

これだけ沢山の領域を
かなり少ない構文で作り上げることができした。

"like n but"構文の
具体的な使用方法としては、
一つの標的に対して同じ検出器体系を
複数設置して行う加速器実験や
小さなタリー領域(cell)を大量に並べたい時などに便利です。

================================

久々にネタ系のインプットを作りましたが、
一番時間を割いたのは
[T-3dshow]の適切なパラメータ探しです。
[T-3dshow]は魅力的ですが、慣れないと難しいですね。

この記事を「~その1~」としましたが、
続編が投稿されるかは未定です(笑)。

| | コメント (2)

«40000アクセス達成!