吾未知足 唯修身爾

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

MENU

移流方程式の解析解の計算(1) 変数変換法

先日、移流方程式の数値解をRにより計算したので、今回は解析解を求めてみようと思う。いくつか解き方があるが、ここでは変数変換法(座標変換法)で解くことにする。

考える問題

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

 \dfrac{\partial u}{\partial t} + c\dfrac{\partial u}{\partial x} =0

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

変数変換法による解析解

一般解の導出

変数変換を行い、変数を減らすことを考える。具体的には、

 \begin{cases} \alpha = x-ct \\ \beta = x+ct \end{cases}

とすると、

 \begin{cases} \dfrac{\partial u}{\partial t}  =\dfrac{\partial u}{\partial \alpha }\dfrac{\partial \alpha}{\partial t }+\dfrac{\partial u}{\partial \beta }\dfrac{\partial \beta}{\partial t }=c\left(-\dfrac{\partial u}{\partial \alpha } +\dfrac{\partial u}{\partial \beta }\right) \\ \dfrac{\partial u}{\partial x}  =\dfrac{\partial u}{\partial \alpha }\dfrac{\partial \alpha}{\partial x }+\dfrac{\partial u}{\partial \beta }\dfrac{\partial \beta}{\partial x }=\dfrac{\partial u}{\partial \alpha }+\dfrac{\partial u}{\partial \beta } \end{cases}

が成り立つから、移流方程式は、

  \dfrac{\partial u}{\partial t} + c\dfrac{\partial u}{\partial x} =c\left(-\dfrac{\partial u}{\partial \alpha } +\dfrac{\partial u}{\partial \beta }\right)+c\left(\dfrac{\partial u}{\partial \alpha }+\dfrac{\partial u}{\partial \beta } \right)=2c\dfrac{\partial u}{\partial \beta}=0

つまり、

 \dfrac{\partial u}{\partial \beta}=0

と、非常に簡単な形になった。そのため、 u fを任意の関数として、

 u=f(\alpha)

と計算できる。ここで、 \alpha=x-ctだったから、移流方程式の一般解は、

 u(x,t)=f(x-ct)

と求めることができる。

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

続いて、初期条件を満たす解を求める。初期条件は u(x,0)=1+\cos \pi xとしていたから、

 u(x,0)=f(x)=1+\cos \pi x

ゆえに、

 u(x,t)=f(x-ct)=1+\cos \pi (x-ct)

と求められる。

また、周期境界条件 u(0,t)=u(2,t) としていたが、上記の解は、

 u(0,t)=f(-ct)=1+\cos \pi (-ct)=1+\cos (ct \pi)

 u(2,t)=f(2-ct)=1+\cos \pi (2-ct)=1+\cos (ct \pi)

より、周期境界条件を満たしていることが確認できる。

そのため、 u(x,t)=1+\cos \pi (x-ct)が求める解である。

計算結果の確認

検算

 u(x,t)=1+\cos \pi (x-ct)より、 uをそれぞれ t x偏微分すると、

 \dfrac{\partial u}{\partial t}=\pi c \sin \pi (x-ct)

 \dfrac{\partial u}{\partial x}=-\pi \sin \pi (x-ct)

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

 \dfrac{\partial u}{\partial t} + c\dfrac{\partial u}{\partial x} =0

を満たす。

グラフ

 c=1.00として、 t=0 0.4 0.8の時の値をプロットしたものは以下の通り。右軸に沿って並行移動していく解になっていることが視覚的にも確認できる。

もう少し一般的な変数変換法による解析解

上で述べた変数変換法は、初めから形を特定しすぎではないかと思われるかもしれない。そのため、ここではもう少し一般的な形である、

 \begin{cases} \alpha = \alpha(x,t) \\ \beta = \beta(x,t) \end{cases}

と置いて、変数を減らすことを考えてみる。

さて、 u \alpha \beta偏微分すると、

 \begin{cases} \dfrac{\partial u}{\partial \alpha}=\dfrac{\partial u}{\partial x}\dfrac{\partial x}{\partial \alpha}+\dfrac{\partial u}{\partial t}\dfrac{\partial t}{\partial \alpha} \\ \dfrac{\partial u}{\partial \beta}=\dfrac{\partial u}{\partial x}\dfrac{\partial x}{\partial \beta}+\dfrac{\partial u}{\partial t}\dfrac{\partial t}{\partial \beta} \end{cases}

となるから、もし、

 \dfrac{\partial x}{\partial \beta}=c\dfrac{\partial t}{\partial \beta}

とできれば(実際これはできるが)、

 \dfrac{\partial u}{\partial \beta}=\dfrac{\partial u}{\partial x} \left(c\dfrac{\partial t}{\partial \beta} \right)+\dfrac{\partial u}{\partial t}\dfrac{\partial t}{\partial \beta} =\dfrac{\partial t}{\partial \beta} \left( c\dfrac{\partial u}{\partial x}+\dfrac{\partial u}{\partial t}\right)=0

が成り立つことになる。つまり、

 \dfrac{\partial u}{\partial \beta}=0

となるから、 gを任意の関数として、

 u=g(\alpha)

が得られる。一方、先ほどの {\partial x}/{\partial \beta}=c({\partial t}/{\partial \beta})より、

 \dfrac{\partial }{\partial \beta}(x-ct)=0

となるから、 hを任意の関数として

 x-ct=h(\alpha)

すなわち、

 \alpha=h^{-1}(x-ct)

が得られる。そのため、 g(h^{-1})をあらためて fとすれば、

 u(x,t)=f(x-ct)

となって、同じように一般解を求めることができる。

*

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