1.1 なぜこの文書を書くのか

この文書の目的は

なるべく色々なプログラミング環境向けに、
空間1次元熱方程式のシミュレーション用のサンプル・プログラムを示す
というものである。


私の卒研では、 学部の卒研のテーマとして、 熱方程式あるいはそれに類する方程式の数値計算を取り上げることが多かった (大昔の話をしているような気がする)。

最初は

菊地文雄、山本昌宏、微分方程式と計算機演習、山海堂 (1991)
という本を片手に素朴に始め、 そのうちノウハウを蓄積するため、 得られた知識を卒研ノートとして書き足して行くことになった。

結構色々なことをやって、それなりに実りのある卒研だったが、 そろそろ熱方程式はやめようかとも考えている (気になっている問題がいくつかあるので、 それは解決したいと思っているが)。 やめるにあたってこれまでに得たものをまとめるべく、 卒研ノートなどを見返していて気づいたのだが、 「実際にどうやって熱方程式のシミュレーションを行うか」 初心者に分かりやすい解説がない、ということである。

実は「熱方程式を解きたいのだが、どうすれば良いでしょう」という質問を 受けたことが何度かあるのだが、 そういうことに慣れていない人には実際上無理、となりがちである。

卒研では、 ほとんどのプログラムは C で書かれた (ごく一部が Java で書かれた)。 C 言語の規格にはグラフィックスが含まれていないため、 可視化するためには何かグラフィックス・ライブラリィを利用することになるが、 この手続きが現在の「普通の人達」にとっては敷居が高くなってしまっている、 ということである。

ところで、頭を冷やして、現在のパソコンを取り巻く状況を考えると、 色々やりようはありそうだ、と気づいた。

具体的には次の3点に注目。

  1. (仮称)十進BASIC という便利なものがある。
  2. Windows, Mac, UNIX (Linux1も含めて) すべてで OpenGL+GLUT が使える。
  3. Windows 上の UNIX 互換環境 Cygwin の完成度が上がっているので、 Cygwin+GLSC も十分奨められる。

そこでこれらを含む 色々なプログラミング環境向けのサンプル・プログラムを提示する。



桂田 祐史