反応拡散系(FitzHugh–Nagumo 方程式)

HTML5に対応したブラウザが必要です.Internet Explorer 8 以下は未対応です.Firefox, Google Chrome, Opera, Safari 等で閲覧下さい.

$D_u=$, $D_v=$, $a=$, $b=$, $c=$

Speed x Double:

動きがカクカクする場合は,Speed の値を下げる,Chrome などの JavaScript の処理が速いブラウザを使う,この機会に新しい高性能なコンピュータを買うなどして下さい.

解説

このプログラムは,FitzHugh–Nagumo 方程式 \begin{align} \frac{\partial u}{\partial t}&=D_u\Delta u+u-u^3-v,\\ \frac{\partial v}{\partial t}&=D_v\Delta v+a(u-bv-c). \end{align} の時間発展を,周期境界条件の下で(上端と下端,左端と右端がそれぞれつながっている),陽的差分法で時間方向の差分間隔 0.01,空間方向の差分間隔 0.1 で計算します.左側2つの図はそれぞれ $u$ と $v$ の値を濃淡で表し,一番右の図では拡散係数 $D_u$, $D_v$ が0の場合のヌルクラインと $(u, v)$ の分布を $uv$-平面に描きます.パラメータを色々変えると,不思議なパターンができたり,模様を描きながら振動したり,一様な状態に収束したりするなど,様々な現象が観察できます.

反応拡散系とは,拡散方程式に反応項を導入したもので,ここで扱う2成分の場合には \begin{align} \frac{\partial u}{\partial t}&=D_u\Delta u+f(u, v),\\ \frac{\partial v}{\partial t}&=D_v\Delta v+g(u, v) \end{align} という形のものを指します.ここで,$u$, $v$ は時間変数 $t$ と空間変数 $x$, $y$ の関数で,それぞれがある成分の点 $(x, y)$ での濃度を表します.$\Delta$ は Laplacian ($\Delta u=\frac{\partial^2 u}{\partial x^2}+\frac{\partial^2 u}{\partial y^2}$) です.また,$D_u$, $D_v$ はある正の定数で,拡散係数と呼ばれます.拡散係数が大きいほど第1項の拡散の効果が強くなり,成分は濃度の高い点から低い点へとどんどん散らばっていきます.一方,散らばった成分は関数 $f(u, v)$, $g(u, v)$ の効果により反応を起こして増えたり減ったりし(例えば化学反応をイメージして下さい),反応により変わった分布に応じてまた拡散が起こり,……という過程を繰り返すことで複雑な現象が起こります.

2成分反応拡散系の中でも,$u$ がそれぞれの成分の生成を促し,$v$ が生成を抑制するような反応項を持つ系は様々なパターンを生み出すことで知られ,活性因子・抑制因子系 (activator-inhibitor system) と呼ばれています.最初に書いた FitzHugh–Nagumo 方程式も活性因子・抑制因子系であり,神経繊維上を伝わる電気信号の伝搬過程を記述する複雑なモデル方程式から本質的な部分を取り出したものとされています.

このプログラムでは,時間方向の差分間隔を $\delta=0.01$,空間方向の差分間隔を $\epsilon=0.1$ として,漸化式 \begin{align} u(t+\delta, x, y)&=u(t, x, y)+\delta\left(D_u \Delta_\epsilon u+u(t, x, y)-u(t, x, y)^3-v(t, x, y)\right),\\ v(t+\delta, x, y)&=v(t, x, y)+\delta\left(D_v \Delta_\epsilon v+a(u(t, x, y)-bv(t, x, y)-c)\right) \end{align} を計算しています.ただし, \[ \Delta_\epsilon u=\frac{u(t, x+\epsilon, y)+u(t, x, y+\epsilon)+u(t, x-\epsilon, y)+u(t, x, y-\epsilon)-4u(t, x, y)}{\epsilon^2} \] です.

Gray–Scott 方程式の数値計算もご覧下さい.

ソースコード

謝辞

関西学院大学理工学部数理科学科の大崎浩一先生,昌子浩登先生から助言をいただき,よりよい作品に仕上げることができました.ここに御礼申し上げます.