物理とか

Index

熱伝導方程式・拡散方程式のディリクレ問題


ディリクレ問題とは

熱伝導方程式または拡散方程式と呼ばれる微分方程式の初期値・境界値問題を解いてみる。解くのは関数\(f(\b{r},t)\)に関するこういう方程式だ。 \[\frac{\partial f}{\partial t}=\gamma\nabla^2 f+g(\b{r},t)\tag{1}\] g(x,t)は粒子の湧き出し、熱の発生を示す項である。

とはいっても、(1)式をそのまま解くのはなかなか厳しいものがあるから、今回は一次元のモデルを考えて、しかも熱の湧き出しが無い時を考えよう。つまり、 \[\frac{\partial f}{\partial t}=\gamma\frac{\partial^2 f}{\partial x^2}\tag{2}\] という方程式を考えて、その中でも特にディリクレ問題と呼ばれる初期値、境界値条件 \[\left\{\begin{align} f(x=0,t)=f(x=L,t)&=0 \\ f(x,t=0)&=u(x) \end{align}\right.\tag{3}\] を考える。物理的には、両端の温度が0℃に保たれた状態で、t=0での温度分布が与えられた時に、どういうふうに温度が拡散していくかを考えていることになる。かなり限定された状況ではあるが、まずは簡単な問題から解いていくことも大事だ。

変数分離による基本解

ところで、(2)式は\(y=\frac{x}{\sqrt{\gamma}}\)とおくと、 \[\frac{\partial}{\partial x}=\frac{\partial y}{\partial x}\frac{\partial}{\partial y}=\frac{1}{\sqrt{\gamma}}\frac{\partial}{\partial y}\tag{4}\] だから、 \[\frac{\partial^2}{\partial x^2}=\left(\frac{1}{\sqrt{\gamma}}\frac{\partial}{\partial y}\right)\left(\frac{1}{\sqrt{\gamma}}\frac{\partial}{\partial y}\right)=\frac{1}{\gamma}\frac{\partial}{\partial y}\tag{5}\] となって、 \[\frac{\partial f}{\partial t}=\frac{\partial^2 f}{\partial y^2}\tag{6}\] という風に定数\(\gamma\)が消去できる。だから、 \[\frac{\partial f}{\partial t}=\frac{\partial^2 f}{\partial x^2}\tag{7}\] を解いても同じことだ。定数の無い(7)を解いていこう。 まずは変数分離をする。つまり、 \[f(x,t)=X(x)T(t)\tag{8}\] として(7)に代入すると、 \begin{align} X(x)T'(t)&=X''(x)T(t) \\ \frac{X''(x)}{X(x)}&=\frac{T'(t)}{T(t)}\tag{9} \end{align} 左辺はxのみの関数、右辺はtのみの関数となった。xのみの関数とtのみの関数が常に等しいと言うのは、それぞれが定数であるとしか考えられない。そこで、 \[\frac{X''(x)}{X(x)}=\frac{T'(t)}{T(t)}=\lambda\tag{10}\] とすれば、ふたつの方程式に分解できて、 \[\left\{\begin{align} X''(x)&=\lambda X(x) \\ T' (t)&=\lambda T(t) \end{align}\right.\tag{11}\] を得る。この時点では\(\lambda\)は完全に任意な実数だ。でもT(t)の解は(11)から \[T(t)=T(0)e^{\lambda t}\tag{12}\] となる。もし\(\lambda>0\)なんてことがあれば、これは\(t\to\infty\)で無限大に発散してしまう。したがって、\(\lambda<0\)であることが必要だ。便宜上実数\(k>0\)を\(-k^2=\lambda\)となる数として使うと、Xの満たす方程式は、 \[X''(x)=-k^2X(x)\tag{13}\] となって、これは普通の単振動の方程式だ。よってこれの解は、 \[X(x)=A\sin(kx)+B\cos(kx)\tag{14}\] である。ここでx=0,Lで\(f(x,t)=0\)という境界条件(3)が与えられていたことを思い出すと、 \[X(0)=X(L)=0\tag{15}\] とならなければいけないから、これに(14)を代入すると、 \[B=0,~Asin(kL)=0\rightarrow kL=n\pi\tag{16}\] となっていないといけない(nは任意の整数)。(12)と(14),(16)から、解は、 \[\left\{\begin{align} X(x)&=A\sin\left(\frac{n\pi x}{L}\right) \\ T(t)&=T(0)\exp\left[-\left(\frac{n\pi}{L}\right)^2 t\right] \\ f(x,t)&=F\sin\left(\frac{n\pi x}{L}\right)\exp\left[-\left(\frac{n\pi}{L}\right)^2 t\right] \end{align}\right.\tag{17}\] ただし\(F=AT(0)\)とおいた。どちらも任意定数だから、Fも任意定数みたいなものだ。

(17)式で解が出たと安心するのはまだ早い。(17)式の任意定数Fをいくら動かしたとしても、初期条件f(x,t=0)=u(x)を満たすことはできないからだ。ここからもう少し考える必要がある。

ディリクレ問題の解

(17)式で出てきた解は、熱伝導方程式(7)を満たす。nは任意の整数だったことを思い出し、n=1の解とn=2の解の和を考えてみてもこれはやっぱり解になっているだろう。そこで、 \[f_n(x,t)=F_n\sin\left(\frac{n\pi x}{L}\right)\exp\left[-\left(\frac{n\pi}{L}\right)^2 t\right]\tag{18}\] とおいて、 \[f(x,t)=\sum_n f_n(x,t)=\sum_n F_n\sin\left(\frac{n\pi x}{L}\right)\exp\left[-\left(\frac{n\pi}{L}\right)^2 t\right]\tag{19}\] も解になっているはずだ。線形の微分方程式はこれができるから解きやすい。(19)のような解なら、係数\(F_n\)をうまいこと決めてやれば、初期条件に合わせてやることができるかもしれない。やってみよう。

(19)をt=0としてやって、初期条件を代入すれば、 \[u(x)=\sum_n F_n\sin\left(\frac{n\pi x}{L}\right) \tag{20}\] となる。こんなのどうみてもフーリエ級数展開だ。(ちなみに実を言うとフーリエは熱伝導方程式を解く過程でフーリエ級数の理論を展開したらしい。)ここから\(F_n\)を求めるにはこういうふうに式変形していけばいい。 \begin{align} \int_0^L u(x)\sin\left(\frac{m\pi x}{L}\right)dx&=\int_0^L \left(\sum_n F_n\sin\left(\frac{n\pi x}{L}\right)\right)\sin\left(\frac{m\pi x}{L}\right)dx \\ &= \sum_n F_n \int_0^L\sin\left(\frac{n\pi x}{L}\right)\sin\left(\frac{m\pi x}{L}\right)dx\\ &= \sum_n F_n \int_0^L\frac{1}{2}\left[\cos\left(\frac{(n-m)\pi x}{L}\right)-\cos\left(\frac{(n+m)\pi x}{L}\right)\right]dx\\ &= \sum_n F_n \delta_{nm}\frac{L}{2} \\ &= \frac{L}{2}F_m\\ \therefore F_m&=\frac{2}{L}\int_0^L u(x)\sin\left(\frac{m\pi x}{L}\right)dx \tag{21} \end{align} \] これで係数\(F_n\)を求めることができた。したがって(3)のような初期条件・境界条件を与えられた熱伝導方程式の解は、 \[f(x,t)=\sum_n \left(\frac{2}{L}\int_0^L u(y)\sin\left(\frac{n\pi y}{L}\right)dy\right)\sin\left(\frac{n\pi x}{L}\right)\exp\left[-\left(\frac{n\pi}{L}\right)^2 t\right]\tag{22}\] で与えられることになる。なかなか長くて大変な式だ。でも普通に変数分離をして解いていけば出てくるんだから、わりと素直な解ともいえるだろう。