没有合适的资源?快使用搜索试试~ 我知道了~
PND:基于PINN的分子动力学模拟器
软件X 15(2021)100789原始软件出版物PND:用于分子动力学应用的物理学信息神经网络软件陶菲克·穆罕默德·拉扎克a,b,王贝贝a,c,沙恩·杰克逊a,c,拉吉夫·K。卡利亚abcdAiichiro Nakanoa,b,c,d,e,Ken-ichi Nomuraa,d, Chaoya Vashishtaa,b,c,d美国南加州大学洛杉矶分校高级计算和模拟合作实验室,CA 90089-0242b美国南加州大学洛杉矶分校计算机科学系,邮编:90089-0781c南加州大学物理天文系,洛杉矶,CA 90089-0484,美国d南加州大学化学工程材料科学系,洛杉矶,CA 90089-12111,美国美国南加州大学洛杉矶分校定量计算生物学系,ar t i cl e i nf o文章历史记录:2021年4月21日收到收到修订版,2021年7月27日接受,2021年关键词:分子动力学机器学习微分方程求解器a b st ra ct我们开发了PND,一个微分方程求解软件的基础上物理信息的神经网络(PINN)的分子动力学模拟器。基于PyTorch提供的自动微分技术,我们的软件允许用户灵活地实现原子的运动方程,初始和边界条件以及守恒定律作为损失函数来训练网络。PND配备了并行分子动力学引擎,以检查和优化损失函数设计,不同的守恒定律和边界条件,以及超参数,从而加速基于PINN的分子应用开发版权所有©2021作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本1.0此代码版本所用代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-21-00077法律代码许可证MIT使用Github的代码版本控制系统软件代码语言使用C++编译要求,操作环境依赖性Linux,MacOS如果可用,链接到开发人员文档/手册https://usccacs.github.io/PND/annotated.html问题支持电子邮件razakh@usc.edu软件元数据当前软件版本1.0此版本可执行文件的永久链接https://github.com/USCCACS/PND法律软件许可证MIT计算平台/操作系统Linux,MacOS安装要求依赖GNU C++14,PyTorch 1.4用户手册链接https://github.com/USCCACS/PND#readme问题支持电子邮件razakh@usc.edu*通讯作者:高级计算和模拟合作实验室,南加州大学,洛杉矶,CA 90089-0242,美国。电子邮件地址:knomura@usc.edu(Ken-ichi Nomura).https://doi.org/10.1016/j.softx.2021.1007891. 动机和意义分子动力学(MD)模拟是物理、化学、生物医学和材料研究中的重要工具,因为它提供了2352-7110/©2021作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxTaufeq Mohammed Razakh,Beibei Wang,Shane Jackson et al.软件X 15(2021)1007892i=1∑对材料过程的原子级洞察[1虽然模拟系统的大小和可达到的时间尺度通常是折衷的,但基于分治(DC)方法[4]的有效算法已经实现了数万亿个粒子模拟[5]。另一方面,通过原子模拟来扩展可达时间尺度一直是一个活跃的研究课题。各种加速的MD方法,如超动力学和并行复制方法,已经成功地将可访问的时间尺度增加了几个数量级[6]。然而,这些时间加速算法通常依赖于每种材料的势能面(PES)的特定特性,从而限制了它们对更广泛问题的适用性。在分子动力学模拟中,牛顿运动方程是一个多维耦合的常微分方程(ODE),通过数值求解器积分得到原子的运动轨迹。用于数值积分的时间离散化单位Δt由目标系统的物理性质(诸如压力、温度和振动频率)决定。一个通用的求解器,增加了材料无关的方式,有很大的潜力,以提高建模能力。神经网络作为一种新型的微分方程求解器,在机器学习领域取得了巨大的成功Kadupitiya等人[7]使用递归神经网络(RNN)来预测原子轨迹,而不是直接求解原子的运动方程。RNN适合于在序列数据中找到模式,例如粒子运动,谐波相互作用和原子在晶格位置振荡,如他们的工作中所证明的另一种有前途的方法是物理信息神经网络(PINN),这是深度学习的一个分支,最近作为DE求解器引起了极大的关注。与RNN等复杂的网络架构不同,PINN采用相当简单的网络架构,例如几层前馈网络,但通过物理定律进行增强。用PINN训练人工神经网络,以给定的运动方程与相空间中预测的原子轨道之间的差值最小为损失函数。与RNN不同,PINN不需要目标系统中预先存在的模式,更适合液相或气相材料Dissanayake等人[8]提出了一种基于NN的DE求解器,其中物理定律(即目标DE连同初始和边界条件)被编码为NN训练框架。PINN已成功应用于求解许多DE,包括热方程[9],Burger方程[10],Navier Stoke采用DC方法,最近提出的并行PINN[17]在较小的时间段中的多个细粒度求解器之上引入了一个轻量级的粗粒度DE求解器,这些细粒度求解器被并行求解以实现较大的可忽略不计的运行时间增加,由于模型训练。PINN的不断发展,如变分PINN [18]和非局部PINN [19],为科学和工程应用的基于DE的建模带来了巨大的希望。尽管有这些有前途的发展,PINN的MD模拟是在其起步阶段,这是巨大的发展工作是必要的。例如,到目前为止,模拟的系统相对较小,并且由于巨大的超参数空间,PINN对实际MD模拟的适用性仍然不清楚。为此,我们开发了一个仿真软件PND,这是一个基于C++,PyTorch C++前端和消息传递接口(MPI)库的便携式,高效和易于使用的PINN-MD仿真软件PND配备了一个可扩展的并行MD引擎,允许用户检查不同的模型训练场景,损失函数和超参数,从而促进PINN-MD算法的快速开发。2. 软件描述PND软件的核心是PyTorch C++开发的,为用户提供高性能,低延迟和多线程支持,以及Fortran和C绑定能力。这些特性特别适用于许多领导级高性能计算(HPC)软件,如RXMD[20]和QXMD [21]将PND纳入其框架。PND配备自动微分功能,允许用户实现标准初始和边界条件,以及多种形式的基于物理的约束,包括能量和线性动量守恒定律以及最小作用量原理[22]。将物理定律作为损失函数,提高模型预测质量,实现损失函数的收敛速度更快。例如,线性动量守恒定律被实现为A(Npia),其中pia是笛卡尔坐标α中第i个原子的动量,A是它在总损失函数中的权重这些约束可以用于指导模型训练,以实现损失函数的更快收敛。为了减少用户开发PND并将其集成到MD软件中的初始障碍,我们提供了一个可扩展的MD引擎,并演示了一个具有许多约束条件的边界条件问题求解器用户可以定义损失函数来评估均方误差(MSE),MSE本质上是控制系统演化和边界条件约束的DE集合。DE的解决方案通过在ANN训练期间最小化MSE获得,见图。1.一、通过将PND基类继承到用户的工作空间(称为SockchPad)中 前馈神经网络预测原子的位置和速度,这些位置和速度被传递到MD引擎以计算适合系统PDE的项,例如势能、总动量。PDE的实现是通过覆盖基类的损失函数方法来实现的,因此可以轻松地将MD Engine层和PINN训练层集成到它们的工作区中。MSE计算使用具有自动微分的均方PDE残差PINN的训练通过最小化相对于NN参数的失配来进行。对于给定的NN,t表示MDσ是激活函数,Q是t上的预测系统状态。2.1. 目录结构和源代码组织在本节中,我们将描述支持PND核心功能的主要类和函数。PND软件组织在三个目录中训练神经网络和求解运动方程的头文件和源文件存储在Source目录中。MD_Engine目录包含一个可扩展的MD软件(pmd),它可以被用户自己的MD引擎替换。SockchPad类继承PND类并公开成员函数以供用户自定义损失函数。SockchPad源代码存储在Example目录中,用于演示执行MD模拟的技术。第4节中给出了一个说明性示例。下面,我们提供了一个关键类,成员函数和源代码的列表及其简要说明。Source/pnd.inNN中的神经元数量和训练选项(如epochs和learnrate)在此文件中指定Source/pnd.cpp:该源代码定义了用户可以用来构造和训练NN的函数,以便在时间步长上解决与MD系统非常相似的DE。源代码的功能被封装到Taufeq Mohammed Razakh,Beibei Wang,Shane Jackson et al.软件X 15(2021)1007893∈D10不0不)params,T-q()0(不(−→)图1.一、 PND在分子动力学应用中的工作流程示意图。PND类。通过实例化这个类,用户可以访问实例变量来存储训练参数。实例方法被设计为更新实例的训练参数,因此只有类的一个实例可以用于所有训练时期。 PND类公开实现损失函数的虚函数这些函数可以由用户重写,允许根据用户的需求和仿真系统进行灵活的损失函数设计hpp:一个头文件,其中包含Source/pnd.cpp中定义的类的MD_Engine/pmd.cpp:在这个源代码中,我们定义了Atom和Subsystem类。总的来说,这些类提供函数和数据结构来帮助空间分解和将子系统映射到处理器上。MD_Engine/pmd.hpp:头文件,其中包含在MD_Engine/pmd.cpp中定义的类的声明。MD_Engine/pmd.in:MD系统的输入参数在此文件中定义。Example/SockchPad.cpp:与类-PND以及MD引擎接口的示例实现。PND采用CMake构建系统。用户需要损失函数,其中包括物理信息的约束,如初始和边界条件以及能量和动量守恒定律返回值是相对于参数定义的误差的导数对于T个时间步长的d维位形空间,初始位置矢量由q0表示,最终位置矢量由qT表示,初始速度矢量由v0表示,最终速度矢量由vT表示。一个含有Np个原子的系统用大小为D = 2 × d × Np的矢量表示。输出NN的表示为Q(params)R×T 对于所有时间步,或者对于第t个时间步,Q=(params,t)。 我们使用紧凑的数据布局,使得NN的前半部分输出Q1(param s)是位置的矢量,后半部分输出Q2(param s)是速度。 我们发现,使用原子轨迹的粗略估计,例如位置和速度有助于模型训练步骤。预训练步骤的使用还提供了更好的控制和检查,以避免不想要的原子位置,例如在进入主训练步骤之前重叠的原子位置。等式(1)和(2)显示了边界条件问题中的预训练和主训练损失函数的示例MSE预训练=(−→Q(params,0)−q)2添加包含MD和PND代码的目录作为目标包含文件的搜索路径。2.2. 损失函数、优化器和训练驱动函数损失函数对净值的导数+(−→Q1+(−→Q2+(−→Q2(params,T)−q)2(params,0)−v)2(params,T)−v)2(1)工作输入参数被传递给优化器函数在调整权重和偏差之前更新参数NadamMSE主列车=(−→Q1(params,0)−q)22来训练网络。PND提供了一个预定义的优化器,实 现 Nestrov 和 Adam 算 法 ( NATAM ) [23] 来 训 练 NN 。 熟 悉PyTorch的高级用户可以使用提供的optimclass.打破这种循环+ −→Q1T2+Q2(params,0)−v0网损计算和网络参数优化+(−→Q2(params,T)−v)2训练时期由mainTrain函数处理。初始并且边界条件以及来自地面真值的系统能量作为元组向下传递到该函数,并且因此可用于计算MSE的函数损失函数Loss(params,icfs,energy)采用NN参数(params)、初始和边界条件(icfs)以及各种物理约束,包括总能量(energy)。NN的参数通过最小化用户定义的+(预测能量−能量)2(2)3. 说明性示例在本节中,我们将介绍一个由Lennard-Jones(LJ)原子间势[1]描述的简单面心立方(FCC)晶体的PND用例的说明性示例。我们评估的Taufeq Mohammed Razakh,Beibei Wang,Shane Jackson et al.软件X 15(2021)1007894图二. 32 Ar原子的PND(实线)和地面真实MD(标记)能量的时间演化。总能量,势能和动能用蓝色表示,绿色和洋红色。PND预测的所有三种能量与地面真实MD模拟匹配良好。(For对所提及的颜色在此图图例中,读者可参考本文的网络版图三. (a)和(b)是随机选择的两个原子的轨道。红色和蓝色轨迹分别取自地面真实MD模拟和PND。 (For对本图图例中所指颜色的解释,读者可参考本文的网络版PND预测性能通过比较模拟和预测MD系统的能量和对氩原子进行模拟,从密度为0.8的FCC晶体原子位置开始,对应于初始温度为0.7的随机速度,并使用0.01的时间步长。所有参数均以归一化LJ单位表示。图 2表明PINN-MD保持了总能量,同时密切再现了传统ODE求解器在整个时间步长内获得的地面真实动能和势能。图图3显示了一些典型的原子轨迹,它们与地面真实轨迹非常匹配。 该说明性示例的输入文件在MD_Engine目录内的源储存库中提供。4. 影响PND的设计目标是促进分子建模软件中基于PINN的新算法的开发,其可以实现比传统时间积分器(例如velocity-Verlet算法)更大的时间分辨率/单个模型训练。利用神经网络求解微分方程开辟了一个新的研究领域,并在许多方面显示出巨大的潜力工程领域。它也有望在材料模拟中发挥重要作用,如一个新的时间积分求解器在MD。许多研究[17,22,24]已经证明,通过利用每个模拟中特定的守恒定律,可以进一步提高预测精度和算法并发性。然而,PINN-MD方法的潜力尚未完全释放,这是由于MD模拟中不可避免的大自由度,更重要的是,缺乏允许同时检查物理信息损失函数、模型训练性能和模型预测精度的效果的开源软件。PND软件的开发满足了这一迫切需求,并为基于PINN的分子模拟方法学的发展起到了至关重要的作用。5. 结论总之,我们已经开发了PND软件,这是一个用于MD模拟的基于PINN的ODE求解器的开源开发平台。在PND中,神经网络被训练成直接预测原子在指定时间网格上的位置和动量,而不是执行传统的时间步进算法。PND具有灵活的Sockchpad设计和平行MDTaufeq Mohammed Razakh,Beibei Wang,Shane Jackson et al.软件X 15(2021)1007895模拟引擎,允许PND用户实现自定义的损失函数,初始和边界条件,以及守恒定律最适合他们的应用程序,而不需要第三方应用程序。PND采用PyTorch C++前端作为软件核心,支持本机多线程、低延迟计算、GPU卸载以及Fortran和C绑定功能,从而在不牺牲性能的情况下享受成熟的ML功能。系统设置和输入参数由Github 存 储 库 https://github.com/USCCACS/PND 上 的 代 码 提供。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作确认这项工作是由美国能源部科学办公室基础能源科学资助的计算材料科学计划的一部分,奖励编号为DE-SC 0014607。引用[1] 拉赫曼液 态氩中原子运 动的相关性。 物理学修订版 1964;136 :A405-11 。http://dx.doi.org/10.1103/PhysRev.136.A405网站。[2] Wang B,Nakano A,Vashishta PD,Kalia RK.单层二硫化钼kirigami上的纳米压痕。ACSOmega2019;4:9952-6.http://dx.doi.org/10.1021/acsomega.9b00771.[3] Jackson S,Nakano A,Vashishta P,Kalia RK. 由SnO2纳米颗粒引起的水中的电致伸缩空化。ACSOmega2019;4:22274-9.http://dx.doi.org/10.1021/acsomega.9b00979网站。[4] Nakano A,Kalia RK,Nomura K,Sharma A,Vashishta P,Shimojo F等人,A divide-and-conquer/cellular-decomposition framework for million-to-billion atom simulations of chemical reactions. Comput Mater Sci 2007;38:642-52. http://dx.doi.org/10.1016/j.commatsci.2006.04.012网站。[5] [10] Tchipev N,Seckler S,Heinen M,Vrabec J,Gratl F,Horsch M,et al.Twenty trillion-atom simulation ( Twenty trillion-atom simulation ) Int JHighPerformanceComputAppl2019;33:838-54.http://dx.doi.org/10.1177/1094342018819741网站。[6] 张文,张文,等.并行副本动力学方法.北京:计算机科学出版社,2000,24(3):117 - 118. Comput Mater Sci 2015;100:90-103. http://dx.doi.org/10的网站。1016/j.commatsci.2014.12.011。[7] Kadupitiya JCS,Fox GC,Jadhao V.基于深度学习的积分器,用于解决具有大时间步长的牛顿方程。2020年,arxiv预印本arXiv:2004.06493。[8]Dissanayake MWMG,Jiang-Thien N.基于神经网络的偏微分方程近似解。CommunNumerMethodsEng1994;10:195-201.http://dx.doi.org/10.1002/cnm.1640100303网站。[9]何H,Pathak J.基于自动编码器和图像梯度的芯片上求解热方程的无监督学习方法,arxiv预印本arXiv:2007.09684。[10]卢 F. 随 机 Burgers 方 程 的 数 据 驱 动 模 型 降 阶 。 22. 第 二 十 二 章http://dx.doi.org/10.3390/e22121360网站。[11]Jin X , Cai S , Li H , Karniadakis GE. NSFnets ( Navier-Stokes flownets):用于不可压缩Navier-Stokes方程的物理信息神经网络。J ComputPhys 2020;426:109951. http://dx.doi.org/10.1016/j.jcp的网站。2020.109951。[12]Kapetanović AL,Poljak D.用神经网络方法求解薛定谔方程。In:2020 Int.Conf.Software , 2019.Comput. 网 络 .2020 年 , 第 1-5 页 。http://dx.doi.org/10.23919/SoftCOM50211.2020的网站。9238221。[13]李文,张文,等.神经网络在微分方程求解中的应用[J].北京:科学出版社,2001,12(1):117.[14]Lagaris IE,Likas A,Fotiadis DI.解常微分方程和偏微分方程的人工神经网络。IEEETransNeuralNetw1998;9:987-1000.http://dx.doi.org/10.1109/72.712178网站。[15]王文斌,王文斌,等. Physics-informed neural networks:一个深度学习框架,用于解决涉及非线性偏微分方程的正问题和逆问题。《计算机物理学杂志》2019年;378:686-707。http://dx.doi.org/10.1016/j.jcp.2018.10.045网站。[16]Zhang D,Lu L,Guo L,Karniadakis GE. 量化物理信息神经网络中的总不确定性,以解决正向和反向随机问题。J Comput Phys 2019;397:108850.http://dx.doi.org/10.1016/j.jcp.2019.07.048.[17][10]孟新,李忠,张丹,Karniadakis GE. PPINN:Parareal physics-informedneural network for time-dependent PDE。计算方法应用机械工程2020;370:1-17. http://dx.doi.org/10.1016/j.cma.2020.113250网站。[18]张志忠,张志忠. VPINNs:变分物理-通知神经网络解决偏微分方程,arxiv预印本arXiv:1912.00873.[19]Haghighat E,Bekar AC,Madenci E,Juanes R.一个基于非局部物理学的深度学习框架,使用周向微分算子,arxiv预印本arXiv:2006.00446。[20]Nomura K , Kalia RK , Nakano A , Rajak P , Vashishta P. RXMD : Ascalable reactive molecular dynamics simulator for optimized time-to-solution.SoftwareX2020;11:100389.http://dx.doi.org/10.1016/j.softx.2019.100389网站。[21]Shimojo F,Fukushima S,Kumazoe H,Misawa M,Ohmura S,Rajak P,etal.QXMD : Anopen-sourceprogramfornonadiabaticquantummoleculardynamics.SoftwareX2019;10:100307.http://dx.doi.org/10.1016/j.softx.2019的网站。100307[22]Amirikian BR,Lukashin AV.神经网络根据最小作用原理学习运动轨迹。《 生 物 学 》 , 1992 年 ;66 : 261-4 。 http://dx.doi 的 网 站 。org/10.1007/BF00198479。[23]多扎特将内斯特罗夫的动力注入亚当体内ICLR研讨会; 2016年。[24]Jagtap AD,Kharazmi E,Karniadakis GE.守恒律离散域上的保守物理信息神经网络:应用于正问题和逆问题。计算方法应用机械工程2020;365:113028。http://dx.doi.org/10.1016/j.cma.2020.113028网站。
下载后可阅读完整内容,剩余1页未读,立即下载
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)