新手入门 | 跑分子动力学必须要知道的5个点

article/2025/9/21 20:14:31

更多精彩请关注公众号:分子动力学

一、基 本 介 绍

随着计算机的软硬件和计算技术的发展,利用计算机对物质的微观结构和运动进行数值模拟计算得到了迅速发展,并在此基础上发展了用数值运算统计求和的方法:分子动力学 (MD) 方法和蒙特卡罗(MC) 方法。

这两种方法可以按照原子 (或分子) 的排列和运动的模拟以实现宏观物理量的计算,不仅可以直接模拟物质的宏观特性,得出与实验结果相比拟的计算结果,而且可提供微观结构、粒子运动,有利于从中提取新的概念和理论。在这里插入图片描述
二、历 史 简 述
1957年,Alder和Wainw right首先在硬球模型下,采用经典MD方法研究气体和液体的状态方程,取得了尝试性的成功,由于计算机速度和内存的限制,早期模拟的空间尺度和时间尺度都受到很大的限制。

21世纪80年代后期,由于计算机技术的飞速发展和多体势函数的提出与发展,为分子动力学模拟技术注入了新的活力。

1972年,Lees和Edwards首先将分子动力学模拟应用到了非平衡态的研究,进一步扩展了MD方法的应用范围。
在这里插入图片描述
目前,许多在实际实验中无法获得的微观细节,而在分子动力学模拟中可以很方便的得到,这种优点使得分子动力学模拟在新材料的研究和开发、预测材料的介观和宏观性质、生物分子结构与功能预测等领域显得十分重要,由此改变了过去理论计算与实验的关系。

三、模 拟 条 件

1、MD模拟的初始条件

合理的初始位形和初始速度将使得计算系统迅速松弛到所要求的平衡状态,减少计算次数。初始位形和初始速度可通过实验数据、理论模型或两者相结合来确定。
在这里插入图片描述
如果模拟系统无固定晶格结构,则每个原子的位置可用舍选法或 Petropolis等方法从初始密度分布得到;

每个原子的初速度可从初始温度分布下的 Maxwell-Bohamann分布来随机选取。对于流体分子系统,粒子的初始速度按高斯分布选取比较合理。

2、周期性边界条件

为了解决用少量的粒子,来模拟宏观体系问题, 引入了周期性边界条件,模拟体系实际上是由基本单元在各个方向上重复叠合而成。但在模拟中只需要保留基本单元,其它单元与基本单元由平移对称性关联。

在处理粒子之间的相互作用时,通常采用“最小影像”约定,就是通过满足不等式条件 rc < L/2来截断位势(rc为截断半径,L是元胞的长)。

3、MD模拟的系综

平衡态分子动力学模拟是在一定的系综下进行 的,常用的平衡系综是NVT和NPT系综,在这两种系综中,涉及到控制温度和压力的技术有调温方法和调压方法。

在这里插入图片描述
四、运 动 方 程

分子动力学模拟的出发点是假定粒子的运动可以用经典动力学来处理,对一个由N个粒子构成的孤立体系,粒子的运动由牛顿运动方程决定,也就是:mid2ri/dt2 =﹣△V (r1,r,2,rn) ,式中,mi、ri分别为第i个原子的质量和位置。

运动方程的数值积分:

计算机模拟方法的基点是利用现代计算机高速和精确的优点,对几百个以至上千个分子的运动方程进行数值积分。

有许多不同的积分方法,它们的效率和方便程度各异,问题基本上就是用有限差分法来对二阶常微分方程进行积分。

常用的有Verlet算法、“蛙跳”(Leap-frog)算法、Velocity-Verlet算法以及Gear的预测-校正算法。

五、 势 函 数

势函数是表示原子间相互作用的函数。势函数的研究和开发是MD发展研究的任务之一。下面按势函数形式介绍一些常用的经典势函数。

1、对势

在MD模拟初期,经常采用对势。对势是仅由两个原子的坐标决定的相互作用,计算两粒子之间的作用力时,不考虑其他粒子影响,比较常见的对势 有:Lennard-Jones势、Morse势以及Johnson势。
在这里插入图片描述
2、多体势

在实际研究中,研究的对象往往是具有较强相互作用的多粒子体系,其中一个粒子状态的变化将会影响其他粒子的变化,不是简单的两两作用,而是多体相互作用。主要包括嵌入原子势(EAM)与MEAM势。
在这里插入图片描述
此外,基于EAM势的势函数还有很多种,这些多体势大都用于金属的微观模拟。在MEAM里,镶嵌能项采取了形式F§=AEplnp,其中,E是系数,因不同材料而不同。

原子间势函数的形式多种多样,对于不同的应用对象势参数又互不相同,所以势参数的确定在MD 模拟的应用中至关重要。

势参数的确定通常有三种方法:

一是通过实验值(例如晶格常数、弹性系数等)拟合势参数;

二是通过蒙特卡罗方法确定势参数;

三是通过基于量子力学得到的各种微观信息来确定势参数。

总而言之,经典MD已经得到广泛应用,而原子间 的作用势函数仍然是思考最多的问题,因为势函数对结果精度的影响很大。那么提高势函数的精确性会是将来发展的重点。


http://chatgpt.dhexx.cn/article/CmjAKKGm.shtml

相关文章

lammps多孔结构

原创 公众号LAMMPS交流站 点击上方蓝字关注我们 大家好&#xff0c;我是YJ学长&#xff0c;本文的模型是小编在lammps模拟Ni的熔化过程中偶然生成了一帧多孔结构&#xff0c;小编觉得图挺好看的&#xff0c;因此做一期推送共同来讨论这一现象。 因能力有限&#xff0c;这种…

量子计算入门学习笔记 (八—— 密度算符 )

hello&#xff0c;大家好&#xff0c;如果您是第一次观看我的博客&#xff0c;如果您也是和我一样刚入门量子力学或是量子计算相关的学习&#xff0c;纠结于量子计算的抽象与晦涩难懂&#xff0c;那么本专栏&#xff08;量子计算&#xff09;一定是您的不二之选&#xff0c;学海…

lammps npt系综iso和aniso控压对比

大家好&#xff0c;我是小马老师。 本文讲解lammps基础命令fix npt设置。 关于系综的设置&#xff0c;前面已经介绍过多次&#xff0c;但在咨询中发现&#xff0c;对于大部分初学者来说&#xff0c;对于系综选择和设置还是有些困惑。 fix npt命令名称就可以看出&#xff0c;它的…

lammps案例:npt系综练手,H2压缩模拟

上一篇文章中介绍了npt系综的设置方法&#xff0c;本文给出一个lammps模拟氢气压缩的案例&#xff0c;熟悉npt系综的设置方法。 模拟温度300k&#xff0c;压强100GPa&#xff0c;在该条件下&#xff0c;氢气应该为固态。 在MS中建立H2模型&#xff0c;共包含1000个H原子&…

lammps教程:实例讲解npt、nvt系综的选择

对于lammps新手来说&#xff0c;系综的选择令人困惑&#xff0c;到底是应该用nvt系综还是npt系综&#xff1f; 我在初学lammps时就被这个问题困扰了很久。如果去问别人&#xff0c;可能会告诉你一个答案&#xff1a;根据模拟需要确定。 其实和没说一样。 到底如何确定系综&a…

lammps问题-关于NVT与NVE系综产生的不同

相同的材料构型&#xff0c;在不同的系综下产生如下不同的结果&#xff1a; 1.NVE系综下&#xff1a; 2.NVT系综如下&#xff1a; 产生的不同结果如上&#xff0c;原脚本如下&#xff1a; 1. shell mkdir initial-comp shell mkdir config-comp shell mkdir restart-comp #--…

Ensemble Average(系综平均)(集平均)

什么是系综平均&#xff1f;&#xff1a; 下图&#xff08;来自知乎&#xff1a;卖艺的小青年&#xff09;中集平均实际就是系综平均&#xff0c;按照随机信号分析的知识来分析&#xff0c;我们可以把这一系列函数看成一个随机信号&#xff0c;取定一个时间&#xff0c;我们就得…

系综理论(Ensemble Theory)

本文参考[Pathria] Statistical Mechanics (3rd Ed.)里的思路整理了系综理论的一些基本知识。Pathria的书有较多繁复的计算&#xff0c;在此不详细给出&#xff0c;只希望对系综理论能形成一个宏观的认知。 1. 前言 给定一个系统的宏观态描述 ( N , V , E ) (N,V ,E) (N,V,E)…

经典系综理论

系综理论是统计力学的理论基础 本质上来说&#xff0c;统计热力学中只有一个问题&#xff0c;即给定能量$E$&#xff0c;如何分布在$N$个全同系统构成的系综上 --薛定谔 1.系综的定义 在下面的介绍中我们可以逐渐体会这句话的含义&#xff0c;此时我们暂且把这个定位我们解决的…

lammps教程:nve/nvt/npt系综设置方法

系综是指大量性质和结构完全相同的、处于各种运动状态的、各自独立的系统的集合。 在lammps模拟中&#xff0c;常用的系综有nve、nvt、npt三种系综&#xff0c;下面说说这三种系综的使用方法。 1. nve&#xff08;微正则系综&#xff09; nve系综保证系统中原子数量n、体系总…

数值分析(2)-多项式插值: 拉格朗日插值法

整理一下数值分析的笔记~ 目录&#xff1a; 1. 误差 2. 多项式插值与样条插值(THIS) 3. 函数逼近 4. 数值积分与数值微分 5. 线性方程组的直接解法 6. 线性方程组的迭代解法 7. 非线性方程求根 8. 特征值和特征向量的计算 9. 常微分方程初值问题的数值解 1. 拉格朗日基函数 定…

拉格朗日插值法求多项式系数 (附代码)

写在前面&#xff1a; 学了拉格朗日插值法之后发现大家都说可以在O(n^2)时间内得到多项式系数&#xff0c;但是没有找到代码&#xff0c;网上找了很多资料又因为我太弱了没能看懂&#xff0c;最后在emofunx学长的帮助下终于搞明白了。 由于太弱没能看懂的文章 引入 我们都知…

拉格朗日插值多项式的龙格现象

利用插值基函数可以很容易得到拉格朗日插值多项式&#xff0c;公式结构紧凑&#xff0c;在理论分析中甚为重要。但存在以下问题&#xff1a; 当插值节点增减时&#xff0c;计算要全部重新进行&#xff0c;甚为不便&#xff08;当然现在我们有MATLAB&#xff0c;只需改变下参数…

拉格朗日多项式插值法

在数值分析中&#xff0c;拉格朗日常用于多项式插值。假定提供一组数据点[xi,yi]&#xff0c;拉格朗日插值多项式就是由这些 数据的线性运算得到的。 其中基本的多项式有以下公式计算得到 注意 1.第一提供的xi应该是没有相同的&#xff0c;否则不能应用此算法 2.对于每一个xi&…

拉格朗日插值和求多项式系数

拉格朗日介绍 先说说拉格朗日是啥吧 首先 拉格朗日插值是给你 n1 个点 (x,y) 然后根据这n个点可以O(n^2)的求出多项式的系数。也就是解出这个多项式的答案。 假设给你一个多项式 ya0a1*xa2*x^2 然后给你3个解 (x1,y1)(x2,y2)(x3,y3)你第一个想法是怎么解&#xff1f;解方程啊…

数学建模准备 插值(拉格朗日多项式插值,牛顿多项式插值,分段线性插值,分段三次样条插值,分段三次Hermite插值)

文章目录 摘要&#xff08;必看&#xff09;0 基础概念什么是插值插值用途什么是拟合插值和拟合的相同点插值和拟合的不同点 1 常用的基本插值方法1.1 多项式插值法1.1.1 拉格朗日多项式插值法多项式插值并不是次数越大越好&#xff08;龙格现象&#xff09;分段低次线性插值以…

数模--拉格朗日多项式插值、matlab实现

拉格朗日多项式公式&#xff1a; matlab中插入一个值的代码 function yhlagrange(x,y,xh) %定义拉格朗日插入函数 nlength(x); %统计x和xh的长度 mlength(xh); yhzeros(1,m); %构建一行m列的zero矩阵 c1ones(n-1,1); …

计算方法实验(一):拉格朗日插值多项式

拉格朗日插值数学原理 给定平面上 n 1 n 1 n1个不同的数据点 ( x k , f ( x k ) ) (x_{k},f(x_{k})) (xk​,f(xk​))&#xff0c; k 0 , 1 , ⋯ , n k 0,1,\cdots,n k0,1,⋯,n&#xff0c; x i ≠ x j x_{i} \neq x_{j} xi​​xj​&#xff0c; i ≠ j i \neq j i​j&…

拉格朗日插值多项式在MATLAB中的实现

拉格朗日插值多项式在MATLAB中的实现 Hi! 这是我的一个CSDN博客 例 以下给出了针对题&#xff08;2&#xff09;的使用方法 输入&#xff1a; 1.节点值 2.需要插值的原函数 对于题&#xff08;2&#xff09;需要设置参数为&#xff1a; xx [0,0.25,0.5,1];% The nodes(n…

lagrange插值法:求拉格朗日插值多项式matlab实现(内附代码及例题)

lagrange插值法:求拉格朗日插值多项式matlab实现(内附代码及例题) 关于拉格朗日插值法相关理论知识&#xff0c;在这里小编不在赘述&#xff0c;请不明白的小伙伴自行百度。小编只负责给出matlab源码。 **例题:**看下面例题(如图): matlab代码: %%%% 求拉格朗日多项式及基函…