虽然lammps模拟没有可视化的前处理和后处理程序,但lammps提供了两种方式输出模拟结果。
thermo和thermo_style命令输出模拟过程中总体系的信息,如体系的温度、势能、动能、压力等结果,但是不能输出单个原子的信息。
lammps提供了dump命令输出单个原子的信息,如原子坐标、受力、原子速度等。
本文主要介绍一下dump命令的使用。dump命令非常强大,不仅可以输出文本、二进制、压缩文件,还可以输出图像和视频。
dump命令格式为:
dump ID group-ID style N file args
ID:dump命令编号
group-ID:输出的原子组ID
style:输出类型
N:每隔N步输出一次文件
file:文件名
args:参数
对于我们来说,并不需要输出这么多的类型,只需要掌握以下几种常用的dump输出方式足以满足大部分的模拟需求。
1. 最省心的输出方式:dump atom
在调试程序的时候,如果我们仅仅需要输出原子坐标,可以使用这一条命令:
dump 1 all atom 100 dump.atom
每隔100步输出全部原子的坐标,原子坐标存到dump.atom中,文件的后缀名没有统一标准,可以任意取。
使用atom方式输出的dump.atom文件中只包含原子类型和原子坐标。
只输出某个原子组的信息,把all改成原子组ID即可:
dump 1 subgroup atom 100 dump.atom
2.个性化的输出方式:dump custom
dump atom类型仅输出原子坐标,如需输出更多的原子信息,可使用dump custom命令自定义输出。
custom类型可输出的原子信息包括:
possible attributes = id, mol, proc, procp1, type, element, mass, x, y, z, xs, ys, zs, xu, yu, zu, xsu, ysu, zsu, ix, iy, iz, vx, vy, vz, fx, fy, fz, q, mux, muy, muz, mu, radius, diameter, omegax, omegay, omegaz, angmomx, angmomy, angmomz, tqx, tqy, tqz, c_ID, c_ID[N], f_ID, f_ID[N], v_name
使用方法也比较简单,在输出文件名的后面列出要输出的原子信息即可,例如:
dump 1 all custom 100 dump.atom id type x y z vx vy vz fx fy fz
上一句命令输出的原子信息包括:原子id,原子类型,xyz坐标,xyz方向的速度,xyz方向的受力
custom类型不仅能够输出原子系统自带的属性,也支持输出compute、fix等命令计算的原子信息:
compute myPress all stress/atom NULL dump 2 all custom 100 tmp.dump id myPress[1] myPress[2] myPress[3] & myPress[4] myPress[5] myPress[6]
3. 压缩文件输出:dump atom/gz
如果体系比较大,包含的原子比较多,输出的dump.atom文件会比较大,可以使用atom/gz样式,将坐标文件进行压缩后再保存。
dump 1 all atom/gz 100 dump.atom.gz
压缩文件的类型为gz,使用常用的解压软件都可以进行解压,解压之后得到dump.atom文件,与上一步得到的文件内容一致。
4. 文件分步输出:dump *
对于非常大的体系,原子信息输出到一个文件中可能会比较大。
我曾经算过一次大体系的,一个dump.atom文件大约20G左右,即使是进行压缩存储,也接近10G。这么大的文件导入到ovito分析时电脑反应比较慢,后期处理不是很方便。
lammps提供了一种分步输出轨迹文件的方法:
dump 1 all custom 100 dump.atom.* id type x y z
在文件名的后面加上”.*”,每隔100步系统会把原子轨迹保存到1个新文件里,“*”会被自动的替换成步数。
例如模拟300步,系统会保存4个文件:dump.atom.0、dump.atom.100、dump.atom.200、dump.atom.300。
dump.atom.0是模拟0步时的初始状态信息,每次模拟时,系统会自动保存该文件。
这样进行分步保存之后,每个轨迹文件会小的多,把单个文件导入到ovito后,ovito也会自动的寻找同文件夹下的其他轨迹文件,分析起来和单个文件效果是一样的,但是速度要快很多。
对于一般模拟来说,上面4种方法基本上能够满足要求,如有更高级的需求,可以查阅dump命令手册。