総合演習・実験(プログラム集)


情報科学科総合演習・実験(3年次6学期)で使うプログラムとその解説文です. これは講義資料で, プログラムは情報科学科からのみ見ることができます.

Lorenz Attractor を描画する

Lorenz モデルを解き, そのアトラクタを描画します. 解が Lorenz Attractor に収束して行く様子 output.jpg を数値計算します. こちらを見てください.

Lorenz モデルの解曲線における極大点とその次の極大点の関係

Lorenz モデルにおける解の時間発展において z 座標が極大点になる点の z 座標の値を次々に求めます. そして そのような値と次の値の関係を2次元平面において表します. 結果は, それらが「山」形の1次元グラフ上にのる というものです. 計算結果は この図のようになります. こちらを見てください.

熱方程式を解く

もっともシンプルな放物型方程式である 熱方程式の初期値境界値問題を解き, その結果をグラフに表示します. こちらを見てください. 時間共に温度分布が滑らかに一様化されていく様子が観察されます.

矩形領域における熱方程式の解法

2次元平面における矩形領域における熱の移動を記述する 熱方程式を差分法を用いて解きます. 熱の移動を, 物質の 拡散と考えると拡散方程式とよばれます. こちらを見てください.

Allen-Cahn 方程式を解く

非線形反応拡散方程式の一つである Allen-Cahn 方程式の初期値境界値問題を解き, その結果をグラフに表示します. こちらを見てください. 最初に, なめらかな進行波が現れ, それが一定速度で伝播した 後に境界にぶつかって消えていく様子が観察されます.

Allen-Cahn 方程式(相転移において臨界点でのふるまい)

水やアルコールなどの気体・液体転移において, 温度と圧力によっては 気相と液相が共存する場合があります. Allen-Cahn 方程式の未知関数は, 気相と液相の度合を表します. u=1.0 は気相, u=-1.0 は液相に対応しています. このような共存は常磁性・強磁性体の相転移現象でも見られ, 同じく Allen-Cahn 方程式で記述されます.

最初に, ランダムな初期値から解がなめらかになり, 次第に単純な形になりながら最後に気相または液相の いずれか一方のみが支配的になる過程が見られます. 気相と液相が共存する温度と圧力 (これを臨界点といいます)であるのに, どちらか一方のみが 支配的になるのは不思議ではありませんか? なぜなのか? それは○○だからだ, と説明できますか? これは方程式を数学的にきちんと調べないと答えがでないのです.

プログラムおよびその使い方は こちら をみてください.

Allen-Cahn 方程式の解法(2次元の場合)

2次元平面における矩形領域において Allen-Cahn 方程式を 解きます. 境界条件はNeumann 条件です. 用いるのは陰解差分法で, その結果を俯瞰図で表示したり 真上から見て等高線を表示します. こちらを見てください. これらの等高線の時間発展において, 解がゼロの等高線の動きは 平均曲率流れによって記述されることが知られています. それが具体的にどのような動きなのかを観察してください.

活性因子抑制因子の混合系(Activator-Inhibitor System)

このプログラム ai.c では 活性因子抑制因子の混合系をあらわす反応拡散方程式系を解きます. その結果をグラフに表示するには プログラム demo_ai_gm.c を使います.

活性因子抑制因子の混合系(Activator-Inhibitor System)は 化学, 生化学, 生態学に, しばしば現れるモデルです. たとえば 生態学では, 太陽の光を浴びて自己増殖する植物性プランクトンを 活性因子(activator)とし, それを捕食する動物性プランクトンを 抑制因子(inhibitor)とするとこのモデルとなります. この図 ai.jpg のように 活性因子と抑制因子が共存する領域と, 活性因子が全滅している 領域が交互に並ぶことが観測されます. これは パターン形成(pattern formation)の一例です. 点線は活性因子の密度で, 実線は抑制因子の密度をあらわしています. くわしくは こちらを見てください.
プログラムに間違いやバグまたは改良点などを見つけたら, ぜひ私に知らせてください. そのようなフィードバックを歓迎します.
谷口雅治(Masaharu Taniguchi)