科学网

 找回密码
  注册

tag 标签: 硬球

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

硬球流体及标定粒子理论
热度 1 jixuanhou 2010-9-18 00:27
硬球流体及标定粒子理论 侯吉旋 一、为什么要研究硬球? 硬球体系可以说是非常简单的体系,因为粒子之间没有相互吸引力,两个硬球粒子距离大于直径,那么相互作用就是0,两个硬球粒子距离小于直径,相互作用就是无穷大。对于这么简单的体系我们为什么要研究它? 1、硬球流体是真实流体的零级近似 真实分子之间相互作用有相互排斥作用和相互吸引作用,在距离比较近的时候排斥相互作用比较显著,距离比较远的时候吸引相互作用为主。而排斥相互作用随着距离的减小,增加的非常之快,以至于可以用硬球势来代替。而一般处理现实流体的时候,排斥作用作为一级近似,而吸引作用则作为围绕来展开。所以硬球流体是真实流体的零级近似,如下图所示。硬球流体在理论上占有很高的地位。 2、现实中也存在近似硬球的体系 例如单散的球形胶体粒子,粒子间相互作用就是短程的排斥作用,可以很好的使用硬球势来描述。 二、标定粒子理论 学过统计物理的人都知道,虽然研究的体系很简单,只有简单的相互作用,但是要严格精确的求解是及其之困难的。同样,硬球体系虽然看似简单,但是要研究起来难度很大。液体里常用的PY近似讨论起来非常复杂,这里就不介绍了。本文介绍一个与PY近似同样精度但是却非常简单易懂的方法——标定粒子理论(Scaled Particle Theory). 在1959年Reiss等人发表了标定粒子理论的文章后【1】,已经有1000多的引用率(直到2008年6月,webofscience的统计是被引用了1039次)。一篇理论文章能够有一千多的引用率,是非常难得的。由于最初的标定粒子理论不好懂,本文采用改良版的标度粒子理论来讲述,更多内容请阅读文献【2】。 假设我有一硬球体系,每个硬球的半径为R1。我们先从化学势 μ 说起。化学势的定义就是在一个体系中插入一个粒子体系增加的能量。就是要在一堆半径为为R1的粒子中,塞入一个半径为R的粒子,那么体系所增加的能量就是这个半径为R的粒子的化学势。当然,我们最后要把R换为R1,这样算出来的化学势才是我们需要的化学势,如下图所示。 然而要用一般统计力学的方法去算硬球液体的化学势的时候(如下面的公式),很快就会发现算不下去了,这条路走不通,需要另辟蹊径。 然而,经过简单计算就可以发现,我们塞入的粒子很小的时候,例如R→0的时候,这个化学势可以精确的用统计力学算出来。 另外,当R很大的时候,我们塞入流体中的这个巨大硬球就相当于流体中的一个巨大空腔(或者说“泡泡”)。对于要在流体中“吹出”一个“泡泡”,所需要的能量我们根据热力学是知道的,就是体积乘以压强,再加上表面能。 现在我们 一方面根据统计力学可以算出R→0时的化学势 , 另一方面知道R很大的时候的化学势 ,我们现在只需要用数学把结果外推到R=R1的时候,就可以得到我们需要的结果了。 经过这样处理以后,我们不仅仅可以得到硬球流体的化学势,还能顺带求到硬球液体的物态方程。和计算机模拟相比较,其精度非常高,只有在极高密度的时候有一点偏差。 参考文献 【1】 H. Reiss, H.L. Frisch and J.L. Lebowitz, J. Chem. Phys. 31 , 369, (1959 ) 【2】M. Holovko and W. Dong, “A highly accurate and analytic equation of state for a hard sphere fluid in random porous media”, J. Phys. Chem. B, 113, 6360, (2009).
个人分类: 科学视角|9899 次阅读|2 个评论
如何节省分子动力学模拟所消耗的CPU时间
热度 2 jixuanhou 2009-4-12 06:56
关于分子动力学模拟中邻区列表算法的优化理论 侯吉旋 Laboratoire de Physique, UMR 5182 CNRS, Ecole Normale Suprieure de Lyon, 46, Alle dItalie, F-69364 Lyon Cedex 07, France 在过去的半个世纪里,分子动力学方法已经成功地应用到许多科学领域并取得了众多成果。但由于计算机的计算能力有限,大尺度的分子动力学模拟一直是一个难题。对于一个含有 N 个粒子的可加系统,每一步运算都需要计算 N(N-1)/2 个粒子相互作用。然而对于短程相互作用体系,如 Lennard-Jones 系统,每个粒子只与距离小于截断半径 R cut 范围内的粒子相互作用,因此在实际运算过程中只需要计算大约 (4 p R cut 3 r /3)N/2 个粒子相互作用即可, r 为系统的密度。可见大部分计算时间都浪费在对结果没有贡献的粒子间相互作用上。 为此在 1967 年 Verlet 采用了一种邻区列表算法,大大缩短了短程相互作用系统的计算机模拟的计算时间。在这个算法中,引入了一个比截断半径 R cut 稍大的列表半径 R list ,两者之差叫做皮肤半径 D R list -R cut ,见图 1 。在模拟的第一步,每个粒子的半径为 R list 的邻区内的粒子编号都储存在一个列表里,在接下来的运算中,我们只需要考虑该粒子与之相对应的列表中的粒子的相互作用,这样每步的运算量正比于 N 。直到有一个粒子的位移大于皮肤半径的一半,即 D /2 ,则列表需要更新,以免在列表半径以外的粒子进入到相互作用区域内,那么这一步的运算量正比于 N 2 。由于仅在需要更新列表的时候运算量与没有采用邻区列表算法时候的运算量相当,而其他步数都节省了很多运算时间,因此邻区列表算法大大加速了分子动力学模拟。 邻区列表算法示意图 皮肤半径 D 大小的选取直接影响了计算时间的长短。如果 D 太小,则列表需要经常更新,那么就无法节省计算时间。如果 D 太大,以至于列表里面几乎涵盖了整个体系大部分粒子,尽管列表不需要更新,但是每一步的计算量和不使用邻区列表的时候一样,也无法节约时间。因此需要选择一个最优的 D ,使得计算时间最小。 尽管邻区列表算法被广泛应用,但是很少有文章系统地研究过邻区列表算法的优化问题。我们提供了一种选择最优化参数的计算方法。 通过分别使用自由粒子近似和扩散近似对所需模拟的时间进行计算 , 再对两种近似计算进行比较 . 我们研究了更新间隔和皮肤半径 D 的关系。当 D 较小的时候,更新间隔是 D 的一次函数,对应于自由粒子近似;当 D 较大的时候,更新间隔是 D 的二次函数,对应了扩散近似。 更新间隔与皮肤半径的关系 the solid line is given by free particle approximation; the dashed lineis given bydiffusion approximation. 现在来看看我们最关心的计算机所消耗的时间。 下图显示了不同浓度下计算时间和皮肤半径大小的关系。正如所预期的,在皮肤半径 D 小的时候,自由粒子描述与模拟数据符合得很好,而在皮肤半径 D 大的时候扩散描述与模拟数据符合得很好。同时,在密度小的时候,自由粒子描述与大部分数据都很接近,而扩散描述只与小部分数据符合。而当密度升高,自由粒子描述与模拟数据的符合程度逐渐降低,而扩散描述与模拟数据的符合程度逐渐升高。从图中我们可以看到,能让计算时间最小的皮肤半径的值介于自由粒子描述的最优化点和扩散描述的最优化点之间。密度越小,实际模拟的最优化点和自由粒子描述的最优化点越接近。而密度越大,实际模拟的最优化点和扩散描述的最优化点越接近。 The CPU time as a function of the skin radius for different density. 有了我们的理论之后,做分子动力学模拟的你就不需要盲目的尝试了。如果你的系统处在低密度状态,使用自由粒子近似就知道怎么选择参数让计算时间最小。如果你的系统是高密度状态,那么用扩散近似就知道怎么选择参数了。一般情况下,最优的参数选择都会落在这两个近似给出的最优值之间。 References 侯吉旋,司黎明 , Optimization Theory for Neighbor List Algorithmin Fluid System Simulation . 物理化学学报 , 2009, 25 (03): 430-434.
个人分类: 科学视角|12211 次阅读|4 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-11 16:08

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部