第一回
2002/10/07
『シミュレーション概論』 講義メモ No.1 (10/7)
1.使用するシステムについて (A303演習室の制約)
・ パソコン
Windows2000
WEB利用: 講義ノート,各種連絡
電子メール: 個人的指示/レポート提出,質問など
プログラミング: Visual Fortran,Visual C++
エディタ: 「メモ帳」「NotePad」
Linux
・ UNIXワークステーション(別に申し込みが必要)
Windows2000 から telnet利用
ws24.ipse.media.kyoto-u.ac.jp
エディタ: Mule
Fortran90利用可。
Fortran,telnet,ftp等の利用については → 『計算理学基礎論』講義資料
<プログラミング言語の特徴>
Fortran コンピュータがブラックボックスであった時代に開発された一般ユーザ用の言語で,もっとも歴史が長い。「数式をそのまま書ける(Formula Translator)」形に設計されていて数値解析に最適で,多くの数学関数やサブルーチンがライブラリパッケージとして蓄積されている。現在でもスーパーコンピュータや並列計算機を駆使した大がかりな計算やシミュレーションには主としてFortranが用いられる。グラフィックスが困難(一般的には別のパッケージが必要)
C,C++ メインメモリやグラフィックスなどハードウェアを直接操作することによりコンピュータの特性をフルに生かしたプログラミングが可能で,効率的かつ多彩なデータ処理ができる。グラフィックスも標準で可能。
VBA マイクロソフトExcelに装備されたVisual Basicの簡易版であり,数値計算結果を直ちにグラフ表示できるから使いこなすと便利。「Excelで学ぶ流体力学」なんて本も出ている。
この講義で扱うレベルの数値計算では,いずれの言語でも大差はない。
2.計算機シミュレーションとは?
・ 計算機の大量/高速数値データ・画像処理能力を有効利用した模擬実験
・ どのような場合にシミュレーションが必要/有効か?
a 実験が困難あるいは不可能な場合
例 原子炉の破壊限界や核爆発
航空機や船舶の設計 『風洞実験』(模型実験)
地球/宇宙規模の自然現象 例地球シミュレータセンター
b 複雑な現象の中の本質的な要因を抽出したいとき
→ 純化した理想的理論モデルで実験してみる。
自然科学・社会科学を問わず広く普及してきた探究方法
c シミュレーションでしか解明し得なかった法則性もある。
例 予知不可能な決定論的運動(後述)
d 直観的理解を得るためのデモンストレーション教材
3.計算機シミュレーションの実行
1) 何を知りたいか,明らかにしたいか?
2) シミュレーションしか方法がないのか?
3) 計算全体の設計
4) 計算の各過程のアルゴリズムの検討
5) プログラミング
6) 試行と実行
7) 結果の表示
8) 解析・吟味/再実行
実践の前に身につけておかなければならない基礎知識 = この講義の主要テーマ
− 課題が目の前に迫ってくると,こんなことカッタるくってやってられなくなる! −
@計算機の特性(限界)を知ること
・占有メモリと計算時間の節約: 計算の規模に関係
・ディジタル計算機特有の誤差: 計算結果の信頼性
A数値計算の基礎
シミュレーションでは数値解析を避けることはできない。
基本的な計算要素のアルゴリズム
(付)力学運動の決定論性と予知不能性
ニュートンの運動方程式: dx/dt = p/m ,dp/dt = F(x,p)
は,運動状態を表現する位相空間 (x,p) のある状態(点)から時間dt後の状態(点)への写像を与えている。
この,時間をパラメータとする点の集合から集合への写像 L(t)が
L(t1+t2) = L(t1)L(t2)
を満たすとき,一般に「力学系」という。
ある瞬間の状態(点)を与えれば,次の瞬間,その次の瞬間...と,その後の運動状態は未来永劫に一意的に決定される。(力学過程の決定論性)
例 dx/dt = p , dp/dt = -x → x(t) = x0cos t + p0sin t , p(t) = -x0sin t + p0cos t
これで,t秒後の運動状態は直ちにわかる(=予知できる)。
力学の教科書: 『次の運動方程式(微分方程式)の解を求めなさい。』
実は,この世の中の運動を表す微分方程式は解を持たない(積分形に書けない)ことの方が一般的なのである。
→ 出発点を与えれば行き先(軌跡)は決定されているにもかかわらず,それがどこであるかを予め知ることは出来ない(予知不能性)。
→ 数値積分して,次の瞬間,その次の瞬間...と微小変化を積み重ねて軌道をたどっていくしかない!
→ 計算機の出番だ! (あとはビデオ・デモンストレーション: ある散逸力学系の例)
実際の運動では,空気の摩擦や風など予測できない要因があるため,厳密に決定論的とはいえない(=確率論的運動)が,いかに単純化・理想化したとしても,この意味での本質的な予知不能性が存在する。→ 超簡単な解説記事 『運動の決定論性と予知不能性』