吾未知足 唯修身爾

一日一哩を目標としています

MENU

拡散方程式の解析解の計算(1) 変数分離法

先日、拡散方程式の数値解をRにより計算したので、今回は解析解を求めてみようと思う。いくつか解き方があるが、二階偏微分方程式の解法でよく用いられる「変数分離法」で解くことにする。

考える問題

拡散方程式とは、次の形の線形偏微分方程式であった。

 \dfrac{\partial u}{\partial t} =\nu \dfrac{\partial^{2} u}{\partial x^{2}}

右辺の拡散項は、時間の経過と共に初期値が広がっていくことを表す。

この解のうち、初期条件 (1.0+\cos \pi x)および周期境界条件 u(0,t)=u(2,t) を満たす解を求めることにする。なお、\nu (\gt 0) は定数。

変数分離法による解析解

一般解の導出

変数分離法については、前回、移流方程式の解析解を計算した際にも用いたが、u(x,t)xtが変数分離形、つまり、u(x,t)=X(x)T(t)と書けるとする方法である。すると、拡散方程式は、

 X\dfrac{d T}{d t} = \nu T \dfrac{d^2 X}{d x^2}

となるから、両辺を\nu XTで割ると、

 \dfrac{1}{\nu T} \dfrac{d T}{d t} = \dfrac{1}{X} \dfrac{d^2 X}{d x^2}

を得る。これで両辺にうまく変数が分離できたから、両辺とも任意の定数Aと等しいとすれば、

 \dfrac{1}{T} \dfrac{d T}{d t} = A \nu

より、T=Be^{A \nu t}となる(ここでBは任意定数)。

また、

 \dfrac{d^2 X}{d x^2} = AX

より、XAの値に応じて解の形が変わる。定数係数二階常微分方程式の解に対するよく知られた結果から、この方程式の解は以下のように計算される。

A \gt 0 \Rightarrow X=\alpha e^{\sqrt{A} x} + \beta e^{-\sqrt{A} x} \\ A = 0 \Rightarrow X=\alpha x + \beta \\ A \lt 0 \Rightarrow X=\alpha \sin \sqrt{-A} x + \beta \cos \sqrt{-A} x

ここで\alpha\betaは任意定数。

一般解というには中途半端であるが、以上が初期条件や境界条件などの諸条件を考慮しない場合のTXの解の形である。

周期境界条件を満たす解の計算

さて、周期境界条件 u(0,t)=u(2,t) を満たすためには、 X(0)=X(2) である必要があることから、A \lt 0の場合が該当し、

X(0)=\betaX(2)=\alpha \sin 2 \sqrt{-A} + \beta \cos 2 \sqrt{-A}

より、 \cos 2 \sqrt{-A}=1 を満たす必要がある(このとき \sin 2 \sqrt{-A} =0 )。そのため、 m を任意の整数として、 2 \sqrt{-A}=2 \pi m より、

A=-(m \pi)^2

となる。ゆえに、

T=Be^{-(m \pi)^2 \nu t}X=\alpha \sin m \pi x + \beta \cos m \pi x

となるが、ここで、

 u_{m}(x,t):=XT=e^{-(m \pi)^2 \nu t} ( \alpha_{m} \sin m \pi x + \beta_{m} \cos m \pi x)

と書けば、これは周期境界条件を満たす解の1つであり、その重ね合わせも解となるから、 uは、

 u(x,t) \\=\sum_{m} e^{-(m \pi)^2 \nu t} ( \alpha_{m} \sin m \pi x + \beta_{m} \cos m \pi x) \\=\beta_{0}+\sum_{m=1}^{\infty} e^{-(m \pi)^2 \nu t} ( \tilde{\alpha}_{m} \sin m \pi x + \tilde{\beta}_{m} \cos m \pi x)

と求められる。ここで、 \tilde{\alpha}_{m}=\alpha_{m}-\alpha_{-m} \tilde{\beta}_{m}=\beta_{m}+\beta_{-m}とした。

なお、前回の移流方程式に変数分離法を適用した際には虚数項がうまく別の任意係数に書き換えられずに残ったが、今回は出てきていない。(といっても、上記で詳細をスキップした常微分方程式の計算の際に、\sinおよび\cosの係数がうまく書き換えられるため、最初から\alpha\betaと書いていることが理由だが。)

初期条件を満たす解(特殊解)の計算

最後に初期条件を考慮する。

 u(x,0) = \beta_{0}+\sum_{m=1}^{\infty} ( \tilde{\alpha}_{m} \sin m \pi x + \tilde{\beta}_{m} \cos m \pi x)

であるが、初期条件は 1+\cos \pi xなので、 \beta_{0}=1 \tilde{\beta}_{1}=1およびそれ以外の係数を 0とすればよい。したがって、周期境界条件を満たす解にこの係数を入れれば、初期条件も満たす解(特殊解)は、

 u(x,t) = 1 + e^{- \pi^2 \nu t} \cos \pi x

として求められる。

解を明示的に求めたことで、なるほど波高は時間が経つと指数関数的に減衰すること、およびその減衰スピードに拡散係数\nu が絡んでいたことが分かる。面白い!

計算結果の確認

検算

 u(x,t)=1 + e^{- \pi^2 \nu t} \cos \pi xより、 u tおよび x偏微分すると、

 \dfrac{\partial u}{\partial t}=(- \pi^2 \nu) e^{- \pi^2 \nu t} \cos \pi x

 \dfrac{\partial u}{\partial x}=e^{- \pi^2 \nu t}  (- \pi \sin \pi x)

 \dfrac{\partial^2 u}{\partial x^2}=  e^{- \pi^2 \nu t} (- \pi^2 \cos \pi x)

であるから、求めた解は、

 \dfrac{\partial u}{\partial t} = \nu \dfrac{\partial^2 u}{\partial x^2}

を満たす。

グラフ

 \nu=0.03として、 t=0 2.0 4.0の時の値をプロットしたものは以下の通り。時間の経過とともに波高は減衰し、最終的には水平面に帰す解になっていることが視覚的にも確認できる。

*

間違い等ありましたらお手数ですがコメント等いただけますと幸甚です。