如何学分子模拟的软件

如何学分子模拟的软件当今分子模拟已经成为很多领域学术研究的主流方法。多年前,因为计算量的原因,很多情况下,MC方法是首选,特别是只关心平衡体系,关心相边界行为的时候。随着计算资源的增加、计算成本的降低、一些研究对象的平衡态的体系已经几乎被做烂了,科研工作者慢慢关心动力学行为,非平衡特征,致力于发现新的现象,新的物理规律(总要有事做,有饭吃吧),于是MD越来越普及,用的人也越来越多。除了极端的方法学工作者,一般情况下…

大家好,又见面了,我是你们的朋友全栈君。

当今分子模拟已经成为很多领域学术研究的主流方法。多年前,因为计算量的原因,很多情况下,MC方法是首选,特别是只关心平衡体系,关心相边界行为的时候。随着计算资源的增加、计算成本的降低、一些研究对象的平衡态的体系已经几乎被做烂了,科研工作者慢慢关心动力学行为,非平衡特征,致力于发现新的现象,新的物理规律(总要有事做,有饭吃吧),于是MD越来越普及,用的人也越来越多。

除了极端的方法学工作者,一般情况下,MD的结果更容易被实验研究这,审稿人接受。

当一个方法被大家普遍接受且研究所需要成本降低时,对应于这个方法的产品,也就是我们的模拟软件就会雨后春笋的出来了。因为,不同的人研究对象不同,所用的相互作用不同,数据处理的思路等等不同,会出现多种版本的软件:不同的团队开发,面向不同用户群的软件。

问题是,如果学一个软件呢?我的经验是把软件的核心部分,即MD的基本原理和实现算法搞明白,弄清楚。这些懂了,任何软件都容易上手,那么我们下面讲讲哪些是基础。

  1. 知道一个核心,MD就是解多粒子体系的牛顿方程(F=ma),多粒子下,我们不是直接面对F,而是粒子间相互势 U, 而二者有直接关系 F= – (倒三角) U。一般情况下,U是坐标的函数。

  2. 上面懂了后,我们想得到粒子的运动。U(或者说是势函数)要先定,这就是建模了,不同体系,U会不同;决定U的就是粒子间相互作用的参数了,这些参数完全知道了,在全原子的情况下就叫力场。

  3. 要让计算机明白你的上述信息,你要按照机器要求(格式)写文件,这就是输入数据,包含坐标、力场参数,复杂体系还要包含研究对象的分子内结构等。【这就是学软件必须遵守的,不要问他们为啥用这种格式,软件开发者喜欢罢了】

  4. 接下来一步就是要了解算法(如何解方程)了,常见的velocity-verlet, 蛙跳,控温空压方法(统计物理的一些基本概念)大致了解,不需要很懂,因为你接触不了这些算法,知道他们参数意义就行了。了解了之后你才会写控制文件(也就是你的研究对象遵循的运动规律,有了控温空压),才能判断自己写的对否。

  5. 对计算加速的处理方法也要了解,比如近邻列表、box类型、相互作用势的处理等等。

  6. 最后一步,就是数据如何处理了,不同学科肯定不同,这种数据处理的方法,和你的学科知识紧密相连,多读文献,多看专业的书才是王道。这个基础和模拟软件关系不大。

简单的说,软件的学习,会写正确的 data(坐标、分子拓扑链接)文件,会写正确的in(运动规律)文件就行了(正确有两个层次:一是能Run,二是算出来是符合物理规律的)。其他不是软件能帮大家解决的,特别是模拟的经验性的东西,需要不断的交流(www.isimuly.com)和探索。只是格式上学会了写Data,in文件(这是方法的核心部分),不一定会建模和数据处理(研究问题的核心部分)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141253.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 渗透测试 漏洞扫描_系统漏洞扫描工具有哪些

    渗透测试 漏洞扫描_系统漏洞扫描工具有哪些安全漏洞产生的原因技术原因软件系统复杂性提高,质量难于控制,安全性降低 公用模块的使用引发了安全问题经济原因“柠檬市场”效应——安全功能是最容易删减的部分环境原因从传统的封闭、静态和可控变为开放、动态和难控 攻易守难安全缺陷安全性缺陷是信息系统或产品自身“与生俱来”的特征,是其“固有成分”安全漏洞是与生俱来的系统设计缺陷Internet从设计时就缺乏安全的总体架构和设计 TCP/IP中的三阶段握手.软件源代码的急剧膨胀Windows951500万行

    2022年8月12日
    7
  • java 二维数组 数据库_java 二维数组如何存入数据库

    java 二维数组 数据库_java 二维数组如何存入数据库usingSystem;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Xml;usingSystem.Xml.Serialization;usingSystem.IO;namespaceWindowsFormsApplication1{publicpartialclassForm…

    2022年5月16日
    37
  • 数据库拉链表详解_拉链表断链

    数据库拉链表详解_拉链表断链一、前言在上一节简单介绍了拉链表,本节主要讲解如何通过binlog采集MySQL的数据并且按月分区的方式实现拉链表。这里以上节介绍的用户表(user)举例二、涉及到的表1.原始表(user)原始表指的是MySQL中的表,表结构如下:其中name为主键,如果没有主键则无法做拉链表。2.binlog流水表(user_binlog)操作类型字段枚举值为:insert、update、delete。设…

    2022年10月17日
    3
  • C#实现一个局域网文件传输工具

    C#实现一个局域网文件传输工具工作需要,经常会在工作的台式机和笔记本之间传文件或者需要拷贝文本,两个机器都位于局域网内,传文件或者文本的方式有很多种,之前是通过共享文件夹来进行文件的拷贝,或者通过SVN进行同步。文本传递比较简单,可以通过两台机器上装QQ登两个号码,或者在共享目录下建一个TXT,或者发电子邮件等等。不过上面这些方法总觉得不直接,所以想基于P2P做一个小的局域网文件和文字传输小工具。WinForm的工程,

    2022年6月3日
    38
  • calico跨网段不通_多对网桥ip地址相同

    calico跨网段不通_多对网桥ip地址相同Calico简介Calico是一个基于BGP协议的网络互联解决方案。它是一个纯3层的方法,使用路由来实现报文寻址和传输。相比flannel,ovs等SDN解决方案,Calico避免了层叠网络带来的性能损耗。将节点当做router,位于节点上的container被当做router的直连设备。利用Kernel来实现高效的路由转发。节点间的路由信息通过BGP协议在…

    2025年7月29日
    4
  • SPI协议简单介绍

    SPI协议简单介绍导言SPI是串行扩展总线。串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时系统的更改和扩充极为容易。常用的串行扩展总线有:I2C(InterICBus)总线、单总线(1-WIREBUS)、SPI(SerialPeripheralInterface)总线及Microwire/PLUS等。一、SPI协议SPI总线是微控制器四线的外部总线。SPI没有明文标准,是一种事实总线,对通信操作的实现由芯片厂商和驱动开发者通过datasheet和applicat..

    2022年10月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号