9月の終わり頃, データの整理をしていたら, 大学院時代に作成した粒子法のシミュレーション動画が出てきた.
初めて粒子法のプログラムを作ったときは、青子守歌さんのダムブレークシミュレーションの動画を見ながら, 『自分のプログラムで動かしてみたい!』ってモチベーションを維持してたのを思い出した.
あれから3年近く経ったけど, (自作プログラムの)粒子法動画ってあまり増えてなかったから, ニコニコ動画にアップロードしてみた.
ついでに差分法で計算したK-H/R-T不安定性のシミュレーション動画もアップロードした.
昔のデータが出てきて当時のプログラムを眺めてたら, 『やっぱり数値計算面白い!』って改めて思った.
粒子法で翼まわりの流れをシミュレーションするのを目標に勉強し直そうと思う.
2013年10月19日土曜日
2013年9月21日土曜日
Tcl/Tkを初めて触った
HDD内のファイルを整理していたら, 大学/大学院時代に作成した数値計算のプログラムを見つけた. 懐かしくなってソースを眺めていたら, 数値計算したいという思いが湧き上がってきた.
当時のプログラムは, 主にC言語で記述してあり, 計算結果をGnuplotで可視化する代物なのだが, 初期値や条件を ソース内にベタ書きしてあるせいで, 値を変更すると再コンパイルが必要だった. さすがにこのままだと不便なので, まずはこの改良から取り掛かることにした.
改良の方針は以下のようにした.
そこで, 今回は以下の条件で自分に合った言語を見つけることにした.
しかし, インストールからHello Worldまでやってみたところで, お手軽にGUIを表示させられることを実感した. その時のメモを残しておく.
次は, C言語との連携にチャレンジ.
当時のプログラムは, 主にC言語で記述してあり, 計算結果をGnuplotで可視化する代物なのだが, 初期値や条件を ソース内にベタ書きしてあるせいで, 値を変更すると再コンパイルが必要だった. さすがにこのままだと不便なので, まずはこの改良から取り掛かることにした.
改良の方針は以下のようにした.
- 初期値/各種条件の入力フォームを作成
- 物理量/数値誤差の表示欄を作成
- その他ログの表示欄を作成
- グラフ等の可視化は, Gnuplotで
- 【課題】OpenMPで並列化(主に逆行列ソルバー部分)
そこで, 今回は以下の条件で自分に合った言語を見つけることにした.
- マルチプラットフォーム対応
- C言語と連携が可能
- コーディングが簡単
しかし, インストールからHello Worldまでやってみたところで, お手軽にGUIを表示させられることを実感した. その時のメモを残しておく.
Tcl/Tkのインストール
mingw-getでインストール.$ mingw-get update $ mingw-get install mingw32-tcl mingw32-tk
Tcl/TkでHello World
適当に.wm title . "Hello World" wm geometry . "480x240" label .label -text "Hello, World! with Tcl/Tk." pack .label -side top -anchor w
Tcl/Tkスクリプトの実行
Tcl/Tkは, 「wish」コマンドを使うそうだ.$ wish ./hello.tcl
実行結果
でた!次は, C言語との連携にチャレンジ.
ラベル:
MinGW/msys,
Tcl/Tk,
数値計算
登録:
投稿 (Atom)
