注:这本来是我一门课结题报告,仓促完成,写的也非常跳跃,放在这里作为一个记录留存的必要。
1.牛顿力学的迷思
1814年,大约在牛顿去世后的一个世纪,拉普拉斯有一段讲话,他说到:
「如果一瞬间我们获得了一种智慧,这种智慧能理解所有的力(而正是在这些力作用下大自然得以表现的生动活泼),能理解构成它的物体的各自的状态——一种足够庞大的智慧,我们能够将这些数据提交给她来分析,她将以同样的公式接受宇宙中最伟大的天体和最轻的原子的运动;对她来说,没有什么是不确定的,未来,就像过去一样,将呈现在它的眼前。」[1]
这当然是充满著雄心壮志的一番言论,充满著决定论的语调,一切都是确定的,我们在牛顿力学的基础上,只需要一个巨大无比算力的机器,给任何输入的数据,就再也没有我们无法确定的结果了。大约又过去了一百年,汤姆森说到:
「似乎对我来说,如果问「我们是否理解物理中的特定现象」,这个问题等同于说「我们能否为它建立一个力学模型?」」[2]
这几乎就等同于现在大家对于力学的认识了,力学某种意义上主要的工作就是建模,我们考虑主要的要素,考虑边界条件,采用大量的假设,譬如在材料力学中有梁的假设,杆的假设,弹性力学中我们只考虑线弹性小变形,有没有假设的力学模型么?假设总是存在于力学模型建立的第一步。然而事实上,就算在阿波罗飞船早已经在大约半个世纪前载著人类登月的今天,我们依然无法预测的事情太多,譬如明天的股票行情,明天的天气。虽然有大量的经济学的、气象地理学的模型,但是这些模型往往都是不确定的,这无疑给拉普拉斯那充满雄心壮志的猜想带来了巨大的打击,我们真的无法制造一个模拟未来一切发生的容器么?
2.分子动力学模拟的非线性
2.1 分子动力学模拟的发展简史
分子动力学模拟的理论基础依然是古老的牛顿力学,自从牛顿1687年发表《自然哲学的数学原理》,经典力学一直紧紧地拥抱著牛顿三大定律。在1930年,蒙特卡罗提出了蒙特卡罗模拟,最简单也是最能理解的一个蒙特卡罗模拟便是在一个正方形上随机生成点,通过统计在一个给定圆半径的1/4圆内和圆外的概率分布,就可以用来计算圆周率。如图 1所示,当点的个数n=3000时,计算得到的圆周率为3.1133。在蒙特卡罗模拟的基础上,在1957年,Alder和Wainwright使用一台IBM 704晶体管计算机模拟了硬球的弹性碰撞[3]。时至今天,我们已经能够模拟大概1000万原子级别尺度的分子动力学模拟[4],时间尺度可以达到微妙级[5]。