6.2.3 heat1d.html


<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 &gt 0, 0 &lt x &lt 1)</TD>
</TR>

<TR>
<TD>u(0,t) = A , u(1,t) = B </TD>
<TD>(t &gt 0)</TD>
</TR>

<TR>
<TD>u(x,0) = f(x) </TD>
<TD>(0 <U>&lt</U> x <U>&lt</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 &gt 0, 0 &lt x &lt 1)</TD>
</TR>

<TR>
<TD>u<sub>x</sub>(0,t) = A , u<sub>x</sub>(1,t) = B </TD>
<TD>(t &gt 0)</TD>
</TR>

<TR>
<TD>u(x,0) = f(x) </TD>
<TD>(0 <U>&lt</U> x <U>&lt</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>
 



桂田 祐史