推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于python的分子动力学模拟程序编写及应用

更新时间:2019-12-21 08:47:46 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

本文利用python编写了分子动力学模拟程序,并利用该程序对He分子体系进行了详细研究。分别研究了不同初始条件,不同边界条件,截断点位置等的研究。在分子数为500,分子初速度为500的初始条件下,体系最终经过2.25e-11s发展成为麦克斯韦平衡体系。分别研究周期性边界条件与刚性边界对系统发展的影响,研究发现周期性边界条件与刚性边界条件最终对系统的发展没有明显影响。对截断点进行研究后发现,必须选取大于1.1*sigma(sigma为L-J势能中的常数,由实验可测定)作为截断,如果小于该值,体系由于数值误差将偏离物理实际。同时研究发现势函数对于体系的发展也具有重要影响。


部分文件列表

文件名 大小
基于python的分子动力学模拟程序编写及应用.pdf 2M

部分页面预览

(完整内容请下载后查看)
理论算法  
2019.07  
基于 python 的分子动力学模拟程序编写及应用  
应舒畅  
(浙江省杭州第二中学江杭州,310053)  
摘要 本文利用 python 编写了分子动力学模拟程序利用该程序对 He 分子体系进行了详细研究别研究了不  
同初始条件同边界条件断点位置等的研究分子数为 500子初速度为 500 的初始条件下系最终经过  
2.25e-11s 发展成为麦克斯韦平衡体系别研究周期性边界条件与刚性边界对系统发展的影响究发现周期性边界  
条件与刚性边界条件最终对系统的发展没有明显影响截断点进行研究后发现须选取大于 1.1*sigma sigma 为  
L-J 势能中的常数实验可测定为截断果小于该值系由于数值误差将偏离物理实际时研究发现势函数  
对于体系的发展也具有重要影响。  
关键词 子动力学 Lennard-Jones 势能 界条件 Verlet 算法 He 分子体系  
Programming and application of molecular dynamics simulation  
program based on Python  
YingꢀShuchang  
(HangzhouꢀNo.ꢀ2ꢀMiddleꢀSchool,HangzhouꢀZhejiang,ꢀ310053)  
Abstract:  
Inꢀ thisꢀ paper,ꢀ aꢀ molecularꢀ dynamicsꢀ simulationꢀ programꢀ isꢀ writtenꢀ inꢀ python,ꢀ andꢀ theꢀ  
molecularꢀsystemꢀofꢀHeꢀisꢀstudiedꢀinꢀdetailꢀwithꢀthisꢀprogram.Differentꢀinitialꢀconditions,ꢀdifferentꢀ  
boundaryꢀconditionsꢀandꢀtruncationꢀpointsꢀareꢀstudiedꢀrespectively.ꢀUnderꢀtheꢀinitialꢀconditionꢀthatꢀ  
themolecularnumberis500andtheinitialmolecularvelocityis500,thesystemfinallydevelopsꢀ  
intoamaxwellequilibriumsystemafter2.25e-11s.Theinfluenceofperiodicboundaryconditionsandꢀ  
rigidꢀ boundaryꢀ conditionsꢀ onꢀ theꢀ developmentꢀ ofꢀ theꢀ systemꢀ isꢀ studiedꢀ respectively.Afterꢀ studyingꢀ  
thetruncationpoint,itisfoundthatitmustbemorethan1.1*sigma(sigmaisaconstantinl-jꢀ  
potentialenergy,whichcanbemeasuredbyexperiments)asthetruncation.Ifitislessthanthisꢀ  
value,ꢀtheꢀsystemꢀwillꢀdeviateꢀfromꢀtheꢀphysicalꢀrealityꢀdueꢀtoꢀnumericalꢀerror.ꢀItꢀisꢀalsoꢀfoundꢀthatꢀ  
theꢀpotentialꢀfunctionꢀhasꢀimportantꢀinfluenceꢀonꢀtheꢀdevelopmentꢀofꢀtheꢀsystem.  
Keyꢀwords  
:molecularꢀdynamics;Lennard-Jonespotentialꢀenergy;boundaryꢀcondition;Verletꢀalgorithm;HeꢀMolecularꢀSystem  
0ꢀ引言  
1ꢀ研究目的与意义  
所谓分子动力MD指对于原子核和电子所构  
成的多体系统一原子核被视为在其它原子核和电子所提  
供的经验势场下作牛顿运动过计算机模拟该过程数  
值求解分子体系经典力学运动方程及统计体系的结构特征  
与性质的一种技术。[1]  
当今已存在的分子动力学模拟程序lammps 等往往  
需要大型计算机等资源依赖于 linux 等系统平台植性  
与通用性不高文利用 python3 来编写一套可移植程度高,  
代码规模比较小的分子动力学程序模拟二维 He 分子体系 [7]  
[8] 的变化行有关物理量的提取与研究通过改变边界  
条件始条件断点位置间步长函数等来进行有  
关性质的进一步研究而获得分子动力学的初步结论。  
分 子 动 力 学 的 早 期 模 拟 起 源 于 1957 年。Alder 和  
Wainwright[2] 通过计算机用硬球模型开创了分子动力学  
模拟的先河由于受计算机速度及内存的限制期模拟  
的空间和时间尺度都受到很大的约束们将分子动  
力学模拟方法不断推广完善引入更复杂的方肼势体  
出 Verlet[3]、Leap-frog[1]、Beeman[4]、Gear[5] 等各种  
算法形成了以微正则系综为代表的各种系综到与状  
态方程有关的性质向分布函数度自相关函数 [6]。21  
世纪后算机的快速发展使得利用内存大度快的计算  
机模拟更复杂符合实际的分子体系成为可能。  
2ꢀ程序计算过程概述  
本文中的程序用 NVE 系综 [1] 来模拟氦气分子体系的  
变化于设备所限了方便计算与观察文统计的是二  
维平面分子体系的情况图 1 即为程序的流程图。  
第一步导入 python 包库定义常量和有关物理函数。  
其中子受到的作用力 F r由 Lennard-Jones 势能 [1][2] 的  
负一阶微分导出。Lennard-Jones 势能常用于惰性气体分子。  
第二步置分子的相关初始物理量 子的个数器  
的体积和边由分子个数决定间步长。  
分子动力学模拟可以获得纯理论计算和实际实验无法  
获得的性质且模拟精度高算量小展潜力巨大。[1]  
52  
理论算法  
2019.07  
温度增长到了将近 400 摄氏度显然是不符合实际的 ;  
将截断位置改大为 3.0*sigma以发现结果与基础程序  
结果没有明显差别此可见截断位置的选择至关重要,  
<1.1*sigma 的截断位置极容易造成结果不符合实际也是  
无法将时间步长设置为正无穷小而不得不采取的处理手段。  
定义常量和函数  
设置初始量  
生成随机位置和  
速度  
设置截断位置和  
边界条件  
不断循环  
进行一个时间步  
长的受力运算  
更新速度和位置  
输出有关物理量  
图 1ꢀ 程序流程图  
第三步子初始化过 random 函数来生成粒子的随  
机位置和速度放置于预设的空矩阵 1 中。  
第四步行迭代运算算之前要先进行距离截断防  
止分子间初始距离过近而产生不符合实际的过大的力而造成  
模拟的不准确 时输出刚开始距离过近的粒子对的总数。  
修正完后粒子所受力用 Lennard-Jones 模型进行运  
通过 Verlet 算法算出一个时间步长后粒子的位置和速  
其储存在另一个空矩阵 2 中于超出容器的粒子用边  
界条件约束For 循环将所有粒子在一个时间步长后的位  
置和速度更新将空矩阵 2 覆盖空矩阵 1进行下一时间  
步长的迭代运算不断循环。  
第五步出相关物理量文选取的是动能以及温度、  
压力一时刻粒子动能以及该动能所对应的粒子数目可绘  
制成多张直方图并做成动画 力以及所对应的时刻  
可绘制成折线图于本文中分子个数器体积为定值根  
据 pV=nRT知温度和压力图像类似。  
图 2ꢀ 基础程序末动能条形图及温度折线图  
3ꢀ模拟研究  
3.1ꢀ基础程序研究  
基础程序采用的 界条件为周期边PBC)[2]周 期  
边界为边界条件的一种于保持容器中粒子数的恒定以  
及消除边界效应子初速度为 500断位置为 1.1*sigma,  
截断位置是避免分子距离过近处于 L-J 势能的指数爆炸部  
分而使作用力不符合实际而做的一种近似截断而防止  
数据溢sigma 为 L-J 能中的常数 器长度为  
2.8*sigma*numberball** 1/2numberball 为 分 子 个 数,  
容器长度由分子个数决定更合理  
势函数为 L-J 势能析表达式为  
V0  
n - m  
r
r
r
0
r
m ꢄ  
V (r) =  
m( 0 )n - n(  
)
ꢀꢀꢀꢀꢀꢀꢀꢀ  
实验结果如图 2 所示。  
通过输出结果以发现分子动能范围越来越大向  
于麦克斯韦分布时温度和压力稳步上升程序能比较  
准确直观的模拟分子的情况。  
图 3ꢀ 截断位置为 1.0*sigma 末动能条形图及温度折线图  
3.3ꢀ边界条件  
3.2ꢀ截断位置  
边界条件对分子动力学模拟结果有重要影响用的边  
界条件除了周期边界有刚性边界 [2]性边界是假想边  
如图 3 所示截断位置改小为 1.0*sigma以发现  
53  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载