LAMMPS polymorphic 多体势详解:从统一表格化框架到 SW/Tersoff/EAM 的灵活设计

发布时间:2026/10/17 6:18:08
LAMMPS polymorphic 多体势详解:从统一表格化框架到 SW/Tersoff/EAM 的灵活设计
科研科学计算高性能计算【免费下载链接】lammpsPublic development project of the LAMMPS MD software package项目地址https://gitcode.com/gh_mirrors/la/lammps点击查看免费下载导读pair_style polymorphic是 LAMMPS MANYBODY 包中一类多态三体自由形式势free-form potential它把 Stillinger-WeberSW、Tersoff、Rockett-Tersoff、嵌入原子法EAM以及带 ZBL 短程排斥的 Tersoff 等经典多体势统一到一个表格化的数学框架中用户只需操作几个一维表格函数即可设计全新的势函数。本文以 LAMMPS 官方文档doc/src/pair_polymorphic.rst为核心结合 src/MANYBODY/pair_polymorphic.cpp 源码实现与potentials目录下的真实.poly势文件系统讲解其能量公式、势文件格式、pair_coeff 用法、与各经典势的等价关系以及运行时限制帮助你理解并上手这套可定制性极强的多体势框架。1. 语法与基本用法polymorphicpair style 语法非常简单不需要任何附加参数pair_style polymorphic对应的典型pair_coeff示例来自 doc/src/pair_polymorphic.rstpair_coeff * * FeCH_BOP_I.poly Fe C H pair_coeff * * TlBr_msw.poly Tl Br pair_coeff * * CuTa_eam.poly Cu Ta pair_coeff * * GaN_tersoff.poly Ga N pair_coeff * * GaN_sw.poly Ga N从源码 src/MANYBODY/pair_polymorphic.cpp#L485-L509 可以看到settings()强制要求pair_style polymorphic后不能带任何参数否则报Illegal pair_style command而coeff()则解析 pair_coeff 的完整参数列表。也就是说每个 pair style 只能使用一条 pair_coeff 命令且这条命令必须指明一个势文件以及所有 LAMMPS 原子类型对应的元素名映射。与常规 pair style 逐个指定pair_coeff i j不同polymorphic 只在一条命令中完成全部设置其参数结构为第 1、2 个参数固定为* *覆盖所有原子类型组合第 3 个参数势文件名.poly文件第 4 个及之后的 N 个参数N 为 LAMMPS 原子类型总数按顺序给出每个原子类型所映射的元素名称可选如果参数个数恰好等于4 atom-ntypes最后一个参数会被解析为数值epsilon见 src/MANYBODY/pair_polymorphic.cpp#L500-L501用于判断表格函数是否近似为零的截断阈值。1.1 元素映射示例文档给出了一个非常具体的映射场景假设GaN_tersoff.poly文件中包含 Ga-N 体系的 Tersoff 势而你的 LAMMPS 模拟系统有 4 种原子类型希望前 3 种都是 Ga、第 4 种是 N则命令为pair_coeff * * GaN_tersoff.poly Ga Ga Ga N映射规则如下前两个* *必须存在用于跨越所有 LAMMPS 原子类型对前三个Ga将 LAMMPS 原子类型 1、2、3 映射到势文件中的 Ga 元素最后一个N将 LAMMPS 原子类型 4 映射到势文件中的 N 元素。此外映射值可写为NULL表示不执行映射。当 polymorphic 势作为 hybrid pair style 的一部分使用时NULL作为占位符留给由其他势处理的原子类型。这与测试文件中的实际用法一致例如 unittest/force-styles/tests/manybody-pair-polymorphic_sw.yaml#L16-L17 中 8 种原子类型对应命令* * GaN_sw.poly Ga Ga Ga Ga N N N N。2. 能量公式统一的自由形式势polymorphic势计算的是一个三体自由形式势Zhou 等J. Mater. Sci. Res., 4, 15 (2015)系统总能量表达式为E 1/2 Σ_i Σ_j [ (1 - δ_ij)·U_IJ(r_ij) - (1 - η_ij)·F_IJ(X_ij)·V_IJ(r_ij) ] X_ij Σ_k (k ≠ j) W_IK(r_ik)·G_JIK(cosθ_jik)·P_JIK(Δr_jik) Δr_jik r_ij - ξ_IJ·r_ik其中I、J、K 分别代表原子 i、j、k 的物种speciesi_1 … i_N 是 i 的邻居列表δ_ij 是 Dirac 常量i j 时为 1否则为 0η_ij 是与势类型相关的常量可取值 η_ij δ_ij 或 η_ij 1 − δ_ij由全局参数 η 决定U_IJ(r_ij)、V_IJ(r_ij)、W_IK(r_ik) 为成对pair函数G_JIK(cosθ_jik) 为角度函数P_JIK(Δr_jik) 是原子间距差分 Δr_jik r_ij − ξ_IJ·r_ik 的函数ξ_IJ 为依赖 pair 的参数F_IJ(X_ij) 是局部环境变量 X_ij 的函数。这一通用势一旦给出常量 η_ij、ξ_IJ 以及六个一维函数 U、V、W、G、P、F即被完整定义。关键设计理念这六个函数全部是一维的因此可以以表格形式提供用户仅通过操控这些函数就能设计出不同种类的势——这正是 polymorphic多态名称的由来。2.1 全局参数 η 的含义LAMMPS 使用一个全局参数eta表示 η_ij其取值的三种语义文档原文eta 1η_ij 1 − δ_ij势退化为嵌入原子法EAMeta 3P_JIK(Δr) 函数依赖物种 I、J、K 三者三物种依赖其他值如 0 或 2η_ij δ_ij且 P_JIK(Δr) P_IK(Δr) 只依赖物种 I 和 K两物种依赖。在势文件中第二行的ntypes eta即声明物种总数与 η 取值见下文第 4 节。2.2 局部环境变量 X_ij 的物理含义X_ij 是公式中的核心量——它通过对邻居 k 求和把成对距离 W、角度 G、间距差分 P 三个因素乘在一起刻画了 i-j 键所处的局部化学环境。在 Tersoff 语境下X_ij 就是键级bond order在 EAM 语境下此时 η 1X 就是局部电子密度。从源码 src/MANYBODY/pair_polymorphic.cpp#L366-L398 可以看到计算 zeta_ij即 X_ij的循环逐 k 调用三个表格函数取值后相乘累加(q.W)-value(r2, wfac, 1, fpair, 0); // W_IK(r_ik) (trip.P)-value(r1 - (p.xi)*r2, pfac, 1, fpair, 0); // P_JIK(Δr) (trip.G)-value(costheta, gfac, 1, fpair, 0); // G_JIK(cosθ) zeta_ij wfac * pfac * gfac;3. 如何退化为经典势六种等价关系polymorphic 框架的精髓在于通过选择不同的 η、ξ 以及六种函数形式它可以精确还原多种经典多体势。文档逐一给出了这些映射关系下面按类别整理。3.1 退化为 Stillinger-Weber 势SW当设置 η_ij δ_ijη 2 或 0、ξ_IJ 0并取U_IJ(r) A_IJ·ε_IJ·(σ_IJ/r)^q·[B_IJ·(σ_IJ/r)^(p−q) − 1]·exp(σ_IJ/(r − a_IJ·σ_IJ)) V_IJ(r) sqrt(λ_IJ·ε_IJ)·exp(γ_IJ·σ_IJ/(r − a_IJ·σ_IJ)) F_IJ(X) −X P_JIK(Δr) P_IK(Δr) 1 W_IJ(r) sqrt(λ_IJ·ε_IJ)·exp(γ_IJ·σ_IJ/(r − a_IJ·σ_IJ)) G_JIK(cosθ) (cosθ 1/3)²时该势即标准 SW 势Stillinger Weber, Phys. Rev. B, 31, 5262 (1985)。典型实现文件为 potentials/GaN_sw.poly其头部声明的eta 0即对应此分支见文件第二行2 0。3.2 退化为 Tersoff 势当设置 η_ij δ_ijη 2 或 0、ξ_IJ 1并取U_IJ(r) [D_e,IJ/(S_IJ−1)]·exp[−β_IJ·sqrt(2S_IJ)·(r−r_e,IJ)]·f_c,IJ(r) V_IJ(r) [S_IJ·D_e,IJ/(S_IJ−1)]·exp[−β_IJ·sqrt(2/S_IJ)·(r−r_e,IJ)]·f_c,IJ(r) F_IJ(X) (1X)^(−1/2) P_JIK(Δr) P_IK(Δr) exp(2μ_IK·Δr) W_IJ(r) f_c,IJ(r) G_JIK(cosθ) γ_IK·[1 c_IK²/d_IK² − c_IK²/(d_IK² (h_IK cosθ)²)]时该势即 Tersoff 势Tersoff, Phys. Rev. B, 39, 5566 (1989)或 Albe 修正版Albe 等, Phys. Rev. B, 66, 035205 (2002)。其中截断函数 f_c,IJ(r) 定义为f_c,IJ(r) 1, r ≤ R_IJ − D_IJ 1/2 1/2·cos[π(r D_IJ − R_IJ)/(2D_IJ)], R_IJ − D_IJ r R_IJ D_IJ 0, r ≥ R_IJ D_IJ典型实现文件为 potentials/GaN_tersoff.poly头部2 0中 η 0 即对应两物种依赖的 Tersoff 分支。3.3 退化为修正 Stillinger-Weber 势当设置 η_ij δ_ijη 2 或 0、ξ_IJ 0并取U_IJ(r) φ_R,IJ(r) − φ_A,IJ(r) V_IJ(r) u_IJ(r) F_IJ(X) −X P_JIK(Δr) P_IK(Δr) 1 W_IJ(r) u_IJ(r) G_JIK(cosθ) g_JIK(cosθ)时该势即 Zhou 等提出的修正 Stillinger-Weber 势即文中 (Zhou3) 引文对应势。3.4 退化为 Rockett-Tersoff 势当设置 η_ij δ_ijη 2 或 0、ξ_IJ 1并取U_IJ(r) A_IJ·exp(−λ_1,IJ·r)·f_c,IJ(r)·f_ca,IJ(r) V_IJ(r) B_IJ·exp(−λ_2,IJ·r)·f_c,IJ(r) A_IJ·exp(−λ_1,IJ·r)·f_c,IJ(r)·[1 − f_ca,IJ(r)] F_IJ(X) [1 (β_IJ·X)^n_IJ]^(−1/(2n_IJ)) P_JIK(Δr) P_IK(Δr) exp(λ_3,IK·Δr³) W_IJ(r) f_c,IJ(r) G_JIK(cosθ) 1 c_IK²/d_IK² − c_IK²/(d_IK² (h_IK cosθ)²)时即 Rockett-Tersoff 势Wang Rockett, Phys. Rev. B, 43, 12571 (1991)。其中 f_ca,IJ(r) 与 f_c,IJ(r) 形式相似只是把 R_IJ、D_IJ 换成 R_a,IJ、D_a,IJf_ca,IJ(r) 1, r ≤ R_a,IJ − D_a,IJ 1/2 1/2·cos[π(r D_a,IJ − R_a,IJ)/(2D_a,IJ)], R_a,IJ − D_a,IJ r R_a,IJ D_a,IJ 0, r ≥ R_a,IJ D_a,IJ3.5 退化为嵌入原子法EAM当设置 η_ij 1 − δ_ijη 1、ξ_IJ 0并取U_IJ(r) φ_IJ(r) V_IJ(r) 1 F_II(X) −2F_I(X) P_JIK(Δr) P_IK(Δr) 1 W_IJ(r) f_J(r) G_JIK(cosθ) 1时该势即标准 EAM 势Daw Baskes, Phys. Rev. B, 29, 6443 (1984)。此情形下 φ_IJ(r) 是 pair 能量F_I(X) 是嵌入能X 是局部电子密度f_J(r) 是原子电子密度函数。典型实现文件为 potentials/CuTa_eam.poly头部第二行2 1的 η 1 即对应 EAM 分支。从源码 src/MANYBODY/pair_polymorphic.cpp#L207-L350 可以看出eta 1时计算走 EAM 专用路径先对每个邻居 j 用 W 函数累加出电子密度 zeta_ij再对 F 函数求值得到嵌入能且两体项跳过一半通过itag jtag与奇偶判断这是 EAM 型两体势的标准做法。3.6 退化为另一种 TersoffZBL 混合型η 3当设置 η_ij δ_ijη 3、ξ_IJ 1并取U_IJ(r) [D_e,IJ/(S_IJ−1)]·exp[−β_IJ·sqrt(2S_IJ)·(r−r_e,IJ)]·f_c,IJ(r)·T_IJ(r) V_ZBL,IJ(r)·[1 − T_IJ(r)] V_IJ(r) [S_IJ·D_e,IJ/(S_IJ−1)]·exp[−β_IJ·sqrt(2/S_IJ)·(r−r_e,IJ)]·f_c,IJ(r)·T_IJ(r) F_IJ(X) (1X)^(−1/2) P_JIK(Δr) ω_JIK·exp(α_JIK·Δr) W_IJ(r) f_c,IJ(r) G_JIK(cosθ) γ_JIK·[1 c_JIK²/d_JIK² − c_JIK²/(d_JIK² (h_JIK cosθ)²)] T_IJ(r) 1 / (1 exp[−b_f,IJ·(r − r_f,IJ)]) V_ZBL,IJ(r) 14.4 · Z_I·Z_J / r · Σ_{k1..4} μ_k · exp[−ν_k·(Z_I^0.23 Z_J^0.23)·r]时即 Zhou 等J. Comp. Chem., 41, 1299 (2020)的 Tersoff 变体。它与普通 Tersoff 的关键区别在于P_JIK(Δr) 函数现在依赖全部三个物种 I、J、K这也是 η 3 的语义。U 项中通过费米型开关函数 T_IJ(r) 在短程无缝衔接 ZBL 库仑排斥势 V_ZBL适合高能碰撞/级联模拟因此这类文件通常用于描述辐照损伤场景。典型实现文件为 potentials/FeCH_BOP_I.poly 与 potentials/FeCH_BOP_II.poly头部第二行均为3 3即 3 种元素、η 3。4..poly势文件格式详解potentials目录下的 polymorphic 势文件全部带有.poly后缀。LAMMPS 分发版中共包含 6 个此类文件potentials/ 目录CuTa_eam.poly、FeCH_BOP_I.poly、FeCH_BOP_II.poly、GaN_sw.poly、GaN_tersoff.poly、TlBr_msw.poly。其中 FeCH_BOP 两类文件体量最大各 3.3 万行以上因为包含 η 3 的三物种 P 函数表GaN/TlBr 类文件约 8~9 千行。解析这些文件的代码位于 src/MANYBODY/pair_polymorphic.cpp#L542-L739 的read_file()流程与下述格式完全对应。4.1 注释行文件开头可以有任意数量的#开头的行用于描述势的出处与参数信息LAMMPS 会忽略这些行。例如 potentials/GaN_tersoff.poly 首行即包含### DATE: 2015-12-09 UNITS: metal CONTRIBUTOR: X. W. Zhou等元信息并给出 CITATION 引用文献。4.2 物种总数与 η第二行ntypes etantypes势文件中定义的物种总数eta 1退化为嵌入原子法EAMeta 3P_JIK(Δr) 为三物种依赖函数其他值P_JIK(Δr) 为两物种依赖函数P_IK。ntypes必须等于 pair_coeff 命令中定义的不同物种总数否则源码会报错Incorrect number of elements (expected: ... found: ...) in potential filesrc/MANYBODY/pair_polymorphic.cpp#L555-L557。4.3 元素表接下来的ntypes行每行三个数据按顺序列出每种元素的原子序数、原子质量与元素名称atomic-number atomic-mass element-name(1) atomic-number atomic-mass element-name(2) ... atomic-number atomic-mass element-name(ntypes)例如 potentials/GaN_tersoff.poly 中31 6.97200000e01 Ga 7 1.40100000e01 N即 Ga 原子序数 31、质量 69.72N 原子序数 7、质量 14.01。4.4 表格尺寸行接下来的行包含四个数值nr ntheta nx xmaxnr径向函数 U、V、W、P 的表格点数ntheta角度函数 G 的表格点数nx函数 F 的表格点数xmax函数 F 自变量 X 的最大值。各函数的均匀取样区间为函数自变量范围均匀表格区间U_IJ(r)、V_IJ(r)、W_IJ(r)距离 r0 到该 IJ 对的截断距离G_JIK(cosθ)夹角余弦−1 到 1P_JIK(Δr)间距差分 Δr−rcmax 到 rcmaxrcmax 为所有 pair 的最大截断距离F_IJ(X)局部环境变量 X0 到 xmax若模拟中实际值超出这些范围则采用线性外推。以 potentials/GaN_tersoff.poly 为例其表格尺寸为2000 2000 2000 6.00000000e00即 nr ntheta nx 2000、xmax 6.0而 potentials/GaN_sw.poly 为2000 2000 10 1.00000000e04F 表仅 10 点但 xmax 很大因为 SW 势的 F(X) −X 是线性函数。从源码 src/MANYBODY/pair_polymorphic.cpp#L638-L720 可以看到各表格最终通过TabularFunction::set_values()构建并在运行期用三次多项式插值求值与求导见 src/tabular_function.h#L37-L46 的value()先按均匀网格定位节点ks再对预计算的样条系数ys1..ys6做 Horner 形式求值同时给出函数值与一阶导数值。get_xmaxsq()与get_vmax()还被用于邻居列表裁剪——距离超过表格范围或函数值接近零vmax ≤ epsilon的邻居会被跳过这是计算优化的关键src/MANYBODY/pair_polymorphic.cpp#L231-L263。4.5 截断与 ξ 参数表接下来的ntypes*(ntypes1)/2行每行两个数值cut xi(1) cut xi(2) ... cut xi(ntypes*(ntypes1)/2)cut该 pair 的截断距离xi公式中的 ξ_IJ 参数。行的排列顺序有严格约定先是 ii自对pairi 1, 2, …, ntypes随后是 ij交叉pairi 1, 2, …, ntypes−1j i1, …, ntypes。即顺序为 11, 22, …, 12, 13, 14, …, 23, 24, …。例如 potentials/GaN_tersoff.poly 中 3 个 pairGa-Ga、N-N、Ga-N对应的行依次为3.02000000e00 1.00000000e00 2.40000000e00 1.00000000e00 3.10000000e00 1.00000000e00而 potentials/CuTa_eam.poly 的 ξ 全为 0EAM 分支potentials/GaN_sw.poly 的 ξ 也全为 0SW 分支。4.6 函数表格块的顺序势文件末尾按固定顺序列出 U、V、W、P、G、F 各函数的数据块U 函数按上述 pair 顺序每个 pair 依次给出 nr 个数值V 函数同样按 pair 顺序给出 nr 个数值W 函数同样按 pair 顺序给出 nr 个数值P 函数若 η ≠ 3两物种依赖P 函数按与 U/V/W 相同的 pair 顺序列出若 η 3三物种依赖P 函数按所有ntypes³个 IJK 三元组列出顺序为 I 从 1 到 ntypes、J 从 1 到 ntypes、K 从 1 到 ntypes即 IJK 111, 112, 113, …, 121, 122, 123, …, 211, 212, …G 函数对所有ntypes³个 IJK 三元组按同样顺序列出每个 G 函数给出 ntheta 个数值F 函数按与 U/V/W 相同的 pair 顺序列出每个 F 函数给出 nx 个数值。对应源码 src/MANYBODY/pair_polymorphic.cpp#L637-L720 中U/V/W 循环for (int i 0; i npair; i)各读一遍P 函数在 η ≠ 3 时先读自对j 循环再读交叉对j、k 双层循环并复制给对称三元组在 η 3 时直接读满ntriple个随后 G 函数读ntriple个、F 函数读npair个。读完函数表后源码还会重新计算每个 pair 的有效截断取 U、V、W 三者表格 x 上限的最大值并据此更新全局cutmaxsrc/MANYBODY/pair_polymorphic.cpp#L723-L738用于邻居列表构建。5. 与其他 pair style 的结果一致性文档明确说明如果表格函数是按照 SW、Tersoff、EAM 势的参数生成polymorphic pair style 会产生与pair_style sw、pair_style tersoff、pair_style eam相同的全局性质能量与应力和相同的力。同时与tersoff、eam相比polymorphic 还产生相同的逐原子per-atom能量与应力与sw相比由于全局性质到逐原子性质的划分方式不同polymorphic 的逐原子能量与应力会与sw不同——但文档特别强调这不代表polymorphic 与 sw 势本身不同只是原子能量与原子应力的定义方式不同。这一等价性在仓库的单元测试中有直接验证测试框架针对同一体系分别给出了 polymorphic 与对照 pair style 的参考值。例如 unittest/force-styles/tests/manybody-pair-polymorphic_sw.yaml64 原子、GaN_sw.poly、init_vdwl −110.55858750530444与 sw 测试同体系对照、unittest/force-styles/tests/manybody-pair-polymorphic_tersoff.yamlGaN_tersoff.poly以及 unittest/force-styles/tests/atomic-pair-polymorphic_eam.yaml32 原子、CuTa_eam.poly、eta 1 的 EAM 分支。这些 YAML 中记录了 epsilon数值容差、初始/运行后的能量、应力张量与逐原子受力供回归测试精确比对。6. Mixing、shift、table、tail、restart 与 rRESPA 行为不支持 pair_modify 的 shift、table、tail 选项polymorphic 势的能量全部内嵌于表格函数中无法通过这些通用修饰选项调整不写入二进制重启文件因为势信息存储在.poly势文件中所以读取 restart 文件的输入脚本必须重新指定pair_style polymorphic与pair_coeff命令。这一点与源码 src/MANYBODY/pair_polymorphic.cpp#L82 中构造函数设置的restartinfo 0直接对应由于是纯表格势也不涉及 rRESPA 层级的特殊处理。7. 使用限制与注意事项原子 ID 与质量使用create_atoms命令时原子质量必须在输入脚本中定义使用read_data时原子质量必须在原子结构数据文件中定义。另外init_style()要求开启原子 IDtag_enable否则报错Pair style polymorphic requires atom IDssrc/MANYBODY/pair_polymorphic.cpp#L517-L518Newton 开关该 pair potential 要求newton设置中 pair 相互作用为 on即newton on源码中newton_pair 0会直接报错Pair style polymorphic requires newton pair on且它需要完整邻居列表NeighConst::REQ_FULL见 src/MANYBODY/pair_polymorphic.cpp#L515-L525。这也解释了单元测试 YAML 中为何要先用if $(is_active(package,gpu)) 0.0 ... else variable newton_pair index on动态设置 newton 开关GPU 包下需要 off否则保持 on包依赖polymorphic 属于 MANYBODY 包只有以该包构建的 LAMMPS 才能使用详见 doc/src/Build_package.rst单位制LAMMPS 自带的这些.poly势文件是按metal 单位参数化的文件头UNITS: metal声明任何 LAMMPS 单位制都可使用但若使用非 metal 单位需要自行生成匹配单位制的势文件单一 pair_coeff一条输入脚本中只能为该 pair style 指定一条 pair_coeff 命令所有原子类型的映射都在其中完成。8. 设计你自己的 polymorphic 势polymorphic 框架最吸引人的地方在于势设计能力你不需要重写 C 代码只需按第 4 节描述的格式准备表格数据即可构造新势。基本流程为选定 η 值η 1EAM 型、η 0 或 2两物种 P 函数、η 3三物种 P 函数对每个元素对II 与 IJ确定截断距离 cut 与参数 ξ_IJSW 用 0、Tersoff 用 1对六个一维函数 U、V、W、P、G、F 在各目的自变量区间上等距取样并填写表格若需调试可在源码 src/MANYBODY/pair_polymorphic.cpp#L20-L21 处取消#define LMP_POLYMORPHIC_WRITE_TABLES 1的注释重新编译即可触发write_tables()src/MANYBODY/pair_polymorphic.cpp#L867-L957将各表格函数及其导数输出成文本文件文件名如GaN_UVW0、GaGaN_P0、GaGaN_G0、GaN_F0用于检查表格数据的正确性。对于只想直接使用现成势的用户potentials目录已提供 6 个可直接使用的.poly文件覆盖 Ga-NSW 与 Tersoff、Cu-TaEAM、Tl-Br修正 SW以及 Fe-C-Hη 3 的三物种 Tersoff/ZBL 型适合辐照模拟配合对应引文使用即可。9. 小结pair_style polymorphic用一套统一的六函数表格化框架把 SW、Tersoff、Rockett-Tersoff、EAM 乃至 ZBL 混合型 Tersoff 全部纳入同一实现并以全局参数 η 与 pair 参数 ξ 区分各分支。其优势在于换势不换代码——势的差异全部体现在.poly表格文件中。理解其能量公式、η/ξ 语义、文件块顺序与各经典势的映射关系是正确使用和扩展该 pair style 的关键而 LAMMPS 仓库中的 6 个现成势文件与 3 组数值回归测试SW/Tersoff/EAM 各一则为验证和参考提供了完整依据。参考引文X. W. Zhou, M. E. Foster, R. E. Jones, P. Yang, H. Fan, F. P. Doty, J. Mater. Sci. Res., 4, 15 (2015)自由形式势框架X. W. Zhou, M. E. Foster, J. A. Ronevich, C. W. San Marchi, J. Comp. Chem., 41, 1299 (2020)η 3 的 Tersoff 变体F. H. Stillinger, T. A. Weber, Phys. Rev. B, 31, 5262 (1985)SWJ. Tersoff, Phys. Rev. B, 39, 5566 (1989)K. Albe 等, Phys. Rev. B, 66, 035205 (2002)TersoffJ. Wang, A. Rockett, Phys. Rev. B, 43, 12571 (1991)Rockett-TersoffM. S. Daw, M. I. Baskes, Phys. Rev. B, 29, 6443 (1984)EAM赞分享科研科学计算高性能计算【免费下载链接】lammpsPublic development project of the LAMMPS MD software package项目地址https://gitcode.com/gh_mirrors/la/lammps点击查看免费下载相关推荐LAMMPS pair_style sw/angle/table 完整指南基于表格化角势的改良 Stillinger-Weber 三体势LAMMPS pair_style sw/angle/table 完整指南基于表格化角势的改良 Stillinger Weber 三体势 sw/angle/t科研科学计算高性能计算LAMMPS EAM 势函数完全指南pair_style eam 家族从原理到实战LAMMPS EAM 势函数完全指南pair_style eam 家族从原理到实战 导读 嵌入原子方法Embedded Atom Method, EAM科研科学计算高性能计算LAMMPS 中 Stillinger-WeberSW三体势完整实战指南pair_style sw 与 sw/mod 命令详解LAMMPS 中 Stillinger WeberSW三体势完整实战指南pair_style sw 与 sw/mod 命令详解 本文以 LAMMPS 官方科研科学计算高性能计算上一篇Easy!Appointments与CalDAV协议集成跨平台日历同步终极指南下一篇matches.js性能优化技巧编译缓存与模式匹配的最佳实践创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考