<html> <title>Heat1D</title> <B>Heat1d_all.java & HeatCanvas_all.java</B> </BR CLEAR = ALL> <applet code="Heat1d_all.class" width =800 height =600> </applet> </BR CLEAR = ALL> BY Haruo Satou & Toshihumi Ooba<BR> special thanks Katsurada teacher<BR> <HR> <U><B><BIG>一次元熱方程式の初期値境界値問題を差分方程式で 解きグラフ化する。</BIG></B></U> <TABLE> <TR><TH>Dirichlet B C の場合</TH><TH></TH></TR> <TR> <TD>u<sub>t</sub> = u <sub>x x</sub> </TD> <TD> (t > 0, 0 < x < 1)</TD> </TR> <TR> <TD>u(0,t) = A , u(1,t) = B </TD> <TD>(t > 0)</TD> </TR> <TR> <TD>u(x,0) = f(x) </TD> <TD>(0 <U><</U> x <U><</U> 1)</TD> </TR> </TABLE> <TABLE> <TR><TH>Neumann B C の場合</TH><TH></TH></TR> <TR> <TD>u<sub>t</sub> = u <sub>x x</sub> </TD> <TD> (t > 0, 0 < x < 1)</TD> </TR> <TR> <TD>u<sub>x</sub>(0,t) = A , u<sub>x</sub>(1,t) = B </TD> <TD>(t > 0)</TD> </TR> <TR> <TD>u(x,0) = f(x) </TD> <TD>(0 <U><</U> x <U><</U> 1)</TD> </TR> </TABLE> </BR CLEAR = ALL> Dirichlet B Cと Neumann B Cの違いは 二行目の式(境界条件)が違うところである。<br> このアップレット(プログラム)では片側がDirichlet で 片側がNeumannと設定することもできる。 <UL> <LI>Neumann & Dirichlet B C ; x=0がNeumann B C, x=1がDirichlet B C <LI>Dirichlet & Neumann B C ; x=0がDirichlet B C, x=1がNeumann B C </UL> その他の変数 <UL> <LI>N: 区間の分割数 <LI>Tmax: 最終時刻 <LI>lambda: λ=τ/h^2 <LI>theta: θ(=0なら陽解法) </UL> <FONT COLOR=RED><B>注意</B></FONT><BR> Animeの機能の有無、また速さをチョイスできるようにしましたが、<BR> 計算によって、(コンピュータの処理速度によって)スピードがまちまちです。<BR> 初めはOFFに設定し、徐々にゆっくりにしていく事を推奨いたします。<BR> (筆者はあまりにも遅くて止まってしまったかと思う実験を<BR> いくつか、経験しました。更に無理矢理、プログラムを中断したら<BR> たまにですがブラウザの動作が不安定になるおまけ付です。)<BR> </html>