物理とか

Index

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


1.境界条件が0でないディリクレ問題

今回は、非同次ディリクレ問題とよばれる境界条件を扱う。非同次とは簡単に言ってしまえば0でないということである。今回はまず、境界条件だけが非同次な熱伝導方程式 \[\frac{\partial f}{\partial t}=\frac{\partial^2 f}{\partial x^2}\\ \left\{\begin{align} f(x=0,t)&=a \\ f(x=L,t)&=b \\ f(x,t=0)&=u(x) \end{align}\right.\tag{1}\] を解こう。a,bは定数である。とはいっても、この問題はちょっと細工をしてやれば、前回やった問題、 \[\frac{\partial f}{\partial t}=\frac{\partial^2 f}{\partial x^2}\\ \left\{\begin{align} f(x=0,t)&=0 \\ f(x=L,t)&=0 \\ f(x,t=0)&=u(x) \end{align}\right.\tag{2}\] に書き直すことができる。そうすれば、前回のように解くだけだ。

それをするには、 \[f(x,t)=g(x,t)+(a(L-x)+bx)/L\tag{3}\] というような関数\(g(x,t)\)を定義してやる。これをx=0での境界条件に代入すると、 \begin{align} f(x=0,t)&=a \\ g(x=0,t)+\frac{a(L-0)+b\times 0}{L}&=a\\ g(x=0,t)&=0\tag{4} \end{align} というように\(g(x,t)\)の境界条件が得られる。

同じようにすれば、ほかの境界条件や初期条件も書き直せて、 \[ \left\{\begin{align} g(x=0,t)&=0 \\ g(x=L,t)&=0 \\ g(x,t=0)&=u(x)-\frac{a(L-x)+bx}{L} \end{align}\right.\tag{5}\] というようになる。さらに、拡散方程式自体がどうなるかを調べてみよう。とはいっても(3)を拡散方程式に代入すれば、すぐに\(g(x,t)\)も同じ形の方程式を満たすことが分かって、 \[\frac{\partial g}{\partial t}=\frac{\partial^2 g}{\partial x^2}\tag{6}\] となる。これで前回解いたディリクレ問題に帰着させることができた。前回のを参考にすれば、g(x,t)の解は、 \[g(x,t)=\sum_n \left[\frac{2}{L}\int_0^L \left(u(y)-\frac{a(L-x)+bx}{L}\right)\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{7}\] で与えられることはもうわかっているから、これを(3)式に代入すれば、(1)の解は \[f(x,t)=\frac{a(L-x)+bx}{L}+\sum_n \left[\frac{2}{L}\int_0^L \left(u(y)-\frac{a(L-y)+by}{L}\right)\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{8}\] である。これで割りと簡単に解くことができた。

2.発熱・湧き出しを含む拡散方程式のディリクレ問題

次は、 \[\frac{\partial f}{\partial t}=\frac{\partial^2 f}{\partial x^2}+q(x,t)\tag{9}\] という形の方程式を考えよう。熱伝導方程式の導出のページで説明したように、この余分な項\(q(x,t)\)は物体内部での発熱や吸熱を表している項だ。境界条件と初期条件は、ディリクレ型として、 \[ \left\{\begin{align} f(x=0,t)&=0 \\ f(x=L,t)&=0 \\ f(x,t=0)&=u(x) \end{align}\right.\tag{10}\] としよう。上でみたようにもし境界条件が0でなくても、ちょっとした変換によってこれに帰着できるから、これを解けば結構一般的な問題を解いているとみなせるだろう。

ただ、いままでとは少し違う解き方をしないといけない。

固有関数展開

と呼ばれるかっこいい技法を使う。とはいっても、常微分方程式の定数変化法と似たようなものだ。

まず思い出すのは、同次型の方程式、 \[\frac{\partial f}{\partial t}=\frac{\partial^2 f}{\partial x^2}\] の解が(10)式の境界条件のもとで \[f(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{11}\] という形で与えられていたという事実だ。\(F_n\)というのをうまいこと決めることで、この解を初期条件に合わせることができた。が、今回はこれではうまくいかないから、常微分方程式で使う定数変化法にならって、\(F_n\)を適当なxやtの関数にしてみよう。

しかし、単純に\(F_n=F_n(x,t)\)とするだけではうまくいかない。(10)の境界条件を満たすことを大事にしながら、変化させないといけないのだ。(11)式の中で、境界条件を満たすのに中心的な役割を果たしているのはsinのところだから、そこのところは崩したくない。そうするためには\(F_n\)にはxを含めないようにするのがいいだろう。よって、 \[f(x,t)=\sum_n F_n(t)\sin\left(\frac{n\pi x}{L}\right)\exp\left[-\left(\frac{n\pi}{L}\right)^2 t\right]\tag{12}\] の形を仮定するが、\(F_n(t)\)はいまのところ任意の関数だから、\(\exp\left[-\left(\frac{n\pi}{L}\right)^2 t\right]\)も含めてしまって改めて\(F_n(t)\)としよう。つまり、 \[f(x,t)=\sum_n f_n(x,t)=\sum_n F_n(t)\sin\left(\frac{n\pi x}{L}\right)\tag{13}\] を仮定する。このfが(10)の境界条件を満たしているのは当たり前だろう。

これを(9)に代入すると、 \begin{align} \frac{\partial }{\partial t}\left[\sum_n F_n(t)\sin\left(\frac{n\pi x}{L}\right)\right]&=\frac{\partial^2 }{\partial x^2}\left[\sum_n F_n(t)\sin\left(\frac{n\pi x}{L}\right)\right]+q(x,t)\\ \sum_n \frac{dF_n}{dt}\sin\left(\frac{n\pi x}{L}\right)&=\sum_n F_n(t)\left[-\left(\frac{n\pi}{L}\right)^2\sin\left(\frac{n\pi x}{L}\right)\right]+q(x,t)\\ \sum_n \left[\frac{dF_n}{dt}+\left(\frac{n\pi}{L}\right)^2F_n\right]\sin\left(\frac{n\pi x}{L}\right)&=q(x,t)\tag{14} \end{align} という方程式を得られる。ここまでくればあとは前回と一緒だ。両辺に\(\sin(m\pi x/L)\)をかけて積分してしまえば、\(F_m\)に関する1階の微分方程式になる。前回と全く同じになって面倒くさいから計算は書かないが、実際やってみると、 \[\frac{dF_m}{dt}+\left(\frac{m\pi}{L}\right)^2F_m=\frac{2}{L}\int_0^L q(x,t)\sin\left(\frac{m\pi x}{L}\right)dx\tag{15}\] が得られる。なんだかごちゃごちゃしていて良くわからなくなりそうな式だが、右辺はxについて積分しているからxの関数ではない。そこで右辺の項をまるごと\(Q_m(t)\)とでもおいてやると、 \[\frac{dF_m}{dt}+\left(\frac{m\pi}{L}\right)^2F_m=Q_m(t)\tag{16}\] と結構見通しがよくなる。これはtに関してただの定数係数の1階微分方程式で、ちょっと調べればすぐに一般解の求め方が出てくるからそれを使うと、 \[F_m(t)=\exp\left[-\left(\frac{m\pi}{L}\right)^2 t\right]\left\{\int_0^t Q_m(\tau)\exp\left[\left(\frac{m\pi}{L}\right)^2 \tau\right]dt+C_m\right\}\tag{17}\] というのが出てくる。(\(C_n\)は任意定数。)\(Q(x,t)\)が0の時にはこの式が前回やったものに帰着する。いちおう注意しておくと、(17)の積分範囲は、上がtなら下側はどんなものでも定数ならOKだ。実際に(16)に代入してみれば、どんな定数でも(16)を満たすことが確かめられるだろう。今回はt=0からの熱の変化を考えるという意味でも0にしてみた。(17)で出た\(F_n\)を(13)に代入してやれば、 \[f(x,t)=\sum_n \left\{\int_0^t Q_n(\tau)\exp\left[\left(\frac{n\pi}{L}\right)^2 \tau\right]d\tau+C_n\right\}\sin\left(\frac{n\pi x}{L}\right)\exp\left[-\left(\frac{m\pi}{L}\right)^2 t\right]\tag{18}\] 最後に初期条件に合うように、任意定数\(C_n\)を定めたら終わりだ。

t=0を代入して初期条件\(f(x,t=0)=u(x)\)を考えると、 \[u(x)=\sum_n C_n\sin\left(\frac{n\pi x}{L}\right) \tag{19}\] を得るが、前回まったくもって同じ式が出てきた。それを踏まえて、 \[C_n=\frac{2}{L}\int_0^L u(x)\sin\left(\frac{n\pi x}{L}\right)dx\tag{20}\] となることがわかる。長くなったがこれで解くことができた。\(Q_n(t)\)が(15)式の右辺だったことも思い出して、 \[\frac{\partial f}{\partial t}=\frac{\partial^2 f}{\partial x^2}+q(x,t)\tag{9}\] の境界条件・初期条件 \[ \left\{\begin{align} f(x=0,t)&=0 \\ f(x=L,t)&=0 \\ f(x,t=0)&=u(x) \end{align}\right.\tag{10}\] のもとでの解は、 \[\begin{align} f(x,t)=\sum_n &\frac{2}{L}\sin\left(\frac{n\pi x}{L}\right)\exp\left[-\left(\frac{n\pi}{L}\right)^2 t\right]\times \\ &\left\{\int_0^t\int_0^L q(y,\tau)\sin\left(\frac{n\pi y}{L}\right)\exp\left[\left(\frac{n\pi}{L}\right)^2 \tau\right]dyd\tau+\int_0^L u(y)\sin\left(\frac{n\pi y}{L}\right)dy\right\}\end{align}\tag{21}\] こんな風になる。すごい長い式で、実際の問題では計算する気が失せてしまいそう。だいたい積分がたくさん入りすぎていて、普通の関数で表せるかどうかすら怪しいものだ。普通の簡単な関数で表せるのは、ごく限られた初期条件、境界条件、q(x,t)の形だけであることが予想できるだろう。

これが解ければ実は境界条件が \[\left\{\begin{align} f(x=0,t)&=a(t) \\ f(x=L,t)&=b(t) \\ f(x,t=0)&=u(x) \end{align}\right.\tag{22}\] というように時間によって変化していたとしても、最初にやったのと同じように、 \[f(x,t)=g(x,t)+(a(t)(L-x)+b(t)x)/L\tag{23}\] というgを導入すれば全く同じように解ける。もうめんどくさいからやらないが、練習にはちょうどいいと思うからやってみてはどうだろうか。