资源描述:
《分子动力学模拟的优化与并行研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、·84·计算机应用研究 2005年分子动力学模拟的优化与并行研究张勤勇1,2,蒋洪川2,刘翠华1(1.西华大学材料学院,四川成都610039;2.电子科技大学微电子与固体电子学院,四川成都610054)摘 要:分析讨论了分子动力学模拟的算法特征和计算特点,对串行程序作了优化,并使之适合于作并行化。对模拟体系使用区域分解的方法,在计算节点间保留了部分重叠区域,采用基于消息传递的MPI设计平台,在可扩展机群上实现了并行化,获得了90%以上的并行效率。关键词:分子动力学模拟;优化;并行中图法分类号:TP30116 文献标识码:A 文章编号:100123695(2005)0820084
2、202ResearchofOptimizationandParallelizationforMolecularDynamicsSimulationZHANGQin2yong1,2,JIANGHong2chuan2,LIUCui2hua1(1.SchoolofMaterial,XihuaUniversity,ChengduSichuan610039,China;2.SchoolofMicroelectronics&SolidElectronics,UniversityofE2lectronicsScience&Technology,ChengduSichuan610054,China)A
3、bstract:Analyzesthealgorithmiccharacterofmoleculardynamicssimulation,andoptimizestheserialprogram.Inthetask
decomposeforparallelization,spatialdecompositionmethodisadopted,andpartofareaiskeepingasoverlapinneighborsub2
area.OnthebasisofthemessagepassingparallelprogrammingplatformMPI,andonthenetwo
4、rkofworkstation,paralleliza2
tionisimplemented.Intheparallelenvironment,theparallelefficiencyisabove90%.Keyword:MolecularDynamicsSimulation;Optimization;Parallelization 分子动力学(MD)是一种物质微观领域的模拟方法[1,2],解上述微分方程的方法很多,本文采用Verlet法[2],该方这种方法通过计算机模拟物质体系中微观粒子(主要是原子、法简便易懂,稳定性也比较好。①通过式(2)计算得到全部粒分子)之间的相互作用及运
5、动来得到体系中粒子的运动轨迹,子的受力;②解式(1),得到粒子在该时刻的运动速度v和位再按照统计物理的方法计算得出物质的宏观性能等。自此方置r;③时间步长加1。重复上述过程,直到计算完预定的时间法提出以来,尤其是随着计算机技术的进步,发展十分迅速,逐步长数。通过这个过程,得到了体系内全部粒子的微观运动轨迹,然后运用统计物理的方法可以计算诸如分布函数、扩散系渐成为模拟微观系统、预测宏观性能的主要方法之一。数、各种相关函数、自由能、热传导系数等,从而达到与试验对分子动力学是典型的计算瓶颈问题。①组成物质的微观粒子的数量是十分庞大的,如固体的典型密度为每0135μm的照检验、指导进一步的试验
6、研究、预测物质性能等目的。在立方体拥有109个原子;②为了精确跟踪粒子的运动,保证数MD模拟中,改变物质密度、组分以及温度高低、升降温速度等试验条件是十分方便的,能够完成现实中很多根本无法完成的
值模拟的稳定性,必须使用很小的时间步长。分子动力学中典试验,甚至假想试验。进行系列MD模拟,就相当于进行了系
型的时间步长为飞秒,即使是微秒级的现实模拟也需要10万列现实试验,对研究成本降低、研究周期缩短都是有极大好处
步,显然计算量是十分庞大的。所以分子动力学模拟对计算机的。相比于其他模拟方法,MD模拟得到了系统任意时刻的位
性能的需求可以说是无限的,并行计算是必由之路。形,方便研究人员进行
7、各种研究,尤其重要的是这种位形是系1 串行算法及优化统在内禀动力学驱动下形成的,不具有任何随机性。所以,分111 基本串行算法子动力学模拟越来越得到研究人员的重视,其发展相当迅速。在上述计算过程中,计算量最大的是对式(2)的计算,即系统中每个粒子满足牛顿运动方程:力的计算,约占到全部计算时间的90%左右。为了达到模拟d2rm=F i=1,2,⋯,N(1)dtri-rjFi=∑fij, fij=-φ′(
8、ri-rj
9、)(2)j≠i
10、ri-rj
11、实