技术背景 在分子动力学模拟的过程中,考虑到运动过程实际上是遵守牛顿第二定律的.而牛顿第二定律告诉我们,粒子的动力学过程仅跟受到的力场有关系,但是在模拟的过程中,有一些参量我们是不希望他们被更新或者改变的,比如稳定的OH键的键长就是一个不需要高频更新的参量.这时就需要在一次不加约束的更新迭代之后(如Velocity-Verlet算法等),再施加一次约束算法,重新调整更新的坐标,使得规定的键长不会产生较大幅度的变更. 初始化坐标参数 为了实现LINCS这一算法,我们先初始化一组随机的坐标用于测试,比…
技术背景 在上一篇文章中,我们讨论了在分子动力学里面使用LINCS约束算法及其在具备自动微分能力的Jax框架下的代码实现.约束算法,在分子动力学模拟的过程中时常会使用到,用于固定一些既定的成键关系.例如LINCS算法一般用于固定分子体系中的键长关系,而本文将要提到的SETTLE算法,常用于固定一个构成三角形的体系,最常见的就是水分子体系.对于一个水分子而言,O-H键的键长在模拟的过程中可以固定,H-H的长度,或者我们更常见的作为一个H-O-H的夹角出现的参量,也需要固定.纯粹从计算量来考虑的话,…
Gromacs分子动力学模拟主要可以分为以下几个步骤,不同的体系步骤可能略有不同. 在开始之前,先简单了解一下预平衡: 分子动力学模拟的最终目的是对体系进行抽样,然后计算体系的能量,各种化学键,成分分析等等.打个比方说,我们有一个蛋白质,我们想将它放入一种溶液中(可能是水,也可能不是),然后看看这个体系的能量如何变化,蛋白质的化学键,与水分子形成的氢键等等信息,那么我们需要将蛋白质放入溶液中,映射到现实中就是讲溶剂放入溶剂中,然后等体系稳定后,观察其性质. 在MD中,这一过程不向现实中一样是自然…
技术背景 在分子动力学模拟过程中会遇到一些拓扑结构非常复杂的分子模型,所谓的复杂不仅仅是包含众多的原子,还有各种原子之间的成键关系与成键类型等.这时候就非常能够体现一个好的可视化软件的重要性了,这里我们介绍的VMD是一个业界非常常用.功能也非常强大的一款软件. VMD的安装 首先访问VMD官方网站,找到适合自己本地OS和硬件系统的版本进行下载.这里我们本地是Ubuntu20.04的系统,所以下载了一个Linux通用的版本: 下载到本地之后,找到一个合适的文件夹进行解压: dechin@ubunt…
ALTER TABLE table_name DISABLE CONSTRAINT constraint_name; select * from all_constraints where owner = 'SCOTT' and constraint_name = 'SYS_C007539'; select*from all_constraints where owner ='SCOTT'and constraint_name ='SYS_C007539';…
系统环境 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…
--============================= --SQL基础--> 约束(CONSTRAINT) --============================= 一.几类数据完整性 实体完整性:表中记录不反复(不论什么两条记录不全等)而且每条记录都有一个非空主键 域完整性:表中字段值必须与字段数据类型.格式.有效范围相吻合 參照完整性:不能引用不存在的值 自己定义完整性:依据特定业务领域定义的需求完整性 保证数据完整性的几种经常用法 约束(最经常使用) 过程 函数 触发器 实体…
1.主键约束: 格式为:alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名) 例子:alter table emp add constraint ppp primary key (id); 2.check约束:就是给一列的数据进行了限制格式:alter table 表名称 add constraint 约束名称 增加的约束类型 (列名) 例子:alter table emp add constraint xxx check(age>20); 3.un…
总结 约束放置在表中,以下五种约束: NOT NULL 非空约束C 指定的列不允许为空值 UNIQUE 唯一约束U 指定的列中没有重复值,或该表中每一个值或者每一组值都将是唯一的 PRIMARY KEY 主键约束P 唯一的标识出表的每一行,且不允许空值值,一个表只能有一个主键约束 FOREIGN KEY 外键约束R 一个表中的列引用了其它表中的列,使得存在依赖关系,可以指向引用自身的列 CHECK 条件约束C 指定该列是否满足某个条件 约束命名规则 如果不指定约束名Oracle server 自…
约束用于限制加入表中数据的类型 约束的种类: 非空约束(NOT NULL):约束列不接受NULL值,强制字段始终包含值. 唯一约束(UNIQUE):约束一列或一组列中的数据是唯一的.表中可以有多个唯一约束. 主键约束(PRIMARY KEY):约束一列或一组列中的数据是唯一的,且不能改动,一个表中只能有一个主键约束. 外键约束(FOREIGN KEY):外键是表中的一列,其值必须列在另一个表的主键中.只有InnoDB支持. 默认值约束(DEFAULT):约束向列提供默认值. 检查约束(CHECK…