模拟

最近由于有一项实验观察结果想要justify一下,不知不觉地做成了模拟,或者说是计算机实验。意识到这一点的时候,我已经花了很大的工夫做“重新发现轮子”的事情,这一方面令人懊恼,浪费了这么多时间;另一方面发现我想半天走向的方向跟实际已经成为常识的方向是相近的。例如,我根据直觉写出来的位置更新式子是欧拉方法,结果发现很不稳定(当时我连这属于“不稳定”都不懂,觉得这体系怎么“一惊一乍”的),查了半天发现,好像这计算第i+1步的位移不仅需要第i步的信息,最好还知道第i-1、i-2步的信息。但当时我也没敢这么弄,因为从来没听说“牛顿第二定律还有记忆效应”。后来发现做模拟至少得用个Verlet算法,它就是一种要考虑第i和第i-1步的方法,这不是说牛顿第二定律有记忆效应,而是对离散化导致的误差进行一种修正。

其实这都是属于可笑的,认真学一次分子动力学就是了。我还知道如果要学去看Frenkel的书最经典。只是目前我要做的问题不是统计热力学问题,更像一个牛顿力学的轨道预测,只是因为有布朗运动和多体作用需要利用到随机微分方程。把整个MD学懂去做这个有点杀鸡用牛刀。有时候,我觉得一些大学网站上放的课件,能够更加快速地学到一些常识,直接解决手头上的问题。当你需要特别工具主义地学习时更适用。例如,这里是一个朗之万动力学的PPT(这个PPT模板我还挺喜欢),这是一个分子动力学的讲义