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

応用数値解析特論 第 11 回

N/A
N/A
Protected

Academic year: 2025

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

Copied!
48
0
0

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

全文

定常Navier-Stokes方程式に対するNewton法 例題プログラムの紹介. Stokes 方程式を有限要素法で解いてみよう.

領域とその三角形分割

Bebは(x,y) = (Lt,R) (t∈[0,1])と書いても同じことであるが、FreeFem++ では t について等分することを想定してプログラムを書いたため、この式を採 用しているのであろう。(こういう工夫が実際に効果があるのかどうかは分から ない。). では t について等分することを想定してプログラムを書いたため、この式を採 用しているのであろう。(こういう工夫が実際に効果があるのかどうかは分から ない。).

方程式

このプログラムが解く問題の方程式は(境界条件が、マニュアルにも、プログラムの注 釈にも明記されていないが(真面目にやってほしい)…)、多分、次のものである. 判断の根拠: 1というラベルをつけたΓ1でδu=0としていることから、そこでDirichlet 境界条件をつけているのだろう。Newton法の初期値u0は. 1e)は自然境界条件である(弱形式にはexplicitに現れない— Poisson方程式の問題 における同次Neumann境界条件のようなもの). 一様流(U:= (1,0)⊤)の中に置かれた円柱の周りの流れを求めよという問題である. 15「もう1つの弱形式」と類似点が多い。見比べてみよう.

このプログラムが解く問題の方程式は(境界条件が、マニュアルにも、プログラムの注 釈にも明記されていないが(真面目にやってほしい)…)、多分、次のものである. 判断の根拠: 1というラベルをつけたΓ1でδu=0としていることから、そこでDirichlet 境界条件をつけているのだろう。Newton法の初期値u0は. 1e)は自然境界条件である(弱形式にはexplicitに現れない— Poisson方程式の問題 における同次Neumann境界条件のようなもの).

問題点と対処の方針

問題になることと、それへの対処について、次の2点を指摘しておく. a) Navier-Stokes方程式は非線形方程式であるので、一度に解を求めるのが難しい. Newton法を用いて解くことにする(反復計算で近似解を求める). b) 動粘性係数ν=2001 は素朴な数値計算にとっては、かなり小さい(“円柱”の直径1 であるから、これを代表的な長さ、∥U∥= 1を代表的な速さに選ぶと、νの逆数が Reynolds数Re に相当するので、Re = 200ということになり、これが実はかなり 大きい、ということである)。Newton法の初期値は真の解に十分近いものを選ばな いと、反復が収束しないかもしれない。そのため、大きめのνについての解を求 め、それを小さいν の問題のNewton法の初期値とすることで、解きたいνに近づ いていく. Reynolds数の説明をうっかり飛ばしていた. Navier-Stokes方程式の無次元化と Reynolds数」. 問題になることと、それへの対処について、次の2点を指摘しておく. a) Navier-Stokes方程式は非線形方程式であるので、一度に解を求めるのが難しい. Newton法を用いて解くことにする(反復計算で近似解を求める). b) 動粘性係数ν=2001 は素朴な数値計算にとっては、かなり小さい(“円柱”の直径1 であるから、これを代表的な長さ、∥U∥= 1を代表的な速さに選ぶと、νの逆数が Reynolds数Re に相当するので、Re = 200ということになり、これが実はかなり 大きい、ということである)。Newton法の初期値は真の解に十分近いものを選ばな いと、反復が収束しないかもしれない。そのため、大きめのνについての解を求 め、それを小さいν の問題のNewton法の初期値とすることで、解きたいνに近づ いていく.

Reynolds数の説明をうっかり飛ばしていた.

Newton 法の復習

方程式f(u) = 0の近似解を求めるためのNewton法とは、まず適当な初期値u0を選 び、漸化式. により{ui}を定め、十分大きなi に対して、ui を近似解に採用する、というものである.

Newton 反復の弱形式

Newton 反復の弱形式 ( 続き )

プログラム中の弱形式解読

これは∇u を4次元ベクトルにしたものである. 注 FreeFem++では、’は転置を表す(MATLABでも使われる、古い記法の利用). これは∇u を4次元ベクトルにしたものである。これから.

プログラム中の弱形式解読 ( 続き )

初期値の選択

を Newton法の初期値としてNavier-Stokes方程式の解を求め、それをνを小さくした Navier-Stokes方程式に対するNewton法の初期値としている. 200 の場合のNavier-Stokes方程式の解を求めている. Newton法の収束が早ければ、νをより速く小さくしたり、Newton法が収束しなけれ.

それが筋が通ったものであるか、私には分からない。「そこまでやるか」と感心する気 持ちがある。こういうプログラムを公開してもらえるのは、大変ありがたいことである.

余談 : Oseen 方程式

Oseen方程式は、Navier-Stokes方程式を一様な定常流において線形近似したものであ. Stokes方程式は非線形項を落とした(u= 0において線形近似)). の採用が考えられる。この方程式が普通Oseen方程式と呼ばれる(と私は習った).

Oseen近似”という検索語でヒットした玉田[3]は、Oseen方程式が研究された経緯 が分かる解説であると私は感じた。ネットで読めるので興味があれば読んでみよう.

参照

関連したドキュメント

6.3 有限要素解を求めるプログラム naive, band の理解 naive, bandは上の形式の入力データから、有限要素解を計算するプログラム。 両者は同じ計算を行う。連立1次方程式の係数行列が帯行列band matrixであるこ とを利用して、計算の効率化の工夫をしたのがbandで、それをしないのがnaiveである。

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

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

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

Th をメッシュとするとき、 Th.nt は三角形の数 (the number of triangles) 、 Th.nv は節点の数 (the number of vertices) である。. Th(i) は i 番目の節点 (i =

PDF ファイル名 AC05 0610.pdf のところを mp4/AC05 1.mp4 に置き換える と、動画資料の URL になる (以下は 2, 3, · · · と連番)。全部視聴すると 88

[r]

変数宣言の文法もC言語と同様。型名の後に,で区切った名前のリストを書く。 関数呼び出しの文法もC言語と同様。 ブロックは{と}で複数0個以上の文を囲んで作る。 比較演算子==, !=, =、論理演算子&&, ||, !、if, if elseなどの制 御構造。 ただしswitchはない。 for, whileなどの繰り返し制御。break ループを抜ける,