ソースコード

Posted on 5月 3, 2008

GPLの規定に基づき、GPLで公開します。
すべて、Visual Studio C++ 2008 のプロジェクトになっています。
Linuxに移植して、PS3で動かすと面白いかも。SPE最適化は面倒だけれど。
最近では、nVIDIAのGPUベクトルプロセッサが気になるところ。

ブラックホールシミュレーター – データ出力型 Ver.0.7 Up 2009/11/27
[NBodyGravity_0.7_S3.7z]

コンパイル済みプログラムも同封してます。デフォルトでツインブラックホールがでるように設定してあるのでどうぞ。他にあまり面白いことはできません。
銀河シミュレーターと通しバージョン番号にしたのは、将来的に統合しようかなと。

トリロジー銀河シミュレーター – データ出力型 Ver.0.6 Up 2008/08/01
[NBodyGravity-QLP.src.0.6.zip]

マルチスレッド化して、マルチコアCPUでも100%近く回転するようにした。デフォルトで4スレッドだが、適当な数に設定できる。8スレッドでテストしてみたが速度の劣化はほとんどないようだ。ただし、各スレッドに割り当てる計算量は正確に同じではないので完全に100%にはならなかった。まあ、これ以上正確に計算量を等分しても変なロジックになって遅くなりそうだし、これで十分だろう。

トリロジー銀河シミュレーター – データ出力型 Ver.0.5 Up 2008/07/08
[NBodyGravity-QLP.src.0.5.zip]

特殊相対性理論による光速度限定を計算できるようにした。
指定できるオプションを増やした。粒子の初期位置の密集度、運動量平均を指定できるようにした。距離計算方式を選択できるようにした。(あんまり意味ないです)
出力したファイルに、使用したパラメータを保存しておくようにした。そのままコマンドライン引数になっています。バイナリエディタで覗いてください^^;

トリロジー銀河シミュレーター – データ出力型 Ver.0.41 Up 2008/06/15
[gravity-4d-sphere.src.zip]

計算に使用しない無意味なメモリを確保していたバグを修正。
距離計算の変更。実験的な距離計算をしていたものを出していたので、元々の素直な計算方法に戻した。微妙に変わってくる。

トリロジー銀河シミュレーター – データ出力型 Ver.0.4 Up 2008/06/11
[gravity-4d-sphere-v0.4.src.zip]

[3dpplayer.zip] 3DP Player – 表示用プログラム
2008-06-10
上下左右キーで回転
2008-06-02
四元数超球空間のグリッド線を描いてみた。「gキー」を何度か押す。空間のねじれが視覚的にわかる。
2008-06-01
WindowsXP SP3 でファイルを認識しない問題が。ユニコードでコンパイルしたら直ったのでアップ。

[gravity_3d.src.zip] 通常3D空間での重力多体シミュレーション
2008-06-16 Ver.0.1 Up