PWmat强大的第一性原理计算能力有望在有限计算资源内增加可模拟的体系尺寸或模拟的时长_龙讯旷腾的博客-程序员秘密

技术标签: 机器学习  第一性原理  分子动力学  材料模拟计算  

本文整理自/《机器学习在分子动力学中的应用》培训视频

原创/wlj

编辑/paprika

力场的概念,机器学习的作用

我们都知道在很多实际问题中,需要模拟体系的动态过程,而这需要计算体系的能量。但第一性原理计算能量成本过高,无法解决很多有现实价值的大体系问题。在上世纪70年代人们提出力场的概念,以原子的几何排布来近似能量,大幅加快计算能量的速度。一般来说,力场会考虑原子间距离、化学键夹角以及其他更复杂的特征。

经过大约几十年的发展,力场在生物制药领域得到非常广泛的应用。很多国外的大型药企,都在力场的研发上有相当大的投入。但是我们称之为经典力场的这套方法,在很多情况下精度并不令人满意。力场的开发许多时候依赖于经验和实验数据,所以自然会引入一些噪音,这对力场的精度会造成影响。另外材料、化学工程领域,许多问题需要考虑量子力学效应,需要在力场中有体现。

力场的开发本质上是一个拟合的过程。举一个简单例子,对一个只有2个原子的体系,显然最重要的一个参数就是两个原子之间的距离。如果我们能够在某一个给定的范围内,很好地拟合出距离和能量之间的关系,那么就可以认为这是一个考虑周全的优秀力场。显然,对于更复杂的体系,需要更多的参数和更复杂的表达式。而从计算的角度来看,这恰恰是机器学习所擅长的。

PWmat的优势,MLFF开源下载使用

PWmat强大的第一性原理计算能力可为训练力场提供精确数据源,因此可以获得更加精确的力场,大幅加速分子动力学计算。这有望在有限计算资源内增加可模拟的体系尺寸或模拟的时长,从而研究现阶段无法模拟的现象。以100个原子的体系为例,依托第一性原理计算能力可在有限资源下通过训练力场,模拟200个原子甚至更大的体系。这在材料、制药以及电池等工业领域都有很广阔的应用前景。

PWmat—MLFF机器学习平台有4种训练模型,分别为线性模型、非线性VV模型、基于Kalman滤波器的深度神经网络(KFNN)以及基于Kalman滤波器的DP-torch模型(KFDP),另外还有8种默认特征。此外,我们将在未来实现特征和模型的接口,用户可自己发展新的特征和新的训练模型。在训练数据上,PWmat-MLFF支持PWmat格式和VASP格式;在分子动力学模拟的阶段,用户可使用LAMMPS和PWmat。

得益于PWmat独特的能量分解算法,PWmat-MLFF可以将每个原子单独的能量作为训练数据输入到机器学习算法中。这相当于挖掘出每一步分子动力学计算中的隐含信息,有望降低训练数据量。其他软件或平台目前还不能拥有此项优势。在训练中,PWmat-MLFF提供Kalman滤波器作为优化器,相比常见的ADAM优化器,Kalman滤波器能够明显加速收敛的过程,缩短训练的时长。

目前,在龙讯超算云平台Mcloud上已预装PWmat-MLFF,并将其打造成一个开源平台,使得工业界和学术界用户能以最小的成本将机器学习力场投入应用。您可以前往github公开下载、自由获取代码,我们也欢迎不同领域朋友贡献智慧。

https://github.com/LonxunQuantum/MLFF

使用教程/模拟案例/更多精彩内容

点击此处观看视频(建议wifi环境下观看)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/PWmat/article/details/125388444

智能推荐

大学计算机基础四大专业课,《大学计算机基础》课程教学大纲.doc_知乎体育的博客-程序员秘密

《大学计算机基础》课程教学大纲总学时:48,其中:(理论教学)+16(实验课内)+16(实验课外)一、课程性质与目的本课程为全校非计算机专业本科生必修的公共基础课,也是大学计算机基础课程体系中的第一门计算机基础课程。本课程主要涉及计算机各领域概念和知识层面的内容和大学生必不可少的计算机基本能力培养。它对原大学计算机计算机基础课程内容进行了梳理、精简和提升,既要不弱化“计算机软件的使用”,掌握基本的...

剑指offer面试题【34】----二叉树中和为某一值的路径【二叉树】【递归】_poppy_MCT的博客-程序员秘密

题目描述输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)代码实现# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self...

LeetCode算法题整理_lcod算法题_麓瑾的博客-程序员秘密

算法题数组两数之和(#1)给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>(); for (int i = 0; i < nums.leng

【WebService学习】-----SpringBoot整合JAX-WS构建WebService_DreamTech1113的博客-程序员秘密

文章目录1.简介2.Spring整合JAX-WS2.1 介绍2.2 Common2.3 WebServiceServer(服务端)2.4 WebServiceConsumer(客户端)3.测试4.参考1.简介   Spring框架整合RMI和Hessian,以及Spring框架中的HttpInvoker来构建远程服务时,可以发现Spring框架都会提供了一个对应导...

STM32F103基于W5500实现Modbus简单TCP通信_stm32单片机实现tcp/ip_醉意丶千层梦的博客-程序员秘密

文章目录一、Modbus/TCP协议1.查询报文2.响应报文二、从机代码1.初始化从机网络2.简单响应函数3.main函数循环等待连接三、效果四、总结一、Modbus/TCP协议1.查询报文00 6D 00 00 00 06 01 03 00 00 00 0100 6D 查询编号00 00 协议00 06 数据包长度01 设备编号03 功能码00 00 起始地址00 01 查询寄存器个数2.响应报文00 6D 00 00 00 05 01 03 02 00 1700 6D 查询编号

@EnableAsync annotation metadata was not injected_weixin_30902251的博客-程序员秘密

【问题描述】  @EnableAsync annotation metadata was not injected  spring配置初始化时候报错  nested exception is java.lang.IllegalArgumentException:@EnableAsync annotation metadata was not injected  详情信息如...

随便推点

IE下input密码框右侧的小眼睛_weixin_34343689的博客-程序员秘密

IE浏览器下,在input密码框中输入密码后,input框右侧会出现一个小眼睛,用鼠标一点就可以看到密码原文12用户名:<inputtype="text"><br><br>密码名:<inputtype="password">为了去掉这个样式,我们可以使用一小...

大学计算机基础课程报告python-大学计算机基础_weixin_37988176的博客-程序员秘密

spContent=《大学计算机基础》是面向大学一年级非计算机专业学生开设的计算机入门课程。它既不是一门单纯的计算机知识课程,也不是一门程序设计课程或者算法课程,而是一门思维方式和工程方法的训练课程。课程除介绍必要的计算机基础知识外,着重通过系列案例讲解和Python编程实践,培养学生以计算思维解决实际问题的基本思维方法。课程从问题抽象建模开始,通过从自然语言描述的问题,到形式语言描述的模型,到算...

高效程序员应该养成的几个习惯_weixin_30338481的博客-程序员秘密

对于软件工程师来说,工作也许意味着许多东西 -- 稳定的收入、做自己感兴趣的项目、找一份更好工作的跳板,或者你只是喜欢与其他程序员共事。但说到“效率”,强调的是在一定时间内按质完成项目的能力。理解你的需求成为一个有效率的程序员首先要知道如何正确的支配自己的时间。对时间最大的浪费莫过于去做那些没有用处或者永远不会上线的项目。而导致这种结果的根源往往是对需求理解的偏差。 要最大程度避免这种情况的发...

国网招聘计算机三级能代替二级吗,计算机等级考试改革之后,可以不考二级直接考三级吗?对以后的发展有没有影响?..._天街踏尽公卿骨的博客-程序员秘密

计算机等级考试改革之后,可以不考二级直接考三级吗?对以后的发展有没有影响?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!计算机等级考试改革之后,可以不考二级直接考三级吗?对以后的发展有没有影响?2018年3月开始,通过相应科目考试即可获证,不再限制对应二级证书。如果你三级都可以过的话,二级一般也是没什么问题的,所以对以...

python调用git命令高端_python操作git_tomorrow-77的博客-程序员秘密

python操作git安装模块pip3 install gitpython基本使用import osfrom git.repo import Repo# 创建本地路径用来存放远程仓库下载的代码download_path = os.path.join('lingzhi','code')# 拉取代码Repo.clone_from('https://github.com/DominicJi/TeachT...

推荐文章

热门文章

相关标签