1
4. 0 次元減衰 安定性
4.1 前回 復習 前回
v dt
dx/ = , (4.1) kx
dt
dv/ =− , (4.2)
いう方程式 数値解 プ フ ッ 求 さ 前進差分
プフ ッ 方 精度 良い差分式 あ 差分化 生 誤差
小さい こ 確 今回 第一回 扱 摩 方程式 プフ ッ
解くこ 今 考え く 良 別種 問題 生 こ 見
そ 理由 い 調べ
4.2 プフ ッ 法 減衰方程式 数値解
減衰方程式,
cv dt
dv =− , (4.3)
プフ ッ 差分化
) 2 (
) ( )
( cv t
t t t v t t
v =−
∆
∆
−
−
∆
+ , (4.4)
演習 1 講義後 行う
leapfrog scheme 使 式(4.3) 解け , c = 0.1, ∆t = 0.05 , 初期条件 , t = 0 v = 1 計算時間 t=10 こ leapfrog scheme
t
t-∆ , t ,t+∆t いう 3 時刻 値 必要 最初 計算 テップ
適用 い 計算 最初 テップ 前進差分 用い 計算 , 2 番
目以降 計算 テップ , 式(4.4) 用い 計算 行え 前進差分 (4.3) 式 差分化
) ) (
( )
( cv t
t t v t t
v =−
∆
−
∆
+ . (4.5)
第 1 回参照 結果 , 横軸 t, 縦軸 v フ け
2
4.4 計算 安定性
演習 1 結果 , 横軸 t, 縦軸 v フ , 途中 計算
結果 不安定 い シャ 波打 う ノイ 混入 い
分 あ う 一般 減衰方程式 プフ ッ 法 適用 , 時間
経過 共 計算結果 不安定 , 計算 長時間 こ 出来 い
こ こ 調べ
式(4.4) 整理 ,
t t cv t t v t t
v( +∆ )= ( −∆ )− ( )×2∆ (4.6)
い 時刻 t Δt け v λ倍 時刻t け v 得 考
え v(t) 形式的 ,
) ( )
(t v t t
v =λ× −∆ , (4.7)
う 表 λ 時間 テップ 一 進 , v 値 前 時間 テッ
プ 時 値 比べ け増幅 表 い 式(4.7) (4.6) 代入
λ 満足 べ 方程式 ,
λ
λ2 =1−2c∆t , (4.8)
得 こ 解く ,
1 ) (
2 ∆ ± ∆ 2 +
−
= c t c t
λ , (4.9)
い ,こ 解 , 1 ) (
2 2
1=− c∆t+ c∆t +
λ , 2 ( )2 1
2 =− c∆t− c∆t +
λ , (4.10)
表 こ 特 λ2 い 考え う c Δt 正 値 あ , λ2
常 負 値 Δt いく 小さく λ2 1 小さい値
こ 分 こ 意味 こ 以 あ
(1) 時間 テップ 一 進 ,前 時間 テップ v 符号 反転
(2) 時間 テップ 一 進 ,前 時間 テップ v 絶対値 大 絶
3
対値 v 得 振幅 増大
実際 λ1 λ2 両方 式(4.4) 満足 こ , 式(4.3) 数値解 ,
) ( ) (
)
(t t A 1 B 2 v t
v +∆ = λ + λ , (4.11)
いう形 表さ ここ A, B v 初期値や定数c 値 決 定
数 あ λ1v(t) 絶対値 λ2v(t) 比べ 大 いう 問題 い 時間 経 過 λ2v(t) 絶対値 λ2v(t) 比べ 無視 い大 さ 記
(1) (2) う 性質 持 ノイ 露 く
ここ 参考 式(4.3) 前進差分 近似 場合 安定性 調べ 式(4.4) ,
t t cv t v t t
v( +∆ )= ( )− ( )∆ , (4.12)
プフ ッ 場合 同様
) ( )
(t t v t
v +∆ =λ× , (4.13)
置く ,式(4.12) ,
t c∆
= 1−
λ , (4.14)
, 1−c∆t <1 あ , (4.4) 安定 あ
4.5 後退差分 陰解法
減衰方程式 数値的 解く 用い 方法 ,後退差分 呼
差分式 あ 後退差分 陰解法 呼 こ あ 後退差分 使
式(4.3) 差分化 ,
) ) (
( )
( cv t t
t t v t t
v =− +∆
∆
−
∆
+ , (4.15)
こ 整理 ,
) 1 /( ) ( )
(t t v t c t
v +∆ = + ∆ , (4.16)
4
減衰方程式 後退差分 差分化 常 安定 解 得 , 減
衰方程式 解く 後退差分 用い
練習 2 (講義中 行う)
式(4.16) 安定性 い 説明せ
演習 2 講義後 行う
後退差分 式(4.3) 解け 計算条件 演習 1 同一
4.5 ノイ 除去
leapfrog scheme 精度 い , 減衰方程式 用い ノイ 発生 こ
う ノイ 次第 そ 振幅 大 く 計算 破綻させ 除去 必
要 あ こ 方法 , 気象 海洋 シミュ ション 記
う 手法 良く用い
(1) Matsuno Scheme
leapfrog scheme 計算 進 , 10 テップ 一回ほ 後退差分 計算 行う
(2) Asselin filter
n-1, n, n+1 テップ 値 重 付 平均 ノイ 平滑化
v=(1.0-alp)*v + 0.5*alp*(vold+vnew)
平滑化 毎計算 テップ行う alp 値 , 0 < alp < 1 設定
演習 3
述 (1), (2) 方法 ノイ 除去 , 演習 1 結果 比較せ (2) い alp 値 何種類 試せ
参考資料 Asselin filter
http://www.ep.sci.hokudai.ac.jp/~gfdlab/comptech/y2011/resume/1124/pub/Asselin_197 2.pdf