拡散律速凝集・シミュレーター

拡散律速凝集法は、雪の結晶やバクテリアコロニーの成長を模擬する数値計算アルゴリズムとして知られています。本ページでは、そのアルゴリズムの簡単な説明と視覚的に楽しめるように数値シミュレーターを記載しています。厳密さを欠いた、ざっくりとした説明になること、ご容赦ください。より詳しく知りたい方は、検索エンジンなどで調べてみてくださいね。または、物理学科、物理学専攻への進学を検討して下さい。

アルゴリズム

Ising2D
上の図は、拡散律速凝集のアルゴリズムの概念図です。まず、(a)の図をみてください。赤丸1つと青丸2つが確認できますね?赤丸は動くことのできない粒子で本稿では凝縮粒子と呼ばせてください(雪や雲粒の形成の場合には凝結核と言うこともあります)。青い丸は空間中を動いている粒子ですので、移動粒子と呼びましょう。移動粒子は2つ記載してありますが、この2つは同一粒子の移動前と移動後をそれぞれ表現していると考えてください。2つの粒子の間に矢印の繋がりがあります。これは粒子の動きの軌跡を表していて、矢印の矢尻の方向にある粒子は移動後の粒子、逆側が移動前の粒子です。個々の矢印は、一回一回の移動で移動粒子が動くベクトルを表しているのですが、それぞれ色々な方向をむいていて、隣あう矢印の方向は完全にランダムです。粒子のこのような動きをランダムウォークと呼びます。さて、ランダムウォークをした粒子はあるときに(偶然)凝集粒子に隣接します。そのときに、モンテカルロ法を使って、移動粒子が凝集粒子にくっつくかどうかの判定を行います(モンテカルロ法の詳しい説明は、イジングモデルのページを参考にしてくださいね)。くっつくと判定された移動粒子は、新たな凝集粒子となって、空間中に固定されます。一方、くっつかないと判定された場合には、凝集粒子に隣接するまで再びランダムウォークを行います。1つくっついたらまた新しい粒子を、、、と言うように、この過程を繰り返していきますと、凝集粒子の連なりのサイズは拡大していき、例えば(b)のように枝分かれのパターンを示していくようになるのです。このように、ランダムウォークをした移動粒子が凝集粒子に接着し、成長していくパターン形成を拡散律速凝集と呼びます。ちょっと余談ですが、ランダムウォークをする粒子をたくさん用意し平均化すると各時間・各位置における粒子の存在確率求めることができます。この存在確率の時間発展は拡散方程式に従うことを簡単に証明することができます。(統計的に)拡散方程式と結びついているランダムウォークによって形成される凝集パターンなので拡散律速凝集という名前がついたのだと思われます。物理シミュレーターでは、上記、くっつくかくっつかないかの確率を皆さんに調節していただけるようにしています。(確率なので、0から1までの数字を入れてくださいね!マイナスを入れても何も変化しません。また1以上は全て統計的に同じ結果を与えます。)確率の大小で、どのような結果となるかを確認していただき、その違いの理由をおのおの考察してみてください!このような簡単なルールに従い粒子の運動を制御するだけで、皆さんが自然界のどこかでみたことがあるような複雑なパターンが再現されることを実感していただけたら嬉しいです。

数値シミュレーション

粒子が、ランダムウォークによって結晶表面に到達したとき、凝集するかしないかの判定をモンテカルロ法によって行います。\( Prob \)は、凝集する確率を表しています。0より大きく1以下となる値を入力し、その結果得られた結晶のパターンの違いを確認してください。
\( Prob \) :

シミュレーションを表示するには、最新のブラウザが必要です。