2008年2月8日星期五

软件进展(二零零八年二月)

构思大概市在二月四日开始的,二月五日放下了第一块砖。
二月七日完成了 NET 系综 AllPair 的程序,进行了测试。
二月八日上午找到了一个Bug(没使用边条件),下午开始写基于 Cell 的 Neighbor List。
二月九日 Debug(不要使用 Exclude list,Neighbor List 在 rebuild 之前有清除),完成 Neighbor List。
二月十一日 将PairFinder的接口修改为返回邻居表。
二月十二日 考虑电场力
二月十三日 写完了对偶空间势能部分,编译通过,没有调试。发现计算压强非常麻烦,接口定义不合理,恐怕得重来一些东西了。。。
二月十四十五十八日,终于调通了程序,至少\beta变化不会造成势能变化。经过两次努力,计算量由3.5s->1.5s->0.03s。第一次是交换了循环顺序,把对粒子的那一重放到了最外面。第二次是弄了一个快速循环,把无用的循环都抛弃掉了,计算量由 K^3 -> (2p)^3,其中2p是插值函数的支集的长度,当2p比K较小时收益明显。实际上,2p是6,一般是远小于K的,特别是三次方以后。不好的地方是这段代码有二百一十行。。。
二月二十八日 写了算力的程序,调通后发现计算耗时是Espresso的60倍。。。太崩溃了
二月二十九日 找到了计算量大的原因,在于每计算一个力都要做Fourier Transform。找到了解决方法。看来预研做的不充分啊。。。
三月一日二日 重新写了算力的部分。但是发现力算的不对,找了半天错误,发现其实误差是在允许范围之内的,崩溃。。。

2 条评论:

zyc 's world 说...

做什么用的软件?

Cadmus 说...

for molecular dynamics simulation