SSブログ

[陽解法でも収束するかも] [ネコ騙し数学]

[陽解法でも収束するかも]

 

 ddt^3です。ちょっと面白いなぁ~と思って、差分法に関する安定条件をググってみると、フォン・ノイマンの安定条件ってのが出てきます(註1。

  http://dr-asa.hatenablog.com/entry/2017/08/31/154806

 

 上記HPによると、放物型偏微分方程式の陽解法が安定であるためには、任意の整数0≦mに対して、

 

 

 

 

だそうです。ここでGは時間方向への誤差の拡大率,βmは、

 

 

 

であり、Lは解析領域の長さです。この条件は解の大きさに誤差も比例するという前提なので、mは解を空間方向にフーリエ展開した場合の波数(モード次数)と考えられます。

 к1/2Δt0.1Δx0.4L4として、m012,・・・に対してG(m)をプロットしてみると、図-1になります。

 

kaiketsu-graph-001.png

 

 波数20以上は周期的な繰り返しです。解析結果のグラフをみてみると、どう考えても1次モードのみ励起されるはずです。

 

 

です。

 

 Gは誤差の拡大率です。初期誤差をεとし、誤差は解の大きさに比例するという前提を信じれば、

 

 

 

 

で、時間ステップnにおける誤差を評価できる事になります(たぶん最悪の予想)。T(xt)は解,tnnステップ目の時刻です。

 

kaiketsu-tab-001.png 解析結果は放物線が一様に圧縮されてくような感じなので、T(xtn)T(x0)x2の値の変化で代表させます。紙面から読み取った値は、

 ・・・表-1くらいかな?。

これをグラフに起こして強引に指数関数近似したのが図-2です。相関係数がR21とウルトラ良いので(^^)、図-2の補間結果から、

 

 

で近似する事にします(註2)。

 

kaiketsu-graph-002.png

 

 次に初期誤差εですが、T(x0)x(4x)=-x24xなので、t0でのx方向への2階差分の絶対値はa(0)1のはず。

 時間差分は1階で、空間差分は2階だから、

 

 

くらいかな?(^^;)

 

 以上を使って、誤差の積算Ε(n)を計算してやると、図-3になります。

 

kaiketsu-graph-003.png

 

「ネコの旦那!。陽解法で永遠に数値積分しても、最大誤差0.0102くらいで収束しそうでっせ!」

 

 陰解法は、長時間積分に対して陽解法より平均的に精度が良いだけの話で、局所的な精度は陽解法が上回る場合もあり得ると、自分は思っています。例えばあまり長くない時間積分であれば、無条件安定なシンプレクティック法よりルンゲクッタ法の方が、ずう~っとずう~っと精度が良い。

 シンプレクティック法は陽解法のくせに(まさに陰に)陰解法の特性を持つのに対して、ルンゲクッタ法による超長時間積分では、解は0に減衰します。という訳で・・・。

 

予想1)

 陽解法でも発散しないケースだったから、陽解法の精度がバカみたいに良かった?。

 

 でもですね、n100で既に0.001~最大0.01程度の誤差は見込まれます。単精度ですよね?。問題のスケール規模は1001のオーダーで単精度の有効数字は6桁。倍精度でやりたいなぁ~(^^;)

 

予想2)

 倍精度計算したら、劇的に状況が変化するかも。あくまで「するかも」。

 

 以上、他人のプログラムなんて頼まれても読みたくないddt^3の、他人事のような発言でした(^^;)

 

(執筆:ddt³さん)

 

 

(註1)フォン・ノイマン法による陽解法の安定性判定については、ねこ騙し数学でも過去に「陽解法による拡散方程式の安定性」という記事で取り上げている。

http://nekodamashi-math.blog.so-net.ne.jp/2016-11-23

 

(註2)微分方程式の厳密解は、

そして、n=1のとき

となるので、約5%くらいの誤差で

と近似できる。

 


nice!(0)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。