ランダムウォーク 1 拡散現象 不可逆な過程 1ステップの移動 δ θ δ : 定数 θ: ランダム 拡散現象 ランダムウォーク 2 1000 粒子 反射壁 1次元ランダムウォーク −3δ −2δ −δ 0 (1) 各粒子は τ 秒ごとに距離 δ 2δ 3δ δ だけ右か左に移動する. (2) 各ステップで左右に行く確率はそれぞれ 1/2 であり, 前のステップでどちらに動いたかは記憶していない. 分布は空間的に一様化 注:個々の粒子は有意に空きスペースに行こうとする訳ではない. (3) 各粒子は他の粒子と独立に動き, 相互作用することは ない. 粒子の位置の平均 粒子の位置の分散 初期時刻に I 個の全粒子が原点にいる場合を考える. 第 i 番目の粒子の第 nステップにおける位置 : xi (n) −δ +δ 確率 1/2 xi (n) = xi (n − 1) ± δ 1 第 n ステップにおける粒子の平均位置 : !x(n)" = I I ! I (xi (n i=1 1 1) ± ) = I I xi (n i=1 1) = ⇥x(n xi (n) i=1 1)⇤ 粒子の広がり具合 時間変数 t を導入する. ! " x(n)2 = nδ 2 δ2 D= 2τ とおくと 標準偏差 σ(t) σ(t) = √ 2Dt x(n) 2 " I 1# = xi (n)2 I i=1 " xi (n)2 = xi (n !x(n − 1)# 粒子数が十分大きいとき !x(n)" と の関係は 1 ⇤x(n)⌅ = I ! 2 第 nステップにおける粒子の位置の分散 : x(n) ! xi (n − 1) !x(n)" = 0 !x(0)" = 0 1)2 ± 2 xi (n 1) + 2 ! " ! " ! " x(n)2 = x(n − 1)2 + δ 2 = x(n − 2)2 + 2δ 2 ! " = · · · = x(0)2 + nδ 2 ! " x(n)2 = nδ 2 粒子の広がる速さ t = τn ! " δ2 2 x(t) = t τ ! " 2 x(t) = 2Dt 粒子の広がり具合の指標 Ex. 4-1 空気中の微粒子の拡散係数 ! 10−1 cm2 /sec サイズ 10m 程度の部屋の 端から端まで香水の分子が 拡散によって移動するのに どれぐらいかかるか? D : 拡散係数 [D] = L2 T −1 長い距離を拡散で移動するには時間がかかる! 粒子数とゆらぎ ランダムウォーク再び 1.0 Box 1 Box 2 粒子数:大 0.5 0.0 10粒子 t 密度ゆらぎ:小 1.0 0.5 0.0 100粒子 ランダムさを含まない 決定論的方程式で記述 可能になる. t 1.0 0.5 比率 0.0 1000粒子 t 1.0 拡散のマクロな描像 0.5 0.0 拡散方程式(2 Box System) Box 1 密度 : u1 (t) Box 2 密度 : u1 (t) u2 (t) 面積 : A Ex.4-2 u2 (t) 面積 : A Box 1 Box 2 単位時間あたり u1 (t) 移動 Box 1 Box 2 単位時間あたり u2 (t) 移動 u1 , u2 の時間発展を記述する方程式を求めよ. du1 A = (u2 dt du2 u1 ), A = (u1 dt du1 = k(u2 − u1 ) dt du2 = k(u1 − u2 ) dt u2 ) k = /A とおいて 2 Box System 最も簡単な拡散方程式 10000粒子 t 2 Box System の方程式を解く Ex.4-3 du1 = k(u2 − u1 ) dt du2 = k(u1 − u2 ) dt 0 0 初期値を (u1 (0), u2 (0)) = (u1 , u2 ) とするとき この方程式を解け. Hint: ξ = u1 + u2 , η = u1 − u2 u2 とおいて ξ と η の方程式にする d d⇥ = 0, = dt dt (t) (0) = (t) = 0e u1 (t) = 2k u01 2kt + u02 = (u01 u02 )e u01 + u02 u0 u02 + 1 e 2 2 2kt u1 2kt , u2 (t) = u01 + u02 2 u01 u1 + u2 が保存され, 最終的には一様になる 2 u02 e 2kt , 拡散方程式(離散1次元版) u1 ui−1 ui ui+1 du1 = k(u2 − u1 ) dt dui = k(ui−1 − ui ) + k(ui+1 − ui ) dt duI = k(uI−1 − uI ) dt uI 離散ラプラシアン dui = k(ui−1 − ui ) + k(ui+1 − ui ) dt = k(ui−1 − 2ui + ui+1 ) = 2k i = 2, 3, · · · , I − 1 Ex.4-4 u1 + u2 + · · · + uI が保存されることを示せ. ! ui−1 + ui+1 − ui 2 " ui 離散ラプラシアン 隣接セルの平均値と自分自身の差を測っている. 隣接セルの平均値の方に行こうとするダイナミクス 空間的な凹凸をなくそうとするはず 両辺をすべて足しあわせれば明らか. シミュレーション 離散から連続へ 拡散とは空間均一化のダイナミクスである. I 最終的には 1! lim ui (t) = u ¯0 = ui (0) t→∞ I i=1 ui+1 ui−1 拡散方程式(1次元連続版) 拡散方程式(1次元連続版) Ex. 4-5 u 密度分布 J(a) 0 密度分布の勾配に比例 してものが流れる. J(b) a ! b ∂u 流束 J = −D ∂x x Fick の法則 −J(b) + J(a) = D Ex. 4-6 ! b a ! b a " ∂u ∂2u −D 2 ∂t ∂x ∂2u ∂u =D 2 ∂t ∂x for 0 < x < !, t > 0 u(0, t) = u(!, t) = 0 for t > 0 u(x, 0) = f (x) for 0 < x < ! 境界条件 初期条件 B.C.:境界条件 u(x, t) ? I.C. B.C. x # dx = 0 ∂2u ∂u =D 2 ∂t ∂x 1次元拡散方程式 D :拡散係数(必ず正) 初期値境界値問題 (ディリクレ条件) B.C. a ∂2u dx であることを示せ. ∂x2 (a, b) は任意であったので 区間 udx = −J(b) + J(a) t b u の満たすべき方程式を求めよ. 適当な区間 (a, b) でのものの出入りを考えると d dt ! boundary condition I.C.:初期条件 initial condition 初期値境界値問題 (ノイマン条件) ∂2u ∂u =D 2 ∂t ∂x for 0 < x < !, t > 0 ∂u ∂u (0, t) = (", t) = 0 ∂x ∂x for t > 0 境界条件 u(x, 0) = f (x) for 0 < x < ! 初期条件 ノイマン境界条件は, 境界において物の出入り がないことを意味している. Ex.4-7 u d dt ! ! udx の総量 は保存されることを示せ. Z ` udx = 0 Z 0 ` 0 @u dx = @t Z ` 0 @2u @u D 2 dx = D @x @x ` =0 x=0 初期値が正弦波の解 境界条件について Ex.4-8 ! ディリクレ (Dirichlet) 条件 u(0, t) = u(!, t) = 0 のように境界で u の値が与えられる. ! ノイマン (Neumann) 条件 ∂u ∂u (0, t) = (", t) = 0 ∂x ∂x のように境界で 初期値が正弦波 sin (ディリクレ条件) um (x, t) = am (t) sin ∂u の値が与えられる. ∂x ! 周期境界条件 これは実は境界がないという条件である. ∂u ∂u ! ! u(0,! t) = u(!, ! t), ∂x (0, t) = ∂x (!, t) 円周上の関数 初期値が正弦波の解 Ex.4-9 πmx 初期値が正弦波 cos であるような解を構成せよ. " (ノイマン条件) πmx (m = 0, 1, 2, · · ·) um (x, t) = am (t) cos " ! πm "2 dam am = −D dt l πm " 2 ) am (t) = e−D( πm " 2 πm l um (x, t) = e−D( (m = 1, 2, 3, · · ·) 2 ) πm " t ) t sin πmx " 2 モード数の2乗に比例して, 素早く減衰する. シミュレーション ディリクレ条件 4モード解 t ) t cos πmx " モード数の2乗に比例して, 素早く減衰する. ただし... um (x, t) = e−D( ⇡mx ` ! πm "2 dam am = −D dt l am (0) = 1 am (0) = 1 am (t) = e−D( πmx であるような解を構成せよ. " 8モード解 線形重ね合わせ 線形重ね合わせ 区間 [0, !] 上で拡散方程式の初期値境界値問題を考える. u1 (x, t), u2 (x, t) がそれぞれ初期条件 u1 (x, 0) = f1 (x), u2 (x, 0) = f2 (x) を満たす解である時 それらの1次結合 u = a 1 u 1 + a2 u 2 u(x, 0) = f (x) ただし f (x) = a1 f1 (x) + a2 f2 (x) は初期条件 を満たす初期値境界値問題の解である. Ex.4-11 ∂2u ∂u = D 2 の初期値 区間 (0, ) 上で, 拡散方程式 ∂t ∂x 境界値問題を考える. ただし, 境界条件はディリクレ x 2 x u(x, 0) = 2 sin sin のとき 条件で初期値が ⇥ ⇥ u(x, t) を求めよ. u1 (x, t) = exp Ex.4-10 上のことを確かめよ. D 2t ⇥2 sin x , u2 (x, t) = exp ⇥ と置くと、解は u1 と u2 の一次結合 2 2 u = 2u1 sin 2 x ⇥ u2 となる. 2 u2 u u1 u2 u1 u = a1 + a2 = a1 D + a2 D =D 2 t t t x2 x2 x u(0, t) = a1 u1 (0, t) + a2 u2 (0, t) = 0 4D 2 t ⇥2 u( , t) = a1 u1 ( , t) + a2 u2 ( , t) = 0 u(x, t) = 2 exp D 2t ⇥2 sin x ⇥ exp 4D 2 t ⇥2 sin 2 x ⇥ u(x, 0) = a1 u1 (x, 0) + a2 u2 (x, 0) = a1 f1 (x) + a2 f2 (x) = f (x) 線形重ね合わせ Ex.4-12 ∂2u ∂u = D 区間 (0, ) 上で, 拡散方程式 ∂t ∂x2 の初期値 境界値問題を考える. ただし, 境界条件はノイマン条件 1 2 x 3 x u(x, 0) = cos + 2 cos で初期値が のとき 3 ⇥ ⇥ u(x, t) を求めよ. u0 (x, t) 1 u2 (x, t) = exp 4D 2 t ⇥2 cos 2 x , u3 (x, t) = exp ⇥ と置くと、解は定数と u2 とu3 の一次結合 u = 1 u(x, t) = 3 exp 4D 2 t ⇥2 2 x cos + 2 exp ⇥ シミュレーション 1 u0 3 9D 2 t ⇥2 cos 3 x ⇥ u2 + 2u3 となる. 9D 2 t ⇥2 3 x cos ⇥ 4モード解 + 20モード解 まず、高いモードの解(短波長の解)が先に 減衰して、低いモードの解はゆっくりと ..... 一般の初期値について (ディリクレ条件) f (x) 初期値 をフーリエサイン展開して構成する. f (x) = ∞ ! bm sin m=1 Ex.4-13 初期値境界値問題の解 πmx " u(x, t) を級数の形で求め, lim u(x, t) = 0 初期値が何であれ であることを示せ. t→∞ u(x, t) = D bm exp 2 m2 t sin ⇥2 m=1 mx ⇥ フーリエ級数を用いて解く Ex.4-14 ∂2u ∂u =D 2 の 区間 (0,1) 上で, 拡散方程式 ∂t ∂x 初期値境界値問題を考える. ただし, 境界条件は ディリクレ条件で初期値は次のように与えられる. u(x, 0) = x(1 フーリエ級数を用いて x(1 x) = 8 3 n:odd (0 x) u(x, t) を求めよ. 1 sin nx n3 8 X 1 u(x, t) = 3 e ⇡ n3 lim u(x, t) = 0 は明らか. t→∞ 1) x D⇡ 2 n2 t (0 x 1) sin ⇡nx n:odd 一般の初期値について (ノイマン条件) f (x) 初期値 をフーリエコサイン展開して構成する. f (x) = a0 + ∞ ! am cos m=1 Ex.4-15 初期値境界値問題の解 πmx " u(x, t) を級数の形で求め, lim u(x, t) を求めよ. t→∞ u(x, t) = a0 + am e m=1 lim u(x, t) = a0 = t→∞ 1 ! ! 0 D( m ⇥ ! f (x)dx 2 ) t cos mx ⇥ f (x) の平均値 フーリエ級数を用いて解く Ex.4-16 ∂2u ∂u =D 2 の 区間 (0,1) 上で, 拡散方程式 ∂t ∂x 初期値境界値問題を考える. ただし, 境界条件は ノイマン条件で初期値は次のように与えられる. ! 1 for 0 < x < 1/2 u(x, 0) = 0 for 1/2 < x < 1 フーリエ級数を用いて u(x, t) を求めよ. また lim u(x, t) は何になるか. t→∞ u(x, 0) = 1 2 + 2 1 2 u(x, t) = + 2 n:odd n:odd sin ( n/2) cos nx n sin ( n/2) e n D 2 n2 t cos nx lim u(x, t) = t ⇥ 1 2 数値解法:差分法 偏微分方程式の数値解法の中で, 元の 微分方程式の微分の部分を差分で置き 換えて解く方法を差分法と言う. 拡散方程式の シミュレーション 他にも,有限要素法,有限体積法,境界要素法, スペクトル法など,いろいろある. U " (x) の差分近似 Ex.4-17 U(x) を x のまわりで3次の項までTaylor 展開せよ. 関数 (0 < δx ! 1) U !! (x) 2 U !!! (x) 3 U ! (x) δx + δx + δx + O(δx4 ) 1! 2! 3! € U !! (x) 2 U !!! (x) 3 U ! (x) U (x − δx) = U (x) − δx + δx − δx + O(δx4 ) 1! 2! 3! U (x + δx) = U (x) + € Ex.4-18 (1) U ! (x) を U (x + δx) と U (x) を用いて近似せよ. U " (x) = U(x + δx) − U(x) + Ο(δx) δx U ! (x) ! 前進差分, 右側差分 € y U ! (x) ! U " (x) = U(x) − U(x − δx) + Ο(δx) δx (3) U ! (x) を U (x + δx)と U (x − δx) を用いて近似せよ. € U(x + δx) − U(x − δx) U " (x) = + Ο(δx 2 ) 2δx y = U (x) U (x) − U (x − δx) δx 後退差分, 左側差分 (2) U ! (x) を U (x − δx) と U (x) を用いて近似せよ. € U (x + δx) − U (x) δx U ! (x) ! U (x + δx) − U (x − δx) 2δx 中心差分 x − δx x x + δx x U !! (x) の差分近似 区間の離散化のしかた Ex.4-19 U !! (x) を U (x), U (x + δx), U (x − δx) を用いて近似せよ. U !! (x) = U (x − δx) − 2U (x) + U (x + δx) + O(δx2 ) δx2 U (x − δx) − 2U (x) + U (x + δx) U (x) ! δx2 京都方式 xi = iδx (i = 0, 1, · · · , I) δt tn = nδt (n = 0, 1, 2, · · ·) xi = (i − 1/2)δx xi (i = 1, 2, · · · , I) x 空間:札幌, 時間:京都 xi = (i − 1/2)δx (i = 1, 2, · · · , I) 時間微分は前進差分で, 空間微分は中心2階差分で 2 u u =D 2 t x δx tn 札幌方式 拡散方程式の差分化 空間と時間の離散化 t ! δx = "/I !! 中心2階差分, 離散ラプラシアン I 等分 0 uni = u(xi , tn ) u(x, t + t) t u(x, t) D u(x x, t) uni−1 − 2uni + uni+1 un+1 − uni i =D δt δx2 2u(x, t) + u(x + x, t) x2 t (i = 1, 2, · · · , I; n = 0, 1, · · ·) x 境界条件の処理 境界条件の処理 n n 差分のcellを両側に1つずつ広げて,そこでの値を u0 , uI+1 とおく. unI+1 un0 ! ノイマン条件 un1 unI un u (0, tn ) = 0, I+1 x x un0 x u ( , tn ) = 0 x un0 = un1 , unI+1 = unI unI un1 ! 周期境界条件 ! ディリクレ条件 un0 + un1 2 u(0, tn ) = 0, unI + unI+1 2 0 1 2 u( , tn ) = 0 I 1 I I+1 n n n un 0 = −u1 , uI+1 = −uI n n n un 0 = uI , uI+1 = u1 初期値境界値問題の計算スキーム 拡散方程式 un − 2uni + uni+1 un+1 − uni i = D i−1 δt δx2 (i = 1, 2, · · · , I; n = 0, 1, · · ·) 境界条件 ディリクレ条件 ノイマン条件 周期境界条件 un 0 un0 un 0 = = = n n −un 1 , uI+1 = −uI un1 , unI+1 = unI n n un I , uI+1 = u1 初期条件 u0i = f (xi ) (i = 1, 2, · · · , I) 新しいステップの計算 uni−1 − 2uni + uni+1 un+1 − uni i =D δt δx2 λ= Dδt とおくと δx2 un+1 = uni + λ(uni−1 − 2uni + uni+1 ) i Explicit scheme (n = 0, 1, · · ·) n+1 n i−1 i i+1 計算手順 von Neumann の安定性解析 計算の初め I.C. u0i = f (xi ) (i = 1, 2, · · · , I) B.C. u00 , u0I+1 D.Eq. 数値シミュレーションでは, 各計算ステップで微小な 誤差が混入する. これが計算ステップとともに指数的 に成長するようならば, 計算は破綻する! 波数 u1i (i = 1, 2, · · · , I) √ −1kx の成長を見る. k の周期関数 e 境界条件は無視. √ −1kxi uni = µn e 成長係数 µ とおいて差分方程式に代入し, を調べる. すべての波数 k に対し |µ| ≤ 1 ある波数 k に対し |µ| > 1 Explixcit Scheme の安定条件 Ex.4-20 拡散方程式の Explicit scheme の安定性を調べよ. √ µn+1 e −1kxi √ − µn e δt −1kxi =D Dδt (2 cos kδx − 2) µ−1= δx2 k は任意の数 安定条件 δt ≤ δx2 2D 1− √ µn e −1kxi−1 √ √ − 2µn e −1kxi + µn e δx2 4Dδt ≤µ≤1 δx2 −1 ≤ 1 − 4Dδt δx2 空間の解像度を上げるために δx を 小さくとると, δt を非常に小さく 取らなければならない. 不安定 安定条件が破れると un+1 i = uni −1kxi+1 kδx 4Dδt sin2 µ=1− δx2 2 安定 2Dδt + δx2 2Dδt >1 δx2 un+1 i ! uni−1 + uni+1 − uni 2 " un+1 i uni−1 uni−1 + uni+1 は 2 を行き過ぎる! uni un+1 i−1 uni+1 un+1 i+1 メッシュごとのジグザグ波形で指数発散 これが出たら, 安定性の破れをまず疑うべし! Fully Implicit Scheme レポート課題 un − 2uni + uni+1 uni − un−1 i = D i−1 δt δx2 n 後退差分 Dδt λ= とおくと δx2 Ex. uni n 1 + (1 + 2 )ui 上式を行列で Aun = un Dirichlet 1+2 A= .. .. .. .. i−1 uni+1 = uni .. .. .. A= .. 1+ .. .. .. 1+3 Fully Implicit scheme un − 2uni + uni+1 uni − un−1 i = D i−1 δt δx2 Crank-Nicolson scheme uni − un−1 D i = δt 2 .. .. .. .. .. .. 1+2 1+2 1 と書くとき, を書き下せ。 A 1+2 .. i+1 i 1 Neumann 1+3 次の2つの拡散方程式の計算スキームの安定性を調べよ. 1 n 1+ ! n−1 un−1 + un−1 uni−1 − 2uni + uni+1 i−1 − 2ui i+1 + δx2 δx2 "
© Copyright 2024 ExpyDoc