Ceriotti开发的GLE控温法可以在经典牛顿力学模拟中增加量子的零点能。而Path Integral MD + GLE就可以用不多的资源需求完美模拟原子核的量子力学效应,即隧道效应和零点能。原子间相互作用可以采用包含了量子极化效果的力场,比如AMOEBA(平衡态附近的分子)或者ReaxFF(可模拟化学反应)。这样,就可以模拟符合量子力学规律的原子分子系统。
PI+GLE见:
AMOEBA:
ReaxFF:
其他极化力场:
(这里边段勇、罗Ray、王Junmei三个人都是业内大佬。Junmei还是AMBER程序的主要编写者,特别是里边最难、最为用户喜爱的Particle Meshed Ewald部分。插播题外话:PME出了教程了!在这里:
)
根据 @蘭一 版友的说法,做电子结构计算,确实存在能调用大量CPU的程序如CP2K。还有应用CPU+GPU并行也可以增加效率。据我进一步了解所知,哥伦比亚大学Schrodinger软件(全世界最贵)和普林斯顿相关团队就开发了相关程序。今天还看到这个:
在了解狭义相对论之后,人们也许会想到——
如果我以接近光的速度运动,世界在我眼中会变成什么样?
这也是许多物理学家的梦想。
遗憾的是,因为它远离生活,所以,人们很难获得直观经验。
但现在,有了计算机,我们完全可以实现这个梦想。
想象一下,如果我们以0.9倍光速飞驰……我们将看到一个什么样的世界呢?
通过计算机的模拟,我们将真实地感受到——接近光速飞驰的运动者,眼中的世界。
这将成为狭义相对论最棒的展现方式!
原来物理学,居然也可以这样栩栩如生……
——《叙事曲2:星空下的诺言》
2013年,麻省理工学院发布了一款第一人称视角的3D游戏《A Slower Speed of Light》(减慢光速)
这个游戏的主要玩法是在场景中吃掉100个魔法球,随着吃掉魔法球的增加,场景中的光速会逐渐接近玩家的步行速度,与相对论有关的各种效应就会逐渐强烈地显现出来。
游戏不但模拟了相对论引起的时空扭曲,还模拟了多普勒效应造成的频移,以及探照灯效应等现象,十分全面。
该游戏使用他们研发的 OpenRelativity 引擎制作。这是一个基于Unity的开源物理引擎,用来模拟相对论的各种现象。
2012年,麻省剑桥市的TestTubeGames小组制作了一个2D的FLASH游戏《Velocity Raptor》(速度猛龙)
这个游戏以2D的方式模拟了相对论的各种效应,玩家控制一只奔跑速度接近光速的小恐龙闯关,场景中有各种需要利用相对论效应的机关。
例如,一个火把只能燃烧12秒,但是你需要等待15秒对面的门才能打开,怎么办呢?跑!根据相对论,你在移动中时间会变慢,你就可以拿只能燃烧12秒的火把经过15秒之后才能打开的门了。游戏中你可以很清晰的看到随着你的运动,门上时钟的倒计时发生了什么样的变化。
一些门的开关需要使用多普勒频移让钥匙的颜色发生变化才能打开。
当然,相对论造成的时空扭曲非常直观的显现出来,包括经典的“车库悖论”等现象。
游戏还提供了基于“测量”(上帝视角)的相对论效应以及基于“视觉”(主观视角)的相对论效应。
为什么大部分游戏中不考虑相对论的物理效果
很重要的一点是,相对论模拟只能适用于单人游戏,在网络多人游戏中是无法使用的。因为多人游戏中无法模拟相对论造成的时间膨胀,你无法做到让不同人的时间流逝速度不同。
假如,在一个网游里,我和你说,你冲过去和敌人战斗,一分钟之后撤退回来。然后你就冲过去了,你过了1分钟后你跑回来了,但是我感觉我等了你2分钟。这在网络游戏里是不可能实现的。
2016年,丹麦奥胡斯大学开发了一款模拟量子力学的小游戏《Quantum Moves》(量子移动)
Quantum Moves https://www.zhihu.com/video/1111656302081822720这个游戏模拟的是通过激光移动原子。在量子力学中,微观粒子有波动性,所以它的性质有些像液体,会在量子阱中“流动”。这个游戏模拟的就是激光的操作,通过改变激光的位置和强度,把原子搬运到目标区域。微观粒子有一些奇特的性质,比如“量子隧道”等效应,在游戏中都有被模拟出来。
游戏会根据玩家过关的时间和效率来计算分数,并将成绩和动作上传到官方排行榜。玩家要尽可能快地完成操作,又要避免动作太猛使原子洒出来。有趣的是,官方通过收集排行榜中玩家高手的动作,将之输入到实验室中真正的量子阱激光器上,就真的提升了激光器操作的效率,比他们原来自己写的动作厉害多了。
这个游戏的1代已经完成了使命,下架了。后来又出了2代,自带一些动作编辑工具,除了鼠标拖拽之外,还可以对录制的动作进行修整,进一步提高分数。
基于量子力学的物理引擎肯定是能做的,但是拿来做游戏嘛......我只能告诉你,帧率会很感人。
我基本上每天都在用电脑做基于量子力学的计算,结果大概是这样的:
https://www.zhihu.com/video/1111379791965671424以上是一个基于密度泛函理论(一种量子力学理论)的动力学模拟,视频中灰色/白色的球分别是钨/氢原子。
这个视频一共有四千帧,是我用一颗E5-2670V3(含12个物理cpu核心)用了一周算出来的。换算下来,大约0.0066帧/s。
玩个游戏,fps起码得有30帧/s吧。那么你至少需要5万颗cpu并行运算才行,而且考虑到并行规模越大效率往往越低,实际上需要的cpu数目只会更高。
哦,对了。更绝望的是,很多量子力学模拟的复杂度都在O(N^3)甚至更高。视频中我只模拟了180个原子,如果你想模拟1800个原子的话,计算时间大约要x1000。
想要玩这样的游戏?少年,买个太湖之光吧。