• 検索結果がありません。

応用数値解析特論第9回

N/A
N/A
Protected

Academic year: 2024

シェア "応用数値解析特論第9回"

Copied!
33
0
0

読み込み中.... (全文を見る)

全文

準備— 1次元熱方程式の初期値境界値問題に対する差分法 格子点. 熱方程式に対する差分方程式の導出 境界条件に対する差分方程式 差分方程式の行列・ベクトル表記 差分スキームの安定性(あらっぽい説明) 大まかなまとめ. 熱方程式の初期値境界値問題(Dirichlet境界条件)の差分法プログラム 熱方程式に対する有限要素法.

熱方程式に対する前進Euler法 熱方程式に対する後退Euler法 熱方程式に対するθ法 実習課題. 発展系の有限要素解析を説明するため、熱方程式に対する差分法を 超駆け足で解説する(スライドは少し詳しめ). 境界を12本の線分(Gamma1 ∼ Gamma12)に分ければ簡単。境界条件はNeumann 境界条件だけなので、ラベルを使う必要はないだろう。各部分は長さに応じて分割すると 良い.

要点は、空間方向は有限要素近似し、時間方向は差分近似する、というもの. そのため、差分法について大急ぎで説明する. 差分法について、より詳しい解説は、例えば桂田[1], [2]の第1章を見よ.

次の熱方程式の初期値境界値を例題として取り上げる.

差分近似の公式

熱方程式に対する差分方程式の導出

境界条件に対する差分方程式 Dirichlet 境界条件

境界条件に対する差分方程式 Neumann 境界条件

差分方程式の行列・ベクトル表記

差分スキームの安定性 ( あらっぽい説明 )

のような行列Rが存在することが示される。Un= RnU0が成り立つ. であれば、R のスペクトル半径が1 より小さいことが保証され、差分スキーム の安定性が導かれる (例えば桂田 [4] を見よ). 最大値ノルム∥·∥∞ を採用した場合の安定性の条件(離散最大値原理成立条件).

大まかなまとめ

最初に λの値を入力する。初期値のグラフを描いて一時停止する。ウィンドウ . 内で[enter]キーを打って再開。遅いので途中で中断したくなるかも。).

熱方程式に対する有限要素法

  • 解法の方針
  • 熱方程式に対する前進 Euler 法 余談
  • 熱方程式に対する後退 Euler 法
  • 熱方程式に対する θ 法
  • 実習課題
  • その他

時間微分については差分法で近似し、空間微分については有限要素法で近似す る。つまり前節の最後に書いたように、まず. 一応、時刻についての導関数∂u/∂t を前進差分近似した、前進Euler法 についても述べておく. これは私が不勉強なのかもしれないが、この方法を使うプログラムは見 たことがない。差分法の場合と違って陽解法でないので (つまり u n+1 を 求めるのに、結局は連立1次方程式を解く必要がある) メリットがないか らだろうか (と考えている)。安定性を調べるのは意味があるので、数値 実験してみても良いだろう.

まず後退Euler法のプログラムを紹介しよう。弱形式は. ループの制御変数をn (時間ステップの番号)として、problemに ,init=n と書き足すのがミソ。最初は n が 0 であるので init は false、それ以降は n ̸ = 0 であるのでinit はtrue, と指示するのが工夫(そうしないと毎ステップ で行列を再構成してしまう)。連立1次方程式の係数行列が時刻(したがって n) に依らないことに注意しよう. 菊地文雄, 有限要素法概説, サイエンス社のPoisson方程式の問題の非定常版 int i,m=10;.

ばUMFPACKに等しい。それは他の直接法のソルバーが使えない場合はLUに. 反復法の停止則を指定する. 連立1次方程式のアルゴリズムを学んだことがないと、少し分かりにくいかも…). 弱形式の書き方についての文法が詳しく説明されていない(私が探せないだ け??)ので、良く分からないが、int2d(Th)()の括弧内に“複雑な式”を書く と、文法エラーが発生する。エラー・メッセージがとても分かりにくい.

以下に書くことが正しいかは自信がないが、θ法のプログラムを書くときなど、. ひっかっかった場合に参考にしてもらえると良いかも……(頼りない) int2d(Th)(u*v-uold*v)はエラーになる. 熱方程式版の最終結果(t = Tmax)が、Poisson方程式の結果とほぼ同じであるこ とを確認せよ.

指定しないと遅く、指定しないでsolver=CGとすると少し速くなるが、CG法に せず直接法の系統でinit=を指定した方が速い(ようである)。). 実行時間はtimeコマンドで計測できる(time FreeFem++ heatB.edp). 有限要素法の場合は、このような簡単な判定条件は得られないが、θ が1に近い 時、0に近い時、∆tを変えて、安定に計算出来るかどうか試してみる。). 時間発展問題に有限要素法を適用したときの理論的解析について、日本 語で読めるテキストはほとんどない(Poisson方程式の解析より一段以上 高度である).

2] 桂田祐史:熱方程式に対する差分法I —区間における熱方程式—,. 6] 齊藤宣一:熱方程式に対する有限要素法と誤差解析,東大数理科学研究科の「応用数 理特別講義III」(2004 June)の講義ノートの縮小版.今は公開していないみたい.保 存してある(2006年3月29日).

参照

関連したドキュメント

メモ : solve と problem にかかわるパラメーター FreeFem++ドキュメンテーションの§3.3.13 Hecht [5]から。 solver=にはLU, CG, Crout, Cholesky, GMRES, sparsesolver, UMFPACKが指定 できる最初の5つはアルゴリズムの名前,説明省略。

汎関数の最小問題 (あるいはより一般に極値問題) を変分問題 (variational problem) と呼び、変分問題を扱うのが変分法 (calculus of

汎関数の最小問題 (あるいはより一般に極値問題) を変分問題 (variational problem) と呼び、変分問題を扱うのが変分法 (calculus of

このように、局所的な ( 要素の ) 情報から方程式を組み立てる操作を直接剛性法 (direct stiffness method) という。. ( 参考情報

このように、局所的な ( 要素の ) 情報から方程式を組み立てる操作を直接剛性法 (direct stiffness method) という。. ( 参考情報

make test1 naive の動作確認 (辺を 2,4,8 分割したときの有限要素解の数値データ) make test2 band の動作確認 (辺を 2,4,8 分割したときの有限要素解の数値データ) make

make test1 naive の動作確認 (辺を 2,4,8 分割したときの有限要素解の数値データ) make test2 band の動作確認 (辺を 2,4,8 分割したときの有限要素解の数値データ) make

レポート課題 B