Haolun-Li
Haolun-Li
你好。 我想根据Roy的提问抛砖引玉式的回答一下。 **ReaxFF的大概原理** ReaxFF立场首先根据两个原子间间距以及计算出BO, 再根据BO计算出共价相互作用(键能,键角能,二面角能以及corrections等)。 当某个时间步的某个键的BO小于某个数值(默认值是0.3),会判断该化学键断裂从而导致共价相互作用消失。反之,如果在某时间步的某个两个原子间的BO超过0.3,会判断这两个原子间生成化学键,从而产生相互作用。(这个步骤与LAMMPS的fix bond/react命令相似)。 关于立场文件: 首先,ReaxFF虽然目标是开发出满足大多元素原子模拟的立场,但是目前并不能给出所有元素间的相互作用参数。比如hcb8174875举例的水化硅酸钙的参数组可以计算Si-O间的相互作用,其他的参数组可以计算Cu-O间的相互作用,但是目前可能不存在能计算Si-Cu间相互作用的参数组。还有一点就是目前对于同一个原子对(例如C-O),可能存在多种参数组来计算C-O相互作用,由于每个参数组被开发时的研究目的并不相同(比如说这个参数组适用于模拟烷烃的燃烧,另一个适用于模拟高分子聚合过程),其中的参数也并不相同,大家需要根据各自的需要去比对,选择最适合自己研究目的的参数组。 其次,hcb8174875给出的链接可以查看目前大部分ReaxFF的参数组以及其出处的论文。但是由于绝大部分的论文给出的supplementary infomation是pdf格式的,需要利用工具或打字把pdf格式的立场文件转化成纯文本文件并且需要多次检查。有能力的话可以联系论文的通讯作者问问能不能发一份立场文件给你,或者如果大家所在的学校或研究所购买了scm的ReaxFF软件包的话应该也可以直接从里边提取立场文件。 **在LAMMPS上执行ReaxFF模拟** Datafile: 不同于classicalMD,ReaxFF模拟不需要拓扑结构(Bonds,Angles,Dihedrals)的信息,只需要原子种类质量等基础信息以及坐标信息即可。同时,ReaxFF会自动计算原子电荷,所以datafile中记入的原子电荷属于无效情报(但是对于datafile的格式来说电荷是必要的)。 相关命令: (具体请参考LAMMPS的manual) 1. pair_style reax/c 命令 pair_coeff 命令 上面两项命令指定ReaxFF立场以及导入立场文件,也可以导入controlfile来进行一部分计算的设定(各类cutoff等)以及输出文件的一些设定(不导入的话会配置默认设置)。 2. fix qeq/reax 命令 电荷平衡计算相关的命令 3. fix...