多语言展示
当前在线:970今日阅读:103今日分享:49

分子模拟软件 lammps (1)初识

LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)即:大规模原子分子并行模拟器,主要用于分子动力学的一些计算和模拟工作。
工具/原料
1

Linux基本操作或者Windows命令操作

2

lammps软件包

3

后处理软件VMD AtomEye Pymol Raster3d RasMol等

4

相似软件生物分子模拟软件CHARMM,AMBER,NAMD,NWCHEM,Tinker

方法/步骤 1 LAMMPS概述

LAMMPS可以模拟液体中的粒子,固体和汽体的系综,可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗粒化体系。他可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子。主要是根据不同的边界条件和初始条件对通过短程力和长程力相互作用的分子、原子和宏观粒子集合进行牛顿运动方程积分计算,并得出先关的后续运动状态和相关分析。LAMMPS可以在单个处理器的台式机和笔记本上运行并且具有较高的计算效率,但它是专门为并行计算机设计的。他可以在任何一个按装了C++编译器和MPI的平台上进行运算。LAMMPS是一款可以修改和扩展的免费计算程序如:可以加新的力场,原子模型,边界条件和诊断功能等。高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。各个处理器之间相互通信并且存储每一个小空间边界上的”ghost”原子的信息。LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。

方法/步骤 2 LAMMPS的功能
1

一般功能:可以串行和并行计算(即可以用一个核计算也可以多核并行计算)分布式MPI策略模拟空间的分解并行机制开源软件高移植性C++语言编写可选性:MPI和单处理器串行FFT可以进行扩展,以求得到新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务可以作为库函数,可以通过库函数界面或者提供Python包装来调用Lammps结合其他软件一起使用,Lammps可以调用其他软件,其他软件也可以调用Lammps

2

模拟最小单元和模拟类型:(命令 atom style)原子粗粒化粒子(如聚合物的珠子-弹簧)全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型有限尺寸延伸球形与椭圆形粒子有限尺寸线性分割(2D)和三角形(3D)粒子点偶极粒子刚性集合粒子这些模型的的杂化类型

3

力场(命令:pair style, bond style, angle style, dihedral style, improper style, kspace style)对相互作用势: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), 氢键, tabulated(表格)带电对相互作用势:Coulombic, point-dipole.多体作用势: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic长程库伦势、点偶极子势和LJ分散势:Ewald, Wolf, PPPM (similar to particle-mesh Ewald)极化模型: QEq, core/shell model, Drude dipole model电荷平衡:(QEq via dynamic, point, shielded, Slater methods)粗粒化作用势:DPD, GayBerne, Resquared, Colloidal, DLVO介观作用势:granular, Peridynamics,SPH电子力场(eFF, AWPMD)键势能:harmonic, FENE, Morse, nonlinear, class2, quartic键角势能:harmonic, CHARMM, cosine, cosine/squared, class2(COMPASS)二面角势能:harmonic, CHARMM, multi-harmonic, helix, OPLS, class2(COMPASS)纠正势能:harmonic, CVFF, class2(COMPASS)聚合物势能:all-atom, united-atom, bead-spring, breakable水势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加速的成对类型通过pair kim 引用KIM archive的势函数杂化势能函数:multiple pair, bond, angle, dihedral, improper potentials(多对势能处于更高的优先级)多个势函数可以用在同一个模拟过程中。重叠势函数:多个对势叠加

4

原子创建:(命令:read_data, lattice, create-atoms, delete-atoms, displace-atoms, replicate)从文件中读入各个原子的坐标在一个或多个晶格中创建原子删除几何或逻辑原子基团复制已存在的原子多次替换原子

5

系综,约束条件,边界条件:(命令:fix)二维和三维体系正角或非正角模拟空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域恒温控制有Nose/Hoover和Berendsen压力控制器来控制体系的压力1-3维度模拟合子的变形(扭曲与剪切)简谐(unbrella)束缚力刚体约束SHAKE键与键角约束Monte Carlo 键断裂,形成,和交换原子/分子插入和删除各种边界环境非平衡态分子动力学NEMD各种附加边界条件和约束

6

积分器:(命令 run, run_style, minimize)Velocity-verlet积分法Brownian积分法刚体积分法共轭梯度或最束下降算法能量最小化法rRESPA继承时间延化积分方法rerun命令 用于后处理的dump文件

7

诊断见各种各样的fix 和compute 命令

8

输出:(命令:dump, restart)log文件:热力学信息文本dump文件:原子坐标,速度和其它每个原子信息二进制重启文件并行I/O的dump和restart文件每个原子量包括:能量,压力,中心对称参数,CAN等用户自定义系统宽度或各原子的计算信息每个原子的时间与空间平均系统宽量的时间平均原子图像,XYZ,XTC,DCD,CFG格式

9

数据的前处理与后处理:  软件包里整合了某些的前处理与后处理工具,它们可以把lammps和其他软件的输入和输出文件相互转换。在../tools下,包括以下处理软件amber2lmp binary2txt ch2lmp chain colvars createatoms data2xmovie eam database eam generate eff emacs fep i-pi ipp kate lmp2arc lmp2cfg lmp2vmd matlab micelle2d moltemplate msi2lmp phonon polymer bonding pymol_asphere python reax restart2data vim xmgrace xmovie可以使用独立发行的工具组pizza.py, 它可以进行LAMMPS模拟的设置,分析,作图和可视化工作。

10

特别功能:实时的可视化与交互式MD模拟与有限元方法结合进行原子-连续体模拟在POEMS库中提供了刚体积分工具并行裉火并行复制动力学对低密度液体直接使用MC模拟Peridynamic介观建模目标型与无目标型分子动力学双温度电子模型

方法/步骤 3 LAMMPS不具备的功能:

由于LAMMPS是对牛顿运动方程积分的工具,所以很多必要的数据前处理与后处理功能是LAMMPS核心不具备的。其原因为:保证LAMMPS的小巧性、前处理与后处理不能进行并行运算、这些功能可以有其它工具来完成、原代码开发的局限性特别地,LAMMPS不能:通过图形用户界面来工作创建分子体系自动的加上力场系数为MD模拟提供智能化的数据分析MD的可视化为输出数据作图的建议我们需要为LAMMPS输入一系列的原子类型,原子坐标,分子拓朴信息和所有原子与键的力场参数。LAMMPS不会自动的为我们创建分子体系与力场参数。对与原子体系,LAMMPS提供了creat-atoms命令来为固态晶格加上原子。可以能过pair coeff,bond coeff, angle coeff等命来加上小数目的力场参数。对于分子体系或更复杂的模拟体系,我们通常会用其它工具来创建或者是转换LAMMPS输出文件来做到这些事情。有的还会写一些自已的代码来完成这项任务。对于一个复杂的分子体系(如,蛋白质),我们需要为之提供上面个拓朴信息与力场参数。所以我们建议用CHARMM或AMBER或其它的分子建模器来完成这些任务,并把之输到一个文件中去。然后,改变其格式以达到LAMMPS所允许的输入格式。同样,LAMMPS的输出文件是一种简单的文本格式,我们也可以通过其它的工具来换专这些格式。我们可以用以下几个软件来完成高质量的可视工作:VMD、 AtomEye 、Pymol、Raster3d、RasMol最后要说一下的是,以下这些也是自由分子动力学包,它们大多数是并行的,可能也适合来完成你的研究工作,当然也可以与LAMMPS联合起来使用以完成模拟工作。CHARMM、AMBER、NAMD、NWCHEM、DL_POLY、TinkerCHARMM,AMBER,NAMD,NWCHEM,Tinker是专们用于模拟生物分子的。

注意事项
1

在学习lammps软件之前要先了解分子动力学的模拟基础

2

懂一些Linux的基础操作将有利于lammps的后续学习

3

本经验制作时间2015-8月份,因软件会有更新,请随时关注官网进行学习。

推荐信息