- ベストアンサー
1次熱伝導方程式を差分法で解く方法は?
- 友達から頼まれて1次熱伝導方程式を差分法で解く方法をC言語で書こうとしていますが、解き方がわかりません。
- 差分法の解析に関する本を見ても理解できる記号が多くて困っています。
- 特に境界条件の設定について迷っているので、どのように設定すればいいのか教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- 1次元熱伝導方程式を差分法で解く
長さL、断面積Aの棒で、 初期温度0度、一端は0度固定でもう一端に熱量Qを与えます。 この時の熱伝導方程式を差分法で解くプログラムを作りたいです。(c言語またはmathematica) 初期条件 t=0のとき温度T=0 と差分法の式(陽解法)はわかったのですが、 熱量Qが与えられたときの境界条件が分からずに困っています。 画像はシミュレーションソフトの結果で、熱量Qを与えた面の温度変化です。 ある時刻で定常状態になることがわかりました。 プログラムの計算結果も同じようになるはずなのですが、どうしたらそうなるのか分からない状態です。 どのようなプログラムを組めばよいでしょうか? プログラムと熱伝導については初心者ですので勉強不足な点も多々あると思いますが、しっかり理解したいと思っております。 教えていただけたら幸いです。よろしくお願いいたします。
- ベストアンサー
- 物理学
- 断面積の違う熱伝導方程式
長さL、断面積S(x)の棒での熱伝導方程式の解が知りたいです。 偏微分の形で構いません。 どの教科書を見ても面積が一定で分かりません。 お願いします!! もし境界条件が必要なら、 T(0,x)=a T(t,L)=a T(t,0)=bt+a でといていただけるとめちゃめちゃありがたいです。
- ベストアンサー
- 物理学
- 1次元熱伝導方程式を差分法で解く
モデルは長さL、断面積Aの直方体で 初期温度0度、一端は0度固定でもう一端に熱量Qを与えます。 この熱伝導方程式を差分法(陽解法)で解くプログラム(c言語またはwolfram)を作りたいのですが、上手くいかなくて困っています。 初期条件はT(i,0)=0 境界条件はT(n,j)=0 ←0度固定 T(1,j)=Q*dt/(m*c*dx*A) 差分法の式 T[i][j+1]=T[i][j]+0.5*(T[i+1][j]+T[i-1][j]-2*T[i][j]); としてfor文で計算させたのですが、いずれ温度が定常状態になるはずが無限に上がり続けてしまいます。 どのようなプログラムを書けば正しく計算できるのでしょうか? 独学で教科書をみながらやっているため気軽に質問できる方が近くにいないためこちらで質問させて頂きました。 なにかアドバイス頂けたら幸いです。 よろしくお願いいたします。
- ベストアンサー
- 物理学
- この熱伝導方程式を教えて下さい
棒があって、両端0というよくあるやつです。 よく見るのは棒の長さl、端を原点としてu(0,t)=u(l,t)=0の条件でフーリエ級数を使って解くやつです。 ただ、ここでは棒の長さが2lで原点が真ん中として少しひねってあるんです。 困っています。お願いいたします。
- ベストアンサー
- 数学・算数
- 差分法
単振動の運動方程式 x"+x=0 を差分法で解こうと思っています。 おそらく差分方程式は、 (x[n+1]-2x[n]+u[n-1])/dt^2=u[n] で良いと思われるのですが(違ってたら指摘してください)、初期条件 x(t=0)=aとx'(t=0)=b の与え方が良く分かりません。 また、sin(ωt)の強制振動を与えたときの差分方程式はどのようになるのでしょうか? よろしくお願いします。
- ベストアンサー
- その他(学問・教育)
- 波動方程式の差分法による境界条件
波動方程式(ρ*∂^2u/∂t^2=T*∂u^2/∂x^2)を差分法で、境界条件をx=0とx=Lで自由条件(T*∂u/∂x=0)とした場合を考えています。 上の波動方程式を差分化すると、 (u[n+1][j]-2*u[n][j]+u[n-1][j])/(dt^2)=(u[n][j+1]-2*u[n][j]+u[n][j-1])/(dx^2) の形になると思います。(T/ρ=1.0とし、nは時間、jは距離の格子点として考えています) 初期条件は適当な形状を与えます。 両端を固定条件(u[n][0]=0,u[n][xp]=0,)とした場合はうまく解を得ることが出来ました。(xpはx=Lでの格子点) 問題は自由条件(T*∂u/∂x=0)すなわち、 T*(u[n][1]-u[n][0])/dx=0、T*(u[n][xp+1]-u[n][xp])/dx=0 となる場合、これをどのように使用したらよいのでしょうか? または根本的に考え方が間違っているのでしょうか? 本当に困ってます。よろしくお願いいたします。 内容が不十分の場合は補足要求お願いします。
- ベストアンサー
- その他(学問・教育)
- 熱伝導方程式を差分法で解くプログラム
前回熱伝導方程式の差分法の解き方について質問させて頂いたものです。 https://sp.okwave.jp/qa/q9363032.html 回答ありがとうございました。おかげさまで差分法で解くプログラムを書くことができました。 書けたのは良いのですが、間違っている可能性が大きいです。 私の考えでは、安定性条件を満たしていれば dt,dxを小さくすればするほど、収束温度は変わらず計算精度が高くなっていくと思ったのですが、 私の書いたプログラムではdxdtの値を変えると収束温度まで変わってしまいます。 プログラムに関しても初心者なので説明が難しいのですが、やはり収束温度が値によって変わるということはプログラムがどこか間違っているということでしょうか。 度々すみませんが、回答いただけるとありがたいです。よろしくお願いいたします。
- 締切済み
- 物理学
- 印刷時は発生しないが、コピーすると黒い線が出て困っています。読み取り部を拭いても改善されません。
- Windows10で使用しており、無線LANで接続しています。
- 関連するソフトやアプリはありませんが、電話回線はISDNを使用しています。