PyGAMD(Python GPU-accelerated molecular dynamics software)是一个创新的分子模拟平台,专为聚合物等软物质而设计,集成了多个尺度的模型、方法和力场。该软件平台包含一个分子动力学(MD)解释器,支持二次编程,用户可以方便地自行编写势能函数,例如用于非键、键、角和二面角等相互作用的解析势函数,从而极大地扩展了MD模拟的灵活性,该解释器由Python语言编写,易于修改和进一步开发。
PyGAMD 还包含一些由其他语言编写并已经编译为Python的扩展库,支持构型初始化、性质分析等功能。此外,PyGAMD支持由 DeePMD-kit 训练的机器学习力场。通过设计先进的软件框架,利用Python的Numba库和计算统一设备架构(CUDA)编写的代码均实现了较高的GPU计算效率。
解释器的代码架构分为三个层次,顶层是用于组织工作流程的应用程序,第二层是功能分类,包括力(Force)、积分(Integration)、Tinker 和输出(Dump)。第三层有许多具体的计算函数。
针对二嵌段共聚物与超软粒子模型,基于耗散力子动力学(DPD)与广义指数势(GEM)在PyGAMD上实现模拟,其中GEM势能是通过用户自定义的方式实现,上述功能与C++版本软件GALAMOST进行性能对比。值得注意的是PyGAMD内置了GALAMOST扩展库,方便用户使用。图(a)与(d)分别为二嵌段共聚物与超软粒子模型体系的平衡快照,数据后处理图(b)为垂直于(a)中层状结构方向的密度分布曲线,以及图(e)为(d)中不同晶体结构比例的统计。最后对两种模型的不同体系尺寸进行了性能对比图(c)与(f)。性能对比结果显示Python版本的PyGAMD在DPD与GEM模拟体系上计算效率虽然不如C++版本的GALAMOST,仍旧存在巨大的提升潜力,但在易用性与灵活性方面PyGAMD明显更具优势。
为了验证PyGAMD的在粗粒化模拟中的功能与适用性,本文选择聚氧化乙烯(PEO)作为测试体系。首先利用PyGAMD内置的扩展库Molgen生成了粗粒化PEO模型(如图a所示)。在密度(图b)和径向分布函数(RDF,图c),均方位移(MSD,图d)等性质上,PyGAMD与GROMACS的结果高度吻合。比较两个软件的运行效率(图f)和运行时间占比的饼图(图e),发现PyGAMD的性能可媲美甚至超越GROMACS,这因为PyGAMD在力计算和坐标更新部分进行了充分优化。
PyGAMD支持基于DeePMD-kit训练的机器学习势函数(MLFF)。本文通过甲烷单分子和64水分子体系的双重验证,不仅证明了其与主流软件LAMMPS的等效性,更展现出对分子结构与相互作用的卓越捕捉能力。在甲烷单分子体系中,PyGAMD与LAMMPS的势能曲线(图a)表现出高度一致性,C-H键长(图b)的动态波动也准确再现;在64个水分子体系中,氢氧径向分布函数(图c)的特征峰位与实验值吻合良好,H-O-H键角分布(图d)不仅呈现符合理论的104-108°范围,其统计平滑性更优于LAMMPS的计算结果。性能测试(图e,图f)表明,PyGAMD在保持良好计算精度的前提下,展现出与主流工具相当的运行效率,能够满足实际研究中的计算需求。这些测试表明,PyGAMD采用MLFF进行全原子模拟能够获得可靠且精细的分子动力学结果,为研究复杂体系提供了新思路。
本文还对PyGAMD的扩展库进行了测试,使用Molgen进行了DNA,蛋白质,聚合物,接枝纳米粒子等大尺度体系的粗粒化建模(如图 a,b,c,d,e 所示)。
以下是dataTackle的使用命令和界面(图a)和 分析径向分布函数(RDF)的输出数据(图b)。