Gromacs分子动力学模拟主要可以分为以下几个步骤,不同的体系步骤可能略有不同. 在开始之前,先简单了解一下预平衡: 分子动力学模拟的最终目的是对体系进行抽样,然后计算体系的能量,各种化学键,成分分析等等.打个比方说,我们有一个蛋白质,我们想将它放入一种溶液中(可能是水,也可能不是),然后看看这个体系的能量如何变化,蛋白质的化学键,与水分子形成的氢键等等信息,那么我们需要将蛋白质放入溶液中,映射到现实中就是讲溶剂放入溶剂中,然后等体系稳定后,观察其性质. 在MD中,这一过程不向现实中一样是自然…
技术背景 在分子动力学模拟的过程中,考虑到运动过程实际上是遵守牛顿第二定律的.而牛顿第二定律告诉我们,粒子的动力学过程仅跟受到的力场有关系,但是在模拟的过程中,有一些参量我们是不希望他们被更新或者改变的,比如稳定的OH键的键长就是一个不需要高频更新的参量.这时就需要在一次不加约束的更新迭代之后(如Velocity-Verlet算法等),再施加一次约束算法,重新调整更新的坐标,使得规定的键长不会产生较大幅度的变更. 初始化坐标参数 为了实现LINCS这一算法,我们先初始化一组随机的坐标用于测试,比…
技术背景 在上一篇文章中,我们讨论了在分子动力学里面使用LINCS约束算法及其在具备自动微分能力的Jax框架下的代码实现.约束算法,在分子动力学模拟的过程中时常会使用到,用于固定一些既定的成键关系.例如LINCS算法一般用于固定分子体系中的键长关系,而本文将要提到的SETTLE算法,常用于固定一个构成三角形的体系,最常见的就是水分子体系.对于一个水分子而言,O-H键的键长在模拟的过程中可以固定,H-H的长度,或者我们更常见的作为一个H-O-H的夹角出现的参量,也需要固定.纯粹从计算量来考虑的话,…
技术背景 在分子动力学模拟过程中会遇到一些拓扑结构非常复杂的分子模型,所谓的复杂不仅仅是包含众多的原子,还有各种原子之间的成键关系与成键类型等.这时候就非常能够体现一个好的可视化软件的重要性了,这里我们介绍的VMD是一个业界非常常用.功能也非常强大的一款软件. VMD的安装 首先访问VMD官方网站,找到适合自己本地OS和硬件系统的版本进行下载.这里我们本地是Ubuntu20.04的系统,所以下载了一个Linux通用的版本: 下载到本地之后,找到一个合适的文件夹进行解压: dechin@ubunt…
系统环境 Win11 22H2 企业版 开启虚拟化.window subsystem for liunx等虚拟机相关的功能 应用商店中安装WSL2 安装步骤 打开Ubuntu,输入sudo apt full-upgrade,并输入设置好的密码 安装cmake编译器sudo apt install cmake 安装c和c++编译器sudo apt install gcc&g++ 下载gromacs源码sudo wget ftp://ftp.gromacs.org/gromacs/gromacs-2…
变量定义 Global variables are BAD 定义内表先在程序开头定义types,如 types: begin of ty_structure,         id type i,         date type datum,         time type uzeit,         message type string,        end of ty_structure. "structure"常常简写为"stru"或"…
14位分辨率的模块(mo kuai)和16位分辨率的模块有什么不同的地方? 14位的模块最高位是符号位,我们用S表示符号位,那么这个模块的数值范围(fàn wéi)就是S111 1111 1111 11XX不考虑(consider)负的情况下,数值范围最大32764,最小是4,也就是只有数值大于3后,才可能(maybe)被模块检测到.那么16位分辨率的模块,最大表示是32767,最小是0,它能够测量(cè liáng)到最小为1.模块的分辨率的差别就出来了. 假设要测量(cè liáng)0-5…
技术背景 增强采样(Enhanced Sampling)是一种在分子动力学模拟中常用的技术,其作用是帮助我们更加快速的在时间轴上找到尽可能多的体系结构及其对应的能量.比如一个氢气的燃烧反应,在中间过程中会产生众多的反应产物,但是我们光从结果来看的话,就是从\(H_2\)加\(O_2\),经过燃烧以后变成了\(H_2O\),那么中间的过程就被我们全部忽略了.实际上化学反应是一个整体的过程,是非常复杂的,如果要控制一个化学反应的过程,或者制备某个中间态的产物,或者需要提升最终预期产物的占比,我们不得…
Unit1 SAP systems(SAP系统) 1.1 Explain the Key Capabilities of SAP NetWeaver(解释SAP NetWeaver的关键能力) Repository里显示的都是SAP系统里的东西 SAP Netweaver Capabilities User productivity(用户生产力) Business Intelligence Business Process Composition(即业务组合,用户使用composite appl…
C/C++ 程序库 // --------------------------------------------- 来几个不常见但是很变态的库吧: bundle: 把几乎所有常见的压缩库封装成了一个库, 接口完全统一, 想用哪个用哪个. 就一个h和一个巨TM大的cpp文件,巨好使巨方便. r-lyeh-archived/bundle Celero: 简单清晰的benchmark库, 特点就是简单易用没有废话. DigitalInBlue/Celero getopt: 解析命令行输入参数的库,…