• 締切済み

Navier-Stokes方程式の数値解法について

N-S方程式の数値解法についての質問です.時間進行に粘性項に Crank-Nicolson法,移流項にAdams-Bashforth法を導入し,円筒座標系N-S方程式をSMAC法またはFractional Step 法で解く際,nとn+1の中間速度は画像のようになると思います.この中間速度を,Gauss-Seidel法かSOR法を使い反復計算を行い求めたいのですが具体的にどのような計算をすればいいのかよくわかりません.また,Fractional Step 法を用いる際は,この段階では圧力項ははずして計算すればよいのですか. 詳しく教えて頂けたら幸いです.ご回答宜しくお願いします.

みんなの回答

回答No.5

ガウスについてもsorについても手計算されるつもりですか? 演算処理のためのプログラムがあると思いますがそちらをもちいらなければ無理だと思います 圧力項に関してはどの段階についての質問かわかりかねますのでお答えできません、すいません

関連するQ&A

  • 連立一次方程式の解法プログラム

    数値解析で A(3,3)、B(3)、X(3)としたときに AX=B の計算でXを求めたいのですが Aの対角項が0なのでLapackやGaussの消去法が使えません 何か有効な数値計算法を教えていただきたいです。お願いします。

  • 偏微分方程式の数値解法

    偏微分方程式の込み入った質問です。 2次元(x,y)の空間で2つの関数f(x,y),g(x,y)を考えます。 そこで、それぞれにラプラス方程式を立てました。 fxx+fyy = 0  (1) gxx+gyy = 0 (2) です。これは境界値問題で、差分式からSOR法を使って収束計算によって数値解を求めることができます。f, gはそれぞれ独立という形にはなります。 そこにもう1つ式が出てきました。 fxfy + gxgy = 0 (3) というものです。f,gをx,yで1回微分してできる式です。 都合3つの式が出てきました。 この数値解を求めるにはどのような方法があるでしょうか。 数値解ですから近似解です。 3つ目の拘束条件の下でのラプラス方程式とみると、ペナルティ関数とかラグランジュの未定係数法とかいろいろあるかもなと思いますが。 3つ目の式は完全に満たすというより、できるだけ満足するようにしたいというものです。 よろしくお願いします。

  • SOR法による差分方程式の解法

    プログラミングのカテゴリーか少し悩んだのですが、 物理関係で差分方程式を解いている人が多いかと思い、 こちらで質問させて頂きます。 解きたいのは、2Dポアソン方程式です。(1Dでも構いません) 微分方程式を差分化してSOR法を使用します。 SOR法は若干ながらメッシュサイズ、加速係数に 解(ポテンシャル形状)が依存します。 しかし、できるだけこういった条件に依存せずに、 正確な解を得たいです。 より安定に正しい(メッシュサイズなどに依存しない)解が得られる 方法など、SOR法について何かご存知の方、何でも構いませんので、 ご教授のほど宜しくお願いします。 又、複雑な構造(ダブルHEMT構造、局所的に高ドープなど)でも、計算を 収束し易くする方法など、何かありましたらアドバイスをお願いします。

  • 非線形偏微分方程式の数値解法(差分法)について

    非線形偏微分方程式(具体的にはKdV方程式)を数値的に解こうとしていますが、 式の立て方が分かりません。 漸化式のように次々と値を求めていけば良いのは分かるのですが、 Web上にある差分法の解説はどれも移流方程式のような、1階の微分方程式を例に上げたものあばかりで、KdV方程式のように3階微分が入った場合、どのようにそれを応用すれば良いのでしょうか。 例えば、Lax-Wendroff scheme( http://en.wikipedia.org/wiki/Lax–Wendroff_method ) を用いてKdV方程式を解く場合、どのような式で計算すれば良いのでしょうか。 ご存知の方がいらっしゃれば教えてください。

  • 流体解析(ナビエ・ストークスでベナール対流の非定常解析)について

    連続の式,Navier-Storksとエネルギー方程式をHSMAC法にてベナール対流の非定常解析をしていますが、困っています。二次元、縦横比8:1の長方形領域にて、左の加熱面付近が”振動”しているようなのです。これが原因で非対称となり、時間が発展すると渦が奇数個になってしまいます。離散化はEular陽解法、移流項は一次風上差分、拡散項は中心差分を行っています。2次元の移流拡散方程式(移流項は中心差分)の安定条件は満たすようにDTを決めています。どうればよいでしょうか。

  • ラプラス方程式の解法(情報処理として)と共役勾配法

    情報処理の数学はカテゴリ違いかもしれませんが、適当なところを見出せませんでしたので。 (以下、長文で申し訳ありません。) ラプラス方程式やポアソン方程式の境界値問題を解く方法にSOR法が あります。これは連立一次方程式の反復解法の1つだとも言えると思い ます。連立一次方程式の解法は通常AX=BとなってマトリックスAと既知 ベクトルBに対して未知ベクトルXを解くわけですが、ラプラス方程式 をSOR法で解く場合、AX=Bという形にはしません(そういう風に表現 はできますが)。例えば2次元を考えると100×100の2次元の領域を解く 場合、未知数は10000個です。これをAX=Bという風に考えたら、10000元 連立一次方程式を解くことになり、A(10000,10000)のようにメモリ確保 も大変ですが、実際にはそのように解きませんね。マトリックスAとい うメモリの取り方をしないのです。 100×100の格子領域でSOR法で解くとプログラムステップとしては数十 行ぐらいとなり、大したことはありませんね。 しかし、情報処理の連立一次方程式の解法の本を見ると、それはあくま でも連立1次方程式があった場合ということを前提としているのでその ようなメモリの確保から解説がスタートするようです。 そこで質問ですが、ラプラスやポアソン方程式を(前処理付)共役勾配 法などで解く場合、メモリ確保の前提条件としては連立一次方程式の形 ではないはずです。本を見るとマトリックス解法としての共役勾配法が 出ていますが、ラプラス方程式、ポアソン方程式の特化して解説してい る本などないでしょうか。また、簡単に説明できるのであれば教えて頂 きたいのですが。

  • ナビエストークス方程式中の表面張力項について

    初めて質問させてもらいまっす。 さて、非圧縮性流れの運動量保存式であるナビエストークス方程式中の表面張力項についての質問です。 この表面張力項は、(表面張力係数)*(曲率)*(界面法線方向ベクトル) / (密度) として定義されておりますよね。。 速度の時間微分項の次元はm/s^2に対して、表面張力項の次元がm^2/s^2になってしまいます。ここで示した表面張力項の記述が間違っているんでしょうか?それとも私の勘違いでしょうか?表面張力係数の次元はkg/s^2、曲率は1/m、法線ベクトルは無次元、密度はkg/m^3として計算しました。おそらく私の勘違いだと思いますが、どなたか、 お返事待ってます。

  • 数値計算における格子間隔⊿xと時間刻み⊿tについて

    ある波形の移流方程式を解く際に⊿xと⊿tの設定の仕方について疑問に思ったことがあるので 質問させて下さい。 ⊿tを小さくとった場合、波の速度にもよりますが1step当たりで進む距離は非常に小さなものとなると思います。 ここで、もし⊿xが比較的大きな場合、1step当たりでの移動量は1格子分の移動距離に届かず、 ある位置にあった波形は、次のstepにおいても同じ位置にあるという結果が得られると思うのですが、この場合、計算stepが進むにつれて正しく波形の移動は計算されるのでしょうか? step=2,3.4....と進んでも前の位置と同じという結果になり、元の位置から移動しないという結果にはならないのでしょうか? よろしくお願いします。

  • 移流拡散方程式の微分が含まれていない解を教えて下さい。

    移流拡散方程式の微分が含まれていない解を教えて下さい。 土壌中の化学物質量が、時間tが経過するとともに土壌深度xにむかって拡散、移流するのを考えています。 エクセルでどんな風に変化するのかをみたくて、 まずは拡散方程式の基本解p(x,t)=(1/√4πDt)*EXP(-x^2/4Dt)をt=0-0.1(0.01間隔),x=0.1-1(0.1間隔)で計算してみたところ、時間経過とともに拡散するグラフがかけました。 次に移流を追加してみようと、移流方程式の基本解を調べてみたもののよくわからず、 移流の式?p(x,t)=x+tをp(x,t)=(1/√4πDt)*EXP(-x^2/4Dt)に加えてみましたが、全然うまく行きません。 そして、差分法の近似解で二つを足して求めてみましたがこれもうまくいきません。 移流によってピークがどんどん深い方向に現れるはずなのですが、ピークの深度が変わりません。 直接足せばいいというわけではないのですか? (p(x,t)=(1/√4πDt)*EXP(-x^2/4Dt)+x+t とか) どなたかエクセルで移流拡散方程式を計算できる方法を教えていただけないでしょうか。 知りたいのはp(x,t)(ある時間、ある深度における化学量)です。 また、私はtを年単位(1年、2年・・・)で計算したいのですが、tを1間隔でやるとすごい数になってしまいます。 tはどうやって設定すればよいのでしょうか。 大変恐縮ですが、お力をお貸しいただければ幸いです。

  • 拡散方程式について

    拡散方程式について、問題を解いているのですが、理解できないところがあります。 A地点からB地点まで物質を流したとき(水中に)B地点での濃度はいくらになるか、という問題です。 U,E,S,W,xの値はわかっていますが、tの値が与えられていません。tはどのようにして求めればいいのでしょうか。移流と拡散なのでAからBまでの距離を速度で割るという考え方は違いますよね? 拡散方程式は C=W/S√4πEt×exp[-(x-Ut)^2/4Et] どなたかわかる方教えてください。よろしくお願いします。