LAMMPS 键角拓扑相互作用完全指南:bond_style / angle_style / dihedral_style / improper_style 命令速查与源码解析
科研科学计算高性能计算【免费下载链接】lammpsPublic development project of the LAMMPS MD software package项目地址https://gitcode.com/gh_mirrors/la/lammps点击查看免费下载本篇技术指南以 LAMMPS 官方文档的键角命令索引页 doc/src/Commands_bond.rst 为骨架系统梳理 LAMMPS 中四类成键拓扑相互作用——键bond、键角angle、二面角dihedral、反常二面角improper——的全部内置风格style及其加速变体。读完本文你将掌握bond_style等四条命令的完整语法、每个风格的物理公式与bond_coeff系数要求、加速版本GPU/INTEL/KOKKOS/OPENMP/OPT的启用方式并能结合 src 目录下的 C 实现理解其底层调用机制从而在输入脚本中正确选择与配置成键相互作用。一、什么是键角拓扑相互作用与 pair 势的本质区别在 LAMMPS 中bond_style命令设置的是特定原子对之间的键相互作用它与通过pair_style命令设置的对势有本质区别作用对象键只作用于数据文件或重启文件中明确定义了键关系的原子对且键关系在整个模拟过程中持续存在除非通过某些 fix 或键势能让键断裂或新建而 pair 势通常作用于截断距离内的所有原子对活跃相互作用集合随模拟推进不断变化。定义来源成键原子列表由read_data或read_restart命令从 data 文件或 restart 文件中读取pair 势则无需拓扑信息。系数存储大多数键势能将系数以二进制形式存入 restart 文件因此重启模拟时通常无需重新执行bond_style与bond_coeff命令唯一的例外是hybrid键风格它只存储子风格列表系数必须在重启后重新指定。这种显式拓扑 全程有效的特性使键、键角、二面角、反常二面角成为高分子、生物分子、粗粒化模型如 CG-DNA、BPM 断裂力学等模拟的核心组件。二、四大风格命令与加速变体标记2.1 命令语法总览bond_style、angle_style、dihedral_style、improper_style四条命令的语法完全一致bond_style style args angle_style style args dihedral_style style args improper_style style argsstyle取值为各自支持的内置风格名下文逐一列出args对除hybrid外的所有风格均为空hybrid的args为一个或多个风格名用于在同一模拟中混用多种势。2.2 加速变体标记规则官方文档页 doc/src/Commands_bond.rst 明确指出部分风格带有加速版本用括号中的字母标注标记加速变体说明gGPU基于 GPU 的加速实现iINTELIntel CPU / KNL 优化实现kKOKKOS支持 CPU / GPU / 众核的 Kokkos 移植oOPENMPOpenMP 线程并行实现tOPT优化的单核向量化实现例如harmonic (iko)表示bond_style harmonic同时存在harmonic/intel、harmonic/kk、harmonic/omp三个加速变体见 doc/src/bond_harmonic.rst 开头的 Accelerator Variants 行。加速变体的源码位于对应加速包目录下例如 src/KOKKOS/bond_harmonic_kokkos.cpp、src/OPENMP/bond_harmonic_omp.cpp、src/INTEL/bond_harmonic_intel.cpp。使用加速变体时只需在输入脚本中写bond_style harmonic/kk等名称其余行为与基础版本一致。2.3 默认值与限制四条风格命令的默认值均为none即关闭成键相互作用。成键风格只能用于允许定义键的原子风格atom style且多数风格属于 MOLECULE 包必须在使用-DLAMMPS_EXCEPTIONSON或传统 make 方式构建时启用相应包。各风格归属的包在对应文档页的 Restrictions 一节有明确说明例如bond_style harmonic需要 MOLECULE 包见 doc/src/bond_harmonic.rstbond_style fene/nm需要 EXTRA-MOLECULE 包。三、bond_style全部 32 种键风格速查与公式以下按官方索引页 doc/src/Commands_bond.rst 与 doc/src/bond_style.rst 的完整清单列出每种键风格的物理公式、系数与适用场景。公式中r为键两端原子距离。3.1 基础控制类风格说明公式 / 行为none关闭键相互作用不计算任何键能/键力zero保留拓扑但不计算相互作用键拓扑信息保留可用于write_data输出拓扑不产生能量与力hybrid混用多种键风格每种键类型独立指定子风格3.2 经典分子力场键harmonicMOLECULE 包加速变体 iko简谐键势$$E K (r - r_0)^2$$其中 1/2 因子已并入K。系数K能量/距离²、r_0距离。典型调用bond_style harmonic bond_coeff 5 80.0 1.2feneMOLECULE 包加速变体 iko有限延伸非线性弹性FENE势用于珠簧聚合物模型Kremer–Grest 模型见 doc/src/bond_fene.rst$$E -0.5 K R_0^2 \ln\left[1 - \left(\frac{r}{R_0}\right)^2\right] 4\epsilon\left[\left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6\right] \epsilon$$第一项为吸引项延伸到键最大延伸长度R_0第二项 Lennard-Jones 项为排斥项在2^(1/6) σLJ 势极小值处截断。系数K能量/距离²、R_0距离、ε能量、σ距离。示例bond_style fene bond_coeff 1 30.0 1.5 1.0 1.0fene/nmEXTRA-MOLECULE 包加速变体 ko用广义 LJ 势与 pair stylenm/cut同形式替代标准 LJ 项$$E -0.5 K R_0^2 \ln\left[1 - \left(\frac{r}{R_0}\right)^2\right] \frac{E_0}{(n-m)}\left[m\left(\frac{r_0}{r}\right)^n - n\left(\frac{r_0}{r}\right)^m\right]$$当取n12, m6, r_0 2^(1/6) σ时退化为标准 FENE 势。系数K、R_0、E_0能量、r_0距离、n、m无量纲。示例bond_style fene/nm bond_coeff 1 2.25344 1.5 1.0 1.12246 2 6fene/expand加速变体 ko支持可变尺寸粒子的 FENE 键常用于耗散粒子动力学。class2COMPASS/Class 2 力场键加速变体 ko、mm3MM3 非谐键加速变体 ko、gromosGROMOS 力场键加速变体 ko、morseMorse 键势加速变体 ko、nonlinear非线性键加速变体 ko、gaussian多中心高斯型键势加速变体 ko。3.3 断裂与特殊用途键风格说明bpm/peri基于 BPMBond Breakage Mechanics框架的近场动力学本构模型PMB/LPS/VES/EPS见 src/BPM/bond_bpm_peri.cppbpm/rotational可断裂键基于参考态偏差产生力与力矩bpm/spring可断裂键基于参考长度偏差产生力bpm/spring/plastic上述可断裂键的塑性屈服版本bpm/zero记录状态并断裂但不施加力的 BPM 键quartic可断裂四次键势用于 BPM 断裂力学quartic/exp带可选指数排斥项的四次键势加速变体 krheo/shellRHEO 氧化模拟中的壳层键见 src/RHEO/bond_rheo_shell.cppspecial启用 1-5 及更远对的特殊键排除见 src/MISC/bond_special.cppharmonic/restrain加速变体 ko约束键恢复至原始键长的简谐键harmonic/shift、harmonic/shift/cut加速变体 ko移位简谐键后者带截断。这三个风格与harmonic密切相关可在 doc/src/bond_harmonic_restrain.rst 等页面查看各自的系数表。3.4 粗粒化 DNA/RNA 与表格式键风格说明oxdna/fene适合 DNA 建模的修正 FENE 键oxDNA 模型oxdna2/fene、oxdna3/fene与 oxdna 相同但配合不同的 pair styles 使用oxrna2/fene适合 RNA 建模的修正 FENE 键mesocnt纳米管参数化预设的简谐键封装见 src/MESONT/bond_mesocnt.cpptable按键长查表的表格式键势加速变体 ko见 src/MOLECULE/bond_table.cppbond_style lepton加速变体 o是一个通用求值器风格直接对用户提供的数学表达式字符串求值得到键势能由 Lepton 表达式库实现见 src/LEPTON/bond_lepton.cpp。四、键系数的四种指定途径键势系数可通过以下四种途径指定优先级与使用场景各不相同bond_coeff命令输入脚本bond_coeff 类型 K r0 ...例如bond_coeff 5 80.0 1.2data 文件中的Bond Coeffs段配合read_data每行格式为类型 系数...restart 文件配合read_restart大多数风格自动恢复系数无需重写命令bond_write命令将指定键类型的系数写入文件见 doc/src/bond_write.rst。注意若同时定义了键与 pair 风格通常需要配合special_bonds命令关闭或加权两个成键原子之间本应存在的 pair 相互作用否则会重复计入能量。五、hybrid 混用多势并存的完整实操bond_style hybrid允许在同一模拟中对不同键类型使用不同势能例如聚合物流动中的键类型 1用fene壁面边界中的键类型 2用harmonicbond_style hybrid harmonic fene bond_coeff 1 harmonic 80.0 1.2 bond_coeff 2* fene 30.0 1.5 1.0 1.0规则如下bond_coeff命令中风格名必须紧跟键类型之后剩余系数为该风格自己的系数上例中类型 1 键用 harmonicK80.0r₀1.2其余所有类型2-N用 feneK30.0R₀1.5ε1.0σ1.0data 文件的Bond Coeffs段遵循相同规则每行形如1 harmonic 80.0 1.2、2 fene 30.0 1.5 1.0 1.0若想关闭特定键类型的相互作用可在该位置写上不带系数的none输入脚本或 data 文件均可。关键限制与其它键风格不同hybrid风格不将子风格的系数存入二进制 restart 文件或 data 文件。重启模拟时必须重新执行bond_coeff命令。这一行为从源码结构也可印证——混合风格需要动态路由到不同子类的compute无法像单一风格那样按类型直接索引系数数组。六、源码级实现harmonic 键的 compute 流程以最常用的 harmonic 键为例其实现位于 src/MOLECULE/bond_harmonic.cpp核心计算流程如下构造函数中分配系数数组k、r0并开启born_matrix_enable 1支持 Born 矩阵计算compute()从atom-x读取坐标、从neighbor-bondlist读取邻居列表维护的键列表nbondlist个键逐键计算原子间距rsq由dr r - r0与rk k * dr得到键力和键能力以fbond施加到两个原子f[i1]与f[i2]能量累加到ebond。这解释了为何bond_coeff的系数按键类型而非键实例组织系数数组以类型为索引每个键在运行时按自己的类型取k[type]、r0[type]。相同模式适用于 src/bond_hybrid.cpp按类型路由到子风格、src/bond_zero.cpp仅管理拓扑以及各加速变体如 src/KOKKOS/bond_harmonic_kokkos.cpp 的 GPU 内核版本。七、angle_style25 种键角风格速查键角势作用于三个连续成键原子i-j-kθ为 j 处键角。典型示例angle_style harmonic angle_coeff 1 300.0 107.0其中 harmonic 键角势为E K (θ - θ₀)²系数K能量、θ₀度。θ₀以度为单位指定但 LAMMPS 内部转换为弧度因此K实际为能量/弧度²。完整风格清单源自 doc/src/Commands_bond.rstnone、zero、hybrid (k)amoeba、charmm (iko)、class2 (ko)、class2/p6 (ko)、class2xe (ko)、cosine (ko)、cosine/buck6d (o)、cosine/delta (ko)、cosine/periodic (ko)、cosine/shift (ko)、cosine/shift/exp (ko)、cosine/squared (ko)、cosine/squared/restricted (ko)、cross (ko)、dipole (ko)、fourier (ko)、fourier/simple (ko)、gaussian (ko)、harmonic (iko)、lepton (o)、mesocnt、mm3 (ko)、mwlc (ko)、quartic (ko)、spica (ko)、table (ko)。八、dihedral_style19 种二面角风格速查二面角势作用于四个连续成键原子i-j-k-lφ为绕 j-k 轴的扭转角。完整风格清单none、zero、hybrid (k)charmm (iko)、charmmfsw (ko)、class2 (ko)、class2xe (ko)、cosine/shift/exp (ko)、cosine/squared/restricted (ko)、fourier (iko)、harmonic (iko)、helix (ko)、lepton (o)、multi/harmonic (ko)、nharmonic (ko)、opls (iko)、quadratic (ko)、spherical (ko)、table (ko)、table/cut (ko)。其中opls是生物分子模拟中常见的 OPLS 力场二面角势见 doc/src/dihedral_opls.rstcharmm为 CHARMM 力场二面角class2对应 COMPASS 二面角。九、improper_style16 种反常二面角风格速查反常二面角improper作用于四个原子i-j-k-l用于约束原子团处于平面或特定的手性/面外几何如 sp² 杂化碳、酰胺平面与二面角扭转有本质区别。典型示例improper_style cvff improper_coeff 1 100.0 0.0 0.0完整风格清单none、zero、hybrid (k)amoeba、class2 (ko)、cossq (ko)、cvff (iko)、distance (ko)、distharm (ko)、fourier (ko)、harmonic (iko)、inversion/harmonic (ko)、ring (ko)、sqdistharm (ko)、umbrella (ko)。其中cvffConsistent Valence Force Field 平面势、harmonic简谐反常势、umbrella伞形势与ring环平面约束势在蛋白质力场中最为常用。十、速查表按分子力场家族归类为便于实际选型将四种风格的常用风格按力场家族归纳如下力场家族键键角二面角反常二面角CHARMMharmoniccharmmcharmm / charmmfswharmonic / umbrellaOPLSharmonicharmonicoplsharmonic / cvffCOMPASS (Class2)class2class2 / class2/p6class2class2珠簧聚合物fene———oxDNA/oxRNAoxdna*/fene———断裂力学 BPMbpm/*、quartic———十一、常用配套命令bond_coeff、angle_coeff、dihedral_coeff、improper_coeff设置各类拓扑势系数delete_bonds删除模拟中的键与键角special_bonds控制成键原子间的 pair 相互作用权重FENE 键使用前应设置special_bonds fene或special_bonds lj/coul 0 1 1read_data / read_restart读取 data / restart 文件中的键拓扑与系数Build package查看如何启用 MOLECULE、EXTRA-MOLECULE、KOKKOS、OPENMP 等包以使用对应风格及加速变体。十二、小结如何快速为模拟选定键角风格确认分子力场生物/有机体系优先选 CHARMM/OPLS/COMPASS 家族harmonic、charmm、opls、cvff 等聚合物熔体常用fenelj/cutpair 组合DNA/RNA 粗粒化选oxdna*/fene断裂力学选 BPM 系列或quartic确认包是否启用检查对应文档页 Restrictions 一节的包归属未启用的包需先重建 LAMMPS需要多势混用时使用hybrid但注意重启后必须重写bond_coeff追求性能时选择带加速标记的变体如harmonic/kk并将对应加速包KOKKOS、OPENMP、GPU、INTEL加入构建始终记得配合special_bonds处理成键原子间的 pair 相互作用避免双重计数。更多细节可深入阅读官方文档对应章节Commands bond 索引页、bond_style 命令、angle_style 命令、dihedral_style 命令、improper_style 命令以及各风格独立文档页如 bond_harmonic.rst、bond_fene.rst、bond_hybrid.rst。赞分享科研科学计算高性能计算【免费下载链接】lammpsPublic development project of the LAMMPS MD software package项目地址https://gitcode.com/gh_mirrors/la/lammps点击查看免费下载相关推荐Tmux 终端复用器速查指南CLI 命令、快捷键与命令模式全解析Tmux 终端复用器速查指南CLI 命令、快捷键与命令模式全解析 本文是对 Quick Reference 技术速查清单仓库中 docs/tmux.md ht文档教程SerenityOS Image Viewer 图像查看器完全指南命令行用法、快捷键与源码实现解析SerenityOS Image Viewer 图像查看器完全指南命令行用法、快捷键与源码实现解析 导读 Image Viewer 是 SerenityOS操作系统内核驱动lscpu 命令详解Linux CPU 架构信息查询与核心拓扑分析实战lscpu 命令详解Linux CPU 架构信息查询与核心拓扑分析实战 本文以 linux command 仓库中的 lscpu 命令文档 https://l文档教程上一篇RedwoodJS 贡献指南从社区参与到代码提交的完整路线图下一篇CodeQL C 查询库 0.0.11结构化绑定Structured BindingsIR 翻译支持深度解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考