拡散のモンテカルロ3次元拡張と可視化

昨日プチ段落して,さて,お勉強を始めようかと思ったんですが,本日はフルで遊んでしまいました!!ランダムウォークの自己満足エントリを午前中に書き,午後は結局ランダムウォークの拡散問題のプログラムの3D化と,可視化手法の向上をしました.まぁ,もしかしたら友達が使ってくれるかも知れないし.ってことで,プログラムはすべて.f90で,可視化はMatlabのみでやってみました.

コーディング自体はすぐできたのですが,とかく可視化にてこずりこんな時間に!見た目を改善するっていうのは難しいです.結局,自己満足程度にしかなっていませんが・・.コーディングのvalidationは数学部分のチェックを友人にしてもらうことにして,とりあえず私はこれで満足です・・・

各方向21格子点の3D格子上で,27個の粒子がランダムウォークするとこんな感じ.境界条件は,1次元の時はトーラス(+x端と-x端をつなげる輪の形状)と聞いていたのですが,1,2次元までならトーラスってぎりぎりイメージできる(2次元だとドーナツの表面?)だけど,3次元だとトーラスにどう頑張ってもならない気がする・・・ので周期と呼びます.+xに飛び出たのは-xから戻ってきます.

で,これを5万回繰り返して平均化したもの.

断面における等値線を表示するとこんな感じ.Matlabだとこれが限界?ボリュームレンダリングは備わってないみたいだなぁ・・・


結構疲弊したけど,楽しかった.この頑張りは確実に自分の研究に使うべきだと思う.まぁ,時々こういう趣味レーションで楽しくやらないとですね!明日からまたがんばりますよ!