next up previous
Next: 8.3 特性方向の差分 Up: 8 差分近似解 Previous: 8.1 差分 (PDF ��������: pdetutor.pdf)

8.2 偏微分方程式の差分近似

次に、偏微分方程式の数値計算法を考えてみる。

非斉次形の線形移流方程式の初期値問題

\begin{displaymath}
\left\{\begin{array}{ll}
u_t+a u_x = f(t,x) & (t>0,\ -\inf...
...ty),\\
u(0,x) = g(x) & (-\infty<x<\infty)
\end{array}\right.\end{displaymath} (35)

の差分近似を考える。ここで、$f(t,x)$$g(x)$ は与えられた関数と する。現実には、初期値問題といっても、もちろん無限に広い区間全体で 数値計算できるわけではない。

偏微分も常微分の場合と同様に、前進差分

\begin{displaymath}
u_t(t,x)\approx \frac{u(t+\Delta t,x)-u(t,x)}{\Delta t},\
u_x(t,x)\approx \frac{u(t,x+\Delta x)-u(t,x)}{\Delta x}
\end{displaymath}

で置き換えることができる。これを方程式 (35) に代入すると
\begin{displaymath}
\frac{u(t+\Delta t,x)-u(t,x)}{\Delta t}
+ a\frac{u(t,x+\Delta x)-u(t,x)}{\Delta x} \approx f(t,x)\end{displaymath} (36)

となる。与えられているのは $f(t,x)$ の値と $u(0,x)=g(x)$ の値である から、この式から $(\Delta t,x)$ での $u$ の値を近似計算することが できることがわかる。 すなわち (36) を変形して
\begin{displaymath}
u(t+\Delta t,x)\approx
-a\frac{\Delta t}{\Delta x}u(t,x+\D...
...left(1+a\frac{\Delta t}{\Delta x}\right)u(t,x) + \Delta tf(t,x)\end{displaymath} (37)

とすると、この式は、 $(t+\Delta t,x)$ での $u$ の近似値が、 $(t,x+\Delta x)$, $(t,x)$ での $u$ の値と $(t,x)$ での $f$ の値で 求められることを意味しているので、

図 25: 3 点の関係
\includegraphics{image/difference.eps}

$u(\Delta t,x)$ の近似値は $u(0,x+\Delta x)$, $u(0,x)$, $f(0,x)$ の値から求められることがわかる。 これにより $t=\Delta t$ での $u$ の近似値が求められることになる。 そして、再び (37) により $t=2\Delta t$ での $u$ の近似値が、$t=\Delta t$ 上の $u$$f$ の値から求められ、 順に $t=3\Delta t, 4\Delta t,\ldots$ と、次々計算されていくことになる。

ただし、 $u(m\Delta t,x)$ とはいっても、すべての実数 $x$ に関して 値を持ちうるわけではなく、計算機上は離散的な有限個の値しか持ち得 ない。ここでは $x=j\Delta x\ (j=0,\pm1,\pm2,\ldots)$ での値を 考えることにして

\begin{displaymath}
u^n_j = u(n\Delta t,j\Delta x) \ \
(\mbox{$u^n_j$\ の $n$\ は指数ではなく添字})
\end{displaymath}

と書くことにすると、(37) による近似計算は
\begin{displaymath}
\begin{array}{l}
\left\{\begin{array}{l}
\displaystyle u^...
...elta x),\ n=0,1,2,\ldots,
\ j=0,\pm1,\pm2,\ldots)
\end{array}\end{displaymath} (38)

という、二重の添字を持つ数列 $u^n_j$ に対する漸化式を与えることになる。

このようにして $u(t,x)$ の近似値を求めることができるが、この場合、 $\Delta t$$\Delta x$ との比や、前進差分を使うか後退差分を使う かなどをうまく選ばないと、近似解の不安定現象という思わぬ結果を 招くことになる。実際、この近似計算式 (38) は、$a<0$ の場合には 安定であるが、$a>0$ の場合には不安定であり、差分近似としてはふ さわしくない。$a>0$ の場合には $u_x$ の方を後退差分で置き換えると 安定になる。


next up previous
Next: 8.3 特性方向の差分 Up: 8 差分近似解 Previous: 8.1 差分
Shigeharu TAKENO
2001年 9月 21日