9. 示例脚本
LAMMPS 发行版包含一个包含许多示例问题的示例子目录。许多是二维模型,运行速度快且易于可视化,在台式机上运行最多需要几分钟。每个问题都有一个输入脚本 (in.*),并在运行时生成一个日志文件 (log.*)。有些使用初始坐标的数据文件(data.*)作为附加输入。目录中包含一些在不同计算机上运行的示例日志文件,并且目录中包含不同数量的处理器,以比较您的答案。例如。像 log.date.crack.foo.P 这样的日志文件意味着“crack”示例在该日期机器“foo”的 P 处理器上运行(即使用该版本的 LAMMPS)。
许多输入文件都有用于创建转储文件和图像文件的注释行。
如果取消注释输入脚本中的dump命令,将生成一个文本转储文件,该文件可以通过各种可视化程序进行动画处理。
如果您在输入脚本中取消注释 dump image 命令,并假设您已经使用 JPG 库构建了 LAMMPS,则在模拟运行时将生成 JPG 快照图像。使用 dump image 文档页面上描述的命令可以将它们快速后处理成电影。
许多示例的动画可以在 LAMMPS website的电影部分查看。
示例文件夹中有两种子目录。小写命名目录包含一个或几个简单、快速运行的问题。大写命名目录最多包含几个复杂的脚本,用于说明特定类型的模拟方法或模型。其中一些运行时间较长,例如来测量特定的数量。
下面给出了两种目录的列表。
9.1.小写目录
accelerate | 使用各种加速选项运行(OpenMP、GPU、Phi) |
airebo | 具有 AIREBO势聚乙烯 |
atm | Axilrod-Teller-Muto potential example |
balance | 动态负载平衡,二维系统 |
body | 体粒子,2d 系统 |
bpm | 浇注弹性颗粒和板冲击的 BPM 模拟 |
cmap | CMAP 5 体对 CHARMM 力场的贡献 |
colloid | 小颗粒溶剂中的大胶体颗粒,二维系统 |
comb | 使用 COMB 势的模型 |
controller | 使用固定控制器作为恒温器 |
coreshell | 使用 CORESHELL 包的核/壳模型 |
crack | 二维固体中的裂纹扩展 |
deposit | 在表面上沉积原子和分子 |
dipole | 点偶极粒子,二维系统 |
dreiding | 甲醇,通过 Dreiding FF |
eim | 使用 EIM 势的 NaCl |
ellipse | 球形溶剂中的椭圆体颗粒,二维系统 |
flow | 二维通道中的 Couette 和 Poiseuille 流 |
friction | 二维表面之间球形粗糙体的摩擦接触 |
mc | 通过修复 gcmc、widom 和其他命令的蒙特卡洛功能 |
granregion | 使用固定壁/区域/颗粒作为粒状颗粒的边界 |
hugoniostat | Hugoniostat冲击动力学 |
hyper | Pt 表面扩散的全局和局部超动力学 |
indent | 将球形压头压入二维实体 |
kim | 使用 OpenKIM 存储库中的势 |
mdi | MDI包和MolSSI MDI代码耦合库的使用 |
meam | SiC 和剪切的 MEAM 测试(与剪切示例相同) |
melt | 3d LJ系统快速熔化 |
micelle | 小类脂质分子自组装成二维双层 |
min | 二维 LJ 熔体能量最小化 |
msst | MSST冲击动力学 |
multi | 具有较大交互差异的系统的多邻域 |
nb3b | 使用非键三体谐波对样式 |
neb | 用于寻找障碍的微移弹性带 (NEB) 计算 |
nemd | 二维剪切系统的非平衡MD |
obstacle | 围绕二维通道中的两个空隙流动 |
peptide | 小溶剂化肽链(5 聚体)的动力学 |
peri | 压头冲击圆柱体近场动力学模型 |
pour | 将粒状颗粒倒入 3d 盒子中,然后流槽流动 |
prd | 体硅中空位扩散的并行复制动力学 |
python | 在 LAMMPS 输入脚本中使用嵌入式 Python |
qeq | 使用 QEQ 包进行电荷平衡 |
rdf-adf | 计算水的径向和角度分布函数 |
reax | 使用 ReaxFF 的 RDX 和 TATB 模型 |
rerun | 使用 rerun 和 read_dump 命令 |
rigid | 刚体建模为独立或耦合 |
shear | 应用于二维实体(有或没有空隙)的侧向剪切 |
snap | 使用 SNAP 电势的 BCC 钽晶体的 NVE 动力学 |
srd | 作为溶剂的随机旋转动力学 (SRD) 颗粒 |
streitz | 使用 Streitz/Mintmire 电势进行电荷平衡 |
tad | 体硅中空位扩散的温度加速动力学 |
threebody | 各种多体势的回归测试输入 |
tracker | 追踪 LJ 熔体中的相互作用 |
vashishta | 利用 Vashishta 势 |
voronoi | 通过计算 voronoi/atom 命令进行 Voronoi 曲面细分 |
以下是运行和可视化示例问题之一的方法:
cd indent
cp ../../src/lmp_linux . # copy LAMMPS executable to this dir
lmp_linux -in in.indent # run the problem
运行模拟会生成文件 dump.indent 和 log.lammps。您可以使用 LAMMPS 网站的可视化页面上突出显示的各种第三方工具来可视化快照的转储文件。
如果您在输入脚本中取消注释转储图像行,运行时将生成一系列 JPG 图像(假设您构建了支持 JPG 的 LAMMPS;有关详细信息,请参阅 Build_settings 页面)。这些可以单独观看,也可以通过 ImageMagick 或 QuickTime 等工具或各种基于 Windows 的工具将其转换为电影或动画。有关更多详细信息,请参阅转储图像页面。例如。此 Imagemagick 命令将创建适合在浏览器中查看的 GIF 文件。
9.2.大写目录
ASPHERE | 各种非球面粒子模型,使用椭球体、刚体、线/三角形粒子等 |
COUPLE | 如何使用 LAMMPS 作为库的示例 |
DIFFUSE | 通过多种方法计算扩散系数 |
ELASTIC | 计算零温度下的弹性常数 |
ELASTIC_T | 计算有限温度下的弹性常数 |
HEAT | 通过 Fix ehex 计算 LJ 和水的热导率 |
KAPPA | 通过多种方法计算热导率 |
MC-LOOP | 在蒙特卡罗模式下使用 LAMMPS 来弛豫输入脚本循环中系统的能量 |
PACKAGES | 特定包和贡献命令的示例 |
SPIN | SPIN 包的功能示例 |
UNITS | 以 lj、真实、金属单位运行相同模拟的示例 |
VISCOSITY | 通过多种方法计算粘度 |
几乎所有这些目录都有自述文件,其中提供了有关如何理解和使用其内容的更多详细信息。
PACKAGES 目录有大量子目录,它们的名称与特定的包相对应。它们包含说明如何使用这些包中提供的命令的脚本。许多子目录都有自己的自述文件,其中提供了进一步的说明。有关特定包的更多信息,请参阅 Packages_details文档页面。