8. 基础知识
此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。
8.1.通用基础知识
8.2. 设置入门
8.3. 分析入门
8.4. 力场入门
8.5. 软件包入门
8.5.1.有限尺寸球形和非球形粒子
8.5.2. 粒度模型
8.5.3.体粒子
8.5.4.黏合粒子(BMP)模型
8.5.5.极化模型
8.5.6. 绝热核/壳模型
8.5.7.Drude感应偶极子
8.5.8. LAMMPS 中热化 Drude 振荡器教程
8.5.9. LAMMPS 近场动力学
本指南基于 Michael L. Parks、Pablo Seleson、Steven J. Plimpton、Richard B. Lehoucq 和 Stewart A. Silling 撰写的桑迪亚报告 2010-5549。
概述
近场动力学是经典连续介质力学的非局域扩展。离散近场动力学模型具有与分子动力学模型相同的计算结构。本 Howto 简要概述了连续体的近场动力学模型,然后讨论了如何在 LAMMPS 中离散化近场动力学模型,如原始文章 (Parks) 中所述。还包括一个带有注释的示例问题。
快速入门
近场动力学样式包含在可选的 PERI package包中。如果您的 LAMMPS 可执行文件尚未包含 PERI 包,您可以查看 PERI packagebuild instructions for packagesPERI package,了解如何在从源代码编译自定义版本的 LAMMPS 时启用该包。
这是设置近场动力学模拟的最小示例。
units si
boundary s s s
lattice sc 0.0005
atom_style peri
atom_modify map array
neighbor 0.0010 bin
region target cylinder y 0.0 0.0 0.0050 -0.0050 0.0 units box
create_box 1 target
create_atoms 1 region target
pair_style peri/pmb
pair_coeff * * 1.6863e22 0.0015001 0.0005 0.25
set group all density 2200
set group all volume 1.25e-10
velocity all set 0.0 0.0 0.0 sum no units box
fix 1 all nve
compute 1 all damage/atom
timestep 1.0e-7
关于此输入示例的一些注释:
-
近场动力学模拟通常使用 SI 单位
-
粒子必须在简单的立方晶格上创建
-
需要使用 atom style peri
-
索引粒子需要原子图
-
计算邻居列表时使用的 skin distance应根据您选择的模拟参数进行适当定义。 skin distance应设置为一个值,使得近场动力学地平线加上 skin distance大于两个键合粒子之间的最大可能距离(在它们的键断裂之前)。这里设置为0.001米。
-
需要peridynamics pair style 。目前可用的选项有:peri/eps、peri/lps、peri/pmb 和 peri/ves。模型参数使用pair_coeff 命令设置。
-
必须定义每个颗粒的质量密度和体积分数。这是通过密度和体积的两个设置命令来完成的。对于简单的立方晶格,粒子的体积应等于晶格常数的立方,此处为 𝑉𝑖=Δ𝑥3 。
-
使用速度命令时,所有粒子最初都处于静止状态
-
使用普通速度-Verlet时间积分器,其在代数上等价于中心时间差,但在数值上更稳定
-
您可以使用计算损伤/原子来计算每个粒子位置的损伤
-
最后,使用 timestep 命令将时间步设置为 0.1 微秒。
连续体的近场动力学模型
以下并不是近场动力学的完整概述,而是仅讨论我们在 LAMMPS 中实现的模型特有的细节。有关近场动力学理论的更多信息,读者可以参考(Silling 2007)。首先,我们定义将使用的符号。
基本符号
在近场动力学文献中,通常使用以下符号约定。参考配置中给定点的位置是 x 。让 𝑢(𝑥,𝑡) 和 𝑦(𝑥,𝑡) 分别表示点 𝑥 在时间 𝑡 的位移和位置。将两个粘合点 x 和 x′ 的相对位置和位移向量分别定义为 𝜉=x′−x 和 𝜂=u(x′,𝑡)−u(x,𝑡) 。我们在这里注意到 𝜂 与时间相关,而 𝜉 则不然。由此可见,当前配置中两个绑定点的相对位置可以写为 𝜉+𝜂=𝑦(𝑥′,𝑡)−𝑦(𝑥,𝑡) 。
近场动力学模型经常使用状态来编写,我们在这里简要描述。出于我们讨论的目的,所有状态都是作用于 𝑅3 中向量的运算符。有关状态的更完整讨论,请参阅(Silling 2007)。矢量状态是其图像是矢量的算子,并且可以被视为二阶张量的推广。类似地,标量状态是一个其图像是标量的算子。特别令人感兴趣的是矢量力状态 ,它是矢量 𝑥′−𝑥 到力矢量状态场的映射,单位为每体积平方的力。向量状态运算符 本身可以是 𝑥 和 𝑡 的函数。本构模型完全包含在 内。