波動方程式の数値シミュレーション
clangでQt
GCCに吐かせたQtのプログラムのバイナリだと起きないのに,Clangに吐かせたバイナリを実行するとSIGSEGV(Segmentation fault)するという事態に遭遇した.落ちる箇所は
connect(calc, &WaveCalculator::calcFinished, [=]() { timer->stop(); delete faces; faces = calc->result(); });
他にもシグナルとlambdaをconnect
している箇所はあるのに,ここだけダメだったというのも不思議だ…
まあGCC使うべきなんだろうけど
追記
アプリケーション出力を見ると
QObject::connect: invalid null parameter
というメッセージが,つまりcalc
かnullなのにconnect
使用としてるからだった.直したらClangビルドでも落ちなくなった.自分のミスではあるんだけど,メッセージが出ずに落ちるのはバグ報告したほうがいいんだろうか…
波動方程式の解析解シミュレーション(完)
やったぜ
つらかった
http://nbviewer.ipython.org/gist/yuntan/b904411ca3aa7ffa1922
HTML5による物理シミュレーション 拡散・波動編―JavaScriptライブラリとCanvas 2D Context/Web Workersを使う
- 作者: 遠藤理平
- 出版社/メーカー: カットシステム
- 発売日: 2013/05
- メディア: 単行本
- この商品を含むブログを見る
波動方程式の解析解シミュレーション(未完)
かなりつまづきながらだったができた.
http://nbviewer.ipython.org/gist/yuntan/b904411ca3aa7ffa1922
HTML5による物理シミュレーション 拡散・波動編―JavaScriptライブラリとCanvas 2D Context/Web Workersを使う
- 作者: 遠藤理平
- 出版社/メーカー: カットシステム
- 発売日: 2013/05
- メディア: 単行本
- この商品を含むブログを見る
IPythonでもplotのアニメーションがしたい!
学科の縦断合宿から帰ってきた.とてもエキサイティンな合宿だった(ウェイ大学生並みの感想).
まじめに話すと,神岡鉱山の3施設(SK, KamLAND, CANDLES)を見学させていただいたのだが,施設のスケールとロマンに圧倒された.院生の方とも話せたしどんな研究をなさってるのか知ることができたし,そのなかに特に興味のわく物もあった.見学する施設的に素粒子がメインみたいな合宿だったが,素粒子以外の分野の発表も色々聞かせていただけて,物理学科でも色々な研究テーマに進めるのだと分かった.とてもモチベーションの上がる合宿だった.(ちなみにとてもお金がかかっていたらしい.学科と学部の支援を使い果たゴホッゴホッ)
で,IPythonでプロットというとmatplotlib
だけど,
の方法では速度が出なかった.60fpsとまではいかなくとも30fps程度のアニメーションはしたいなーとうろうろ探していると,素晴らしい物を見つけた.
Embedding Matplotlib Animations in IPython Notebooks
matplotlib
で描画したものを動画にして,それをvideo
タグに埋め込んで使うようだ.このアイデアを使わせてもらおう.
進捗が良くない
進捗が良くない.
あの青い山みたいなのを動かしたいんだけどうまくいかない.
QThread
を使ってデータを更新してやることを考えた.
QThread Class | QtCore 5.3 | Documentation | Qt Project
QThread
を継承したWaveCalculer
を作ってそんなかで計算させることにしたが,データの共有が問題になる.
shared_ptr (C++11) - cpprefjp - C++ Library Reference
shared_ptr
を使ってみた.
なかなか動き出さない.QThread
の使い方が良くないようだ.結局良く分からなかったので,QTimer
で16ms計ってシグナルを飛ばしてもらうことにした.シグナルが飛んだら計算しGLWidget
を更新する.
できた.結構かかった.CPUをすごく食う.1コアまるごと持って行かれる.