拡散方程式の数値解法 - hiroshima...
TRANSCRIPT
拡散方程式の数値解法
数値解法:差分法
関数 を のまわりで3次の項まで Taylor 展開.
!
U(x)
!
x
偏微分方程式の数値解法の中で, 元の微分方程式の微分の部分を差分で置き換えて解く方法を差分法と言う.
の近似と誤差
!
" U (x)
!
" U (x) =U(x + #x) $U(x)
#x+%(#x)
!
" U (x) =U(x) #U(x # $x)
$x+%($x)
!
" U (x) =U(x + #x) $U(x $ #x)
2#x+%(#x
2)
を を用いて近似.と(1)
を を用いて近似.と(2)
を を用いて近似.と(3)
の差分近似
!
" U (x)
前進差分, 右側差分
後退差分, 左側差分
中心差分
の差分近似
を を用いて近似.
中心2階差分, 離散ラプラシアン
区間の離散化のしかた
京都方式
等分
札幌方式
L
( i = 0, 1, … N )
( i = 1, 2, … N )
!
"x= L /N
N 等分
空間と時間の離散化
( i = 1, 2, … N )
拡散方程式の差分化
時間微分は前進差分で,空間微分は中心2階差分で
( i = 1, 2, … N , n = 0, 1, … )
境界条件の処理
ディリクレ条件
差分のcellを両側に1つずつ広げて,そこでの値を とおく.
!
uN +1
n
!
uN
n!
u0
n
!
u1
n
!
u0
n+ u
1
n
2" u(0,t
n) = 0
!
uN
n+ u
N +1
n
2" u(L,t
n) = 0
!
u0
n= "u
1
n
!
uN +1
n= "u
N
n
!
uN +1
n
!
u0
n
境界条件の処理
ノイマン条件
周期境界条件!
u0
n" u
1
n
2#$u(0,t
n)
$x= 0
!
uN
n" u
N +1
n
2#$u(L,t
n)
$x= 0
!
u0
n= u
1
n
!
uN +1
n= u
N
n
!
u0
n= u
N
n
!
uN +1
n= u
1
n
拡散方程式
境界条件
初期条件
ディリクレ条件ノイマン条件
周期境界条件
初期値境界値問題の計算スキーム
( i = 1, 2, … N , n = 0, 1, … )
!
u0
n= u
1
n
!
uN +1
n= u
N
n
!
u0
n= u
N
n
!
uN +1
n= u
1
n
!
u0
n= "u
1
n
!
uN +1
n= "u
N
n
( i = 1, 2, … N )
新しいステップの計算
とおくと
Explicit scheme
計算手順
偏微分方程式境界条件初期条件計算の初め
( i = 1, 2, … N )
( i = 1, 2, … N ) N