2000年的时候,那位陈同学读高一。他写的程序现在再来运行,我都要采用兼容模式+下载DLL文件了。这是他当年找出了一个可以运行1.3亿步的三恒星系统,初始条件如下:
3, 0.01 , 1e10 , 1000
1,-0.1,-0.2,0,0.2,-0.07,0, 0.1,1,0,0,0,0.7,0, 0.2,0,1,0,-1,0,0
第一行: k, step, Tlimit, split
後面k行: m, x, y, z, vx, vy, vz
k代表星體個數,step代表畫點的間隔時間(建議 0.01)。Tlimit代表強制停止的時間,如果你不想使用這個功能,通常可以設定為一個很大的數字(例如 1e100)。split代表在一個 step之中要進行幾次運算,越大就越精確(建議 1000)。程式碼(見報告本文)中的Tstep其實就是step/split。
後面k行的資料分別代表那k個星體的初始狀態。m是質量, x y z是位置的三個分量, vx vy vz是速度的三個分量。
当年需要计算20分钟的图,现在20s都不到了。
|