解析学とコンピュータ ( 2005/01/11 ) 前回は、偏微分方程式 ( 熱伝導方程式 ) を学んだ。今回はその二回目 == \newcommand{\DS}[1]{\frac{\pertial u}{\pertial #1}} \newcommand{\DD}[1]{\frac{\pertial^2 u}{\pertial #1^2}} \newcommand{\DC}[2]{\frac{\pertial^2 u}{\pertial #1\pertial #2}} == 常微分方程式 (ODE) \frac{du}{dt} = f(t,u) 微分をどう解く (近似する) か ? 差分で近似する に対して、 偏微分方程式 (PDE) \DD{x} + \DD{y} 微分をどう解く (近似する) か ? 差分法を用いる* 有限要素法で解く* (* 付きが良く利用される) 境界要素法で解く \DS{t} = \DD{x} .. 1. 方程式の右を差分近似する ( n 個の区間で、 n + 1 の方程式を作る ) 方程式の左を オイラー法や、 ルンゲクッタ方程式を解く 2. 全体を常微分方程式の連立方程式として解く => 答の大雑把な傾向の場合に利用する => 本当に直に答えが必要な場合には望ましくない # 既に、常微分方程式用のライブラリが既に用意されているので、 # それを利用することができるので、便利 ## cf. CSMP-III ## 全体を差分化なりの手法で、近似を行うと、全部 0 から ## 作成しなければならないので、大変 ### 既存の常微分方程式用のライブラリを上手く再利用する ### アプローチが取られる 勿論、形が定型的なものであれば、パッケージがある cf. \DS{t} = \DD{x} + \DD{y} 定型的でなない場合は、上記のアプローチが便利 == 熱伝導方程式の場合 t=1 の計算は、t=0 ( 1 - 1 ) の値 ( ただし、空間方向は違う.. ) だけで計算することができた ( 一つ前の時間の値しか使わない ) => 陽(的)解法 未知数を計算するのに既知の情報だけを使う 一般の方程式の場合 t=1 の計算は、t=1 の値 ( ただし、空間方向は違う.. ) も利用する 必要がある場合 ( 同じ時間の値しか使わない ) 未知数の計算に連立方程式を解く必要がある => 陰(的)解法 未知数を計算するのに連立方程式を解く必要がある 陽(的)解法 vs 陰(的)解法 計算量は、明らかに陽(的)解法の方がよい 陽(的)解法のデメリットは ? 陽(的)解法は安定条件が必要 ( cf. \deta t < \alpha (\delta x) ) # \delta t を大きくすると数値が暴れる 陰(的)解法は安定条件が不要 ( 連立方程式を解いているから.. ) 陽(的)解法は安定条件が必要な理由 # 数学的な内容は、テキストを参照 ( 以下は直観的な説明 ) 波の計算をすると、波速があることがわかる この波速より速く進むような計算するような大きな \delta t だと不安定になる 情報が伝わるより先の計算をすると不安定になる 「安定条件」 物理的現象の速度以上の \delta t を指定すると駄目だということ ##### 「平滑化」を行うという作業は、「別の時間の解」になっている == # 偏微分方程式は、境界条件が大変という話 阪神震災の報告 波の性質は解る、 入力条件がわからない。 # 境界条件が同じであれば、同じような解答になる ## 弦の振動でも両端が固定されていれば同じような答にしかならない 神戸の地形などが良くわからない 普通ならば断層の上が被害が大きい 断層の南は地層が柔かった 断層の南側に被害が集中した #初期条件の影響. 自然現象の偏微分方程式の解法 入力条件がわからない。 答があっているかどうかわからない.. # 答に相当する情報がなかなか得られない # cf. 海の上の気象条件 車のクラッシュ 以前は、計算に半年位かかった # 壊れる前の計算は楽。しかし壊れ初めてからの計算は大変 最近は計算は速い ( 数日.. ) 自動車のデータをメッシュに切って、計算機に入れらられるようにする時間に一月かかる 場所によって、細かくする データが途中で、切れていないかどうかを判定する # 500 万メッシュ # メッシュが正しいかどうかに一番時間がかかる。 正方形の板に丸い穴を作って、折る => 穴の直径の先が折れることが予想できる 折れそうな部分のメッシュを細かくする必要がある 正しい計算をするには、正しいメッシュを切る必要がある メッシュのきりかたが正しいかどうかも問題 # メッシュが切れれば偏微分方程式は半分とけるたもの # 答が判っていれば、正しいメッシュも切れるのだが.. # cf. ピボット選択 : 答が判っていれば、正しい選択が得られる 数値計算の一般的な傾向として... 答が判っていれば、最適な選択ができる例が多い == おもいがけない数値計算の結果とは.. ? # 「正しい答」は、「後から見れば「当たリ前」...」 ## 普通は、変な結果は計算ミスなのだが.. ### 変な結果でも、理屈が通れば「新しい結果」と言える cf. リニアモーターカー うかせてある cf. 新幹線のパンタグラフ / ハードディスクのヘッド # 摩擦を減らして、高速に運動させるため 安定化のための装置を作った 地震がおきたらどうなる ? リニアモーターカーが通ると寧ろ橋桁が安定する !! ! 良く考えてみると.. モーターカー自身だけでなく橋桁も安定させる装置に.. cf. 電車システム 電車自身は実は発電機として動く # 発進はモーター、停止は発電機として動く システムが安定するのは ? => 満員ラッシュの時 !! 不安定なのは、始発と終電時間 ! 良く考えてみると.. 電気は負荷がないと不安定になる # 発電気ばっかりのシステムは不安定 == [微分方程式の例] 防災研究所の DVD ( 阪神、淡路地震 ) シミュレーションだけでは駄目で、きちんと測定(実験)を行う必要がある 家(本物の建物)が載せられる振動台 実験時間はみじかい 本物を台の上に載せる時間の方が大変 津波の方程式 深いほど速い 地形データの影響により、色々な現象がおきる 波の回折現象など # 波をみていると、海底の地形が解る 津波の波は周期が長い 水そのものが移動する ( 普通の波は水が同じ場所をいったりきたり.. ) (数値計算の結果..) 遠い所の地震からの津波の予測はできるようになってきている 近い所の地震が原因だとどうにもならない..