[放物型偏微分方程式にシンプレクティック法は使えない!(普通にやろう(^^))] [数値解析]
[放物型偏微分方程式にシンプレクティック法は使えない!(普通にやろう(^^))]
放物型にシンプレクティック法を使ってみたら、とんでもない目にあったので、今度は普通に重み付き残差法の弱形式によるガラーキン法をやってみます。支配方程式は、
です。重み関数をu(x)として、
(2)中辺の2項目を弱形式に持ち込みます。
従って(2)は、
になります。ここでLは1要素の長さ。(4)右辺1項目(弱形式)は、xの1階微分の積分になってるので、線形近似くらいで十分です。要素端における温度値をT1,T2とすれば、
とあっさりと形状関数まで出てきます。
とすると、(4)右辺1項目の離散化近似は、
同様に(4)左辺の離散化近似は、
になります。
(4)でλ=0とし、境界項は物理量の連続性から0になるとみなすと、(7),(8)から有限要素の一要素について、
が得られます。左辺のConsistent Massは、恐らく実用的にはLamped Massで代用してやっても十分です。
いま解析領域全体をn等分割し、節点未知数をT1,T2,・・・,Tn+1として、n個の要素全てについて(10)を重ね合わせた姿を想像すると、
です。(11)の1行目とn+1行目は、境界条件でおきかえ可です。そして2行目~n行目は、2階差分の定式化そのものじゃないですか!(^^)。こうして重み付き残差法の弱形式によるガラーキン法と、差分法がほぼ同等である事を導けました。ただ2次元以上の場合は、差分用の構造格子でなくても、有限要素用の非構造格子で同じ定式化が可能なので、重み付き残差法の弱形式ガラーキン法の方が若干便利かも知れません。
もう一つわかる事は、熱源密度λがデルタ関数のa倍の場合以前は、к・∂T/∂xがデルタ関数の特異点xjで-aの不連続ジャンプを起こすとして、
と特異点両側の温度値から特異点での温度値を推定する差分法を用いましたが、定式化(4)によれば、
になるので、x=xjに対応する節点で(11)右辺にa/Lを加えるだけで良い事がわかります。ただしu(x)は要素端点で値1をとる重み関数(形状関数)だとします。実際にそうやって1次のオイラー法で計算してみると、(12)を用いた結果とほとんど変わらないものが出ます。その理由は、(5)による近似はC0級なので、要素境界で1階微分が不連続変化しても対処できるからです。
というかもともと(5)の近似では要素境界で1階微分は不連続に求まります。しかし境界項は物理量の連続性から0になるとみなすという条件を暗に付けたので、不連続性を強制するような付加条件がない限り、不連続性を出来るだけ小さくするような解が決まる仕掛けになります。不連続性を強制する付加条件があれば、自然にそれに応じた不連続性が現れます。だから差分法でも(13)を、そのまま使えば良いんですよ(^^)。
やっぱり数値解法って、こうでなけりゃいけませんね(^^)。
(執筆 ddt³さん)
コメント 0