热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

分子模拟相关原理

分子模拟定义及方法将一定数量的分子输入计算机内进行分子微观结构的测定和宏观性质的计算。按照获得微观态的方法不同,分子模拟可以分为:1.MonteCarl

分子模拟定义及方法

将一定数量的分子输入计算机内进行分子微观结构的测定和宏观性质的计算。按照获得微观态的方法不同,分子模拟可以分为:

1.Monte Carlo蒙特卡罗方法,MC:1.构型平均,不包含动力学部分;2.利用概率行走产生微观态。

2.Molecular Dynamics分子动力学,MD:1.时间平均,产生动力学性质;2.利用运动轨线随时间的变化来产生一系列微观态。

主要依靠牛顿力学来模拟分子体系的运动,以在分子体系的不同状态构成的系统中抽取样本,从而计算体系的构型积分,并以构型积分的结果为基础,进一步计算体系的热力学量和其他宏观性质。目的是用少量粒子的长时间平均行为,来试着取代大量粒子的瞬间平均行为。

3.hybrid method混合方法,HM

分子模拟涉及的几个基本概念

1.Simulation box(cell)模拟计算盒子或模拟胞腔:装有一定数目流体分子的研究对象,它是我们要研究的宏观体系的微缩模型。设盒子边长为L,则体积为V=L3,分子的质量为m,则系统的密度为d=Nm/L3,系统的密度=实验室测定的密度。

2.Periodic boundary condition周期边界条件,PBC:

在小体系中,边界效应总是很显著。在模拟中,考虑具有真实边界的对象,不切合实际(增强了有限尺寸效应;人为造成的边界会影响流体的性质)。故需要以下算法:本体系的近似——中心盒子在x,y和z方向上无限扩展,消除人为形成的边界的表面效应,保证中心盒子中的粒子数恒定,只需要跟踪中心盒子中个粒子的运动。(当某个粒子运动出模拟盒子的某一边界时,另外一个影像粒子从另一对立边界进入到此盒子中)

 周期边界条件的算法:

          

Fortran中常用函数:

Dble(x)*把数据x转换成双精度实数,x:I

ANINT(x[,kind])*对x四舍五入取整,并转换为实数(kind),x:R,kind:I,结果:R(kind)

 3.Minimum image convention最小影像转化原理:中心元胞中的一个粒子只与此元胞中的其它N-1个粒子,或它们的最近邻影像发生相互作用。适用条件:粒子间相互作用势能的截断距离必须不大于模拟中心元胞长度的一半。

最小影像转化原理的算法:

4.Truncating the Potential截断势能:粒子间的相互作用主要来自于截断范围内,而范围外的贡献很小,可忽略不计。(不大于最小边长的一半)

   

Truncated Potential简单截断势能函数:                      Shifted and Truncated Potential位移截断势能函数:                  Shifted-Force Potential位移-力截断势能函数:

 势能在截断处不连续,能量不守恒                                常用于MC,MD模拟中,但势能在截断处连续                               常用于MD模拟中,分子间力和势能在截断处均连续

分子间力在截断处不连续且无穷大,MD运动不稳定          分子间力在截断处不连续,不为无穷大但势能在截断处连续

蒙特卡罗方法基础

亦称为统计模拟或随机抽样方法,statistical simulationmethod-->利用随机数进行数值模拟的方法

随机数具有的基本特性:1.随机数序列应是独立的、互不相关的uncorrelated;2.场长的周期long period;3.均匀分布的随机数应满足均匀性uniformity;4.有效性efficiency.

得到一个可能的随机数列,是在计算机上实现Monte Carlo方法的关键。MC方法解决的问题:1.问题本身是确定性问题,要求我们去寻找一个随机过程,是该随机过程的统计平均就是所求问题的解;2.问题本身就是随机过程,我们可以根据问题本身的实际物理过程来进行计算机模拟和跟踪,并采用统计方法求得问题的解。

正则系统蒙特卡罗模拟方法(NVT)Canonical Monte Carlo Simulation

正则系综MC模拟算法的组织:                                                                                           正则系综MC模拟算法的流程:

正则系综MC程序模拟资源:

随机发生器资源:

分子动力学基础

1.如何实现纳米尺度的材料研究与宏观尺度的实验结果的比较?分子动力学元胞+周期边界条件

要找到合适的元胞,需要对不同尺寸的元胞进行试验(收敛性试验),找到收敛趋势,得到截断值,由此得到代表性单元。(注意找收敛趋势的时候要画在同一坐标里)

元胞模型的建立:(1).材料的原子结构——材料所含个原子的空间位置,可由x射线衍射法实验获得,详细信息可通过数据库查找:American Mineralogist Crystal Structure Datebase;(2).材料原子间立场的定义——个原子间的相互作用势,包括库仑力,分子内部原子相互作用力,分子间原子相互作用力(范德华力)。定义库伦力势与分子内部及分子间原子作用力势(简单为好)

分子总能量=动能+势能(几何坐标的函数)

非键结作用:最基本的应用最多的是二体势(对势),最常用的是Lennard-Jones对势,ε是能量参数,σ是长度参数,如下:

   

将牛顿运动定律方程式对时间积分,可以预测原子经过时间t 后的速度和位置。其数值解法:verlet方法

 

2.岩土材料的晶体结构——空间点阵

晶胞——在晶格中最能表现出其结构一切特征的最小部分。(在三维空间有规则地重复排列变成了晶格或晶体)。6个参数,三个边(a,b,c),三个角(α,β,γ),七种晶系。

晶体的基本类型:粒子晶体(NaCl),原子晶体(金刚石),分子晶体(CO2),金属晶体(Cu)。

 


转载于:https://www.cnblogs.com/zll-52011/p/9819675.html


推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
author-avatar
品花人生1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有