Numerical methods for partial differential equations
さまざまなラックス・ウェンドロフ法を示すグラフ
ラックス ・ウェンドロフ法は、 ピーター・ラックス と バートン・ウェンドロフ にちなんで名付けられた [1]。 差分 に 基づく 双曲型偏微分方程式 を解く 数値 解法である。空間と時間の両方において2次の精度を持つ。この法は、支配方程式を定義する関数を現在の時刻で評価する 陽的時間積分 の一例である 。
意味
次の形式の方程式があるとします。
ここで、 x と t は独立変数であり、初期状態 u ( x , 0) が与えられています。
∂
u
(
x
,
t
)
∂
t
+
∂
f
(
u
(
x
,
t
)
)
∂
x
=
0
{\displaystyle {\frac {\partial u(x,t)}{\partial t}}+{\frac {\partial f(u(x,t))}{\partial x}}=0}
線形ケース
線形の場合、 f ( u ) = Au 、 A は定数である。 [2]
ここで は 次元 、 は次元 を表す 。この線形スキームは、いくつかの方法で一般の非線形の場合に拡張できる。その1つは、
u
i
n
+
1
=
u
i
n
−
Δ
t
2
Δ
x
A
[
u
i
+
1
n
−
u
i
−
1
n
]
+
Δ
t
2
2
Δ
x
2
A
2
[
u
i
+
1
n
−
2
u
i
n
+
u
i
−
1
n
]
.
{\displaystyle u_{i}^{n+1}=u_{i}^{n}-{\frac {\Delta t}{2\Delta x}}A\left[u_{i+1}^{n}-u_{i-1}^{n}\right]+{\frac {\Delta t^{2}}{2\Delta x^{2}}}A^{2}\left[u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n}\right].}
n
{\displaystyle n}
t
{\displaystyle t}
i
{\displaystyle i}
x
{\displaystyle x}
A
(
u
)
=
f
′
(
u
)
=
∂
f
∂
u
{\displaystyle A(u)=f'(u)={\frac {\partial f}{\partial u}}}
非線形の場合
一般的な非線形方程式の Lax-Wendroff の保存形は次のようになります。
ここで 、 は で評価されたヤコビ行列です 。
u
i
n
+
1
=
u
i
n
−
Δ
t
2
Δ
x
[
f
(
u
i
+
1
n
)
−
f
(
u
i
−
1
n
)
]
+
Δ
t
2
2
Δ
x
2
[
A
i
+
1
/
2
(
f
(
u
i
+
1
n
)
−
f
(
u
i
n
)
)
−
A
i
−
1
/
2
(
f
(
u
i
n
)
−
f
(
u
i
−
1
n
)
)
]
.
{\displaystyle u_{i}^{n+1}=u_{i}^{n}-{\frac {\Delta t}{2\Delta x}}\left[f(u_{i+1}^{n})-f(u_{i-1}^{n})\right]+{\frac {\Delta t^{2}}{2\Delta x^{2}}}\left[A_{i+1/2}\left(f(u_{i+1}^{n})-f(u_{i}^{n})\right)-A_{i-1/2}\left(f(u_{i}^{n})-f(u_{i-1}^{n})\right)\right].}
A
i
±
1
/
2
{\displaystyle A_{i\pm 1/2}}
1
2
(
u
i
n
+
u
i
±
1
n
)
{\textstyle {\frac {1}{2}}(u_{i}^{n}+u_{i\pm 1}^{n})}
ヤコビアンフリー法
ヤコビ評価を回避するには、2 段階の手順を使用します。
リヒトマイヤー法
以下は、Richtmyerの2段階Lax-Wendroff法です。Richtmyerの2段階Lax-Wendroff法の最初のステップでは 、時間ステップの半分( t n + 1/2 )とグリッドポイントの半分 (x i + 1/2 )における f ( u ( x , t )) の値を計算します。2番目のステップでは、 t n と t n + 1/2のデータを用いて、 t n + 1 における値を計算します。
最初の(緩い)ステップ:
u
i
+
1
/
2
n
+
1
/
2
=
1
2
(
u
i
+
1
n
+
u
i
n
)
−
Δ
t
2
Δ
x
(
f
(
u
i
+
1
n
)
−
f
(
u
i
n
)
)
,
{\displaystyle u_{i+1/2}^{n+1/2}={\frac {1}{2}}(u_{i+1}^{n}+u_{i}^{n})-{\frac {\Delta t}{2\,\Delta x}}(f(u_{i+1}^{n})-f(u_{i}^{n})),}
u
i
−
1
/
2
n
+
1
/
2
=
1
2
(
u
i
n
+
u
i
−
1
n
)
−
Δ
t
2
Δ
x
(
f
(
u
i
n
)
−
f
(
u
i
−
1
n
)
)
.
{\displaystyle u_{i-1/2}^{n+1/2}={\frac {1}{2}}(u_{i}^{n}+u_{i-1}^{n})-{\frac {\Delta t}{2\,\Delta x}}(f(u_{i}^{n})-f(u_{i-1}^{n})).}
2番目のステップ:
u
i
n
+
1
=
u
i
n
−
Δ
t
Δ
x
[
f
(
u
i
+
1
/
2
n
+
1
/
2
)
−
f
(
u
i
−
1
/
2
n
+
1
/
2
)
]
.
{\displaystyle u_{i}^{n+1}=u_{i}^{n}-{\frac {\Delta t}{\Delta x}}\left[f(u_{i+1/2}^{n+1/2})-f(u_{i-1/2}^{n+1/2})\right].}
マコーマック法
これと同種の別の手法がMacCormackによって提案されました。MacCormackの手法では、まず順方向差分を行い、次に逆方向差分を行います。
最初のステップ:
2番目のステップ:
u
i
∗
=
u
i
n
−
Δ
t
Δ
x
(
f
(
u
i
+
1
n
)
−
f
(
u
i
n
)
)
.
{\displaystyle u_{i}^{*}=u_{i}^{n}-{\frac {\Delta t}{\Delta x}}(f(u_{i+1}^{n})-f(u_{i}^{n})).}
u
i
n
+
1
=
1
2
(
u
i
n
+
u
i
∗
)
−
Δ
t
2
Δ
x
[
f
(
u
i
∗
)
−
f
(
u
i
−
1
∗
)
]
.
{\displaystyle u_{i}^{n+1}={\frac {1}{2}}(u_{i}^{n}+u_{i}^{*})-{\frac {\Delta t}{2\Delta x}}\left[f(u_{i}^{*})-f(u_{i-1}^{*})\right].}
あるいは、最初のステップ:
2番目のステップ:
u
i
∗
=
u
i
n
−
Δ
t
Δ
x
(
f
(
u
i
n
)
−
f
(
u
i
−
1
n
)
)
.
{\displaystyle u_{i}^{*}=u_{i}^{n}-{\frac {\Delta t}{\Delta x}}(f(u_{i}^{n})-f(u_{i-1}^{n})).}
u
i
n
+
1
=
1
2
(
u
i
n
+
u
i
∗
)
−
Δ
t
2
Δ
x
[
f
(
u
i
+
1
∗
)
−
f
(
u
i
∗
)
]
.
{\displaystyle u_{i}^{n+1}={\frac {1}{2}}(u_{i}^{n}+u_{i}^{*})-{\frac {\Delta t}{2\Delta x}}\left[f(u_{i+1}^{*})-f(u_{i}^{*})\right].}
参考文献
^ PD Lax; B. Wendroff (1960). 「保存則の体系」 (PDF) . Commun. Pure Appl. Math . 13 (2): 217– 237. doi :10.1002/cpa.3160130205. 2017年9月25日時点のオリジナルよりアーカイブ。
^ LeVeque, Randall J. (1992). 保存則の数値解析法 (PDF) . ボストン: Birkhäuser. p. 125. ISBN 0-8176-2723-5 。
マイケル・J・トンプソン、 「天体流体力学入門」 、インペリアル・カレッジ・プレス、ロンドン、2006年。
Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). 「第20.1節 フラックス保存的初期値問題」. 数値レシピ:科学計算の芸術 (第3版). ニューヨーク:ケンブリッジ大学出版局. p. 1040. ISBN 978-0-521-88068-8 。