LAMMPS 专题

LAMMPS 拉伸数据与结构分析

用终端脚本提取工程/真实应变、Cauchy/名义应力,分开动能与构型贡献,并用OVITO观察局部结构。

更新于 2026-11-10约 4 分钟阅读按任务与环境选择适用配置
阅读本篇目录

本篇继续镍拉伸实操,说明 CSV 各列是什么意思、如何重画图,以及怎样用 OVITO 检查结构。三篇共用同一个算例包。

下载本系列共用的完整算例和真实数据包。

1. 只分析配套数据,不重新计算#

新解压目录也可直接分析包内的真实结果:

bash analyze.sh

这条命令默认读取 reference/,不会提交 Slurm 作业。自己的计算完成后改用 bash analyze.sh work。两者都会输出完整 CSV 与六张 PNG,并保留原始 21 帧、每帧 500 原子的轨迹。

ls figures
head -n 3 tables/p100-npt-rate0.015-seed56001.csv
bash plot.sh reference

最后一条明确用随包提供的原始实算数据重画参考图;若需要保留自己这次分析的图,请先复制 figures 到另一个目录。

2. 应变的两种定义#

以加载开始时的 Ly0=17.6 Å 为参考:

  • 工程应变:engineering_strain = Ly/Ly0 - 1。
  • 真实/对数应变:true_strain = ln(Ly/Ly0)。

erate 直接指定工程应变率,因此本例工程应变等于 rate × loading_time_ps。6% 工程应变对应真实应变 ln(1.06)≈0.058269,不是 0.06;不要把两列混用。

3. 应力符号、单位和面积#

LAMMPS metal 单位中的全局压力为 bar,本教程采用拉伸为正的总 Cauchy 应力:

sigma_yy_GPa = -pyy_bar * 0.0001

全局压力包含动能与构型贡献。compute stress/atom 输出的每原子量是 压力×体积,这里为 bar·Å³;不能拿单个数乘 0.0001 就当作 GPa。将对应分量对全体原子求和、除以当前晶胞体积,再转换单位,才与全局应力对应。

表中的名义应力使用加载初始截面积:

sigma_nominal_yy = sigma_Cauchy_yy * (Lx * Lz) / (17.6 * 17.6)

固定横向尺寸时两者相同;横向收缩时会不同。本次 P100、seed56001、0.015 ps⁻¹ 末帧:Cauchy 为 7.394665 GPa,名义值为 7.126583 GPa。

工程应变与对数应变、Cauchy与名义应力

4. 构型应力为何不等于总应力#

本例同时输出:

compute full all stress/atom bath_temp
compute conf all stress/atom NULL pair
compute kinetic all ke/atom

第一项含动能贡献;第二项只含本 EAM 模型的相互作用 virial;第三项输出每原子动能。CSV 的 sigma_config_yy_GPa 与 sigma_kinetic_yy_GPa 相加才是总 yy 应力。

为了直接检查构型应力,脚本对固定瞬时结构施加 ±10⁻⁶ 的 y 微小应变,保持分数坐标不变,用势能差分:

sigma_config_yy = [U(+h)-U(-h)] / (2*h*V)

eV/ų 在此按本版 LAMMPS 单位常数乘 160.21765 转为 GPa。差分快照没有热速度,因此检查的是构型贡献,不能要求它等于含动能的总应力。

相同快照的能量差分与构型应力

12 个快照包含两种横向控制、两种速率的第 0、2000、4000 步,原生应力与独立能量差分最大差约 1.1×10⁻⁸ GPa。这说明本例对同一快照的符号、单位和构型贡献提取相符,不代表温度、尺寸或加载速率已收敛。

5. OVITO 怎么用#

analyze.sh 会调用现有 OVITO Python 3.16.1,使用 CommonNeighborAnalysisModifier / AdaptiveCutoff 分析每条轨迹的初、末帧,保留每个原子的 ID、坐标和 CNA 标签。GUI 观察时打开:

work/transverse/p100-npt-rate0.015-seed56001/tension.dump

在 OVITO 添加 Common Neighbor Analysis,选择 Adaptive cutoff。与本例三方向周期边界保持一致;颜色可按 Structure Type 显示。这里 0/1/2/3/4 分别是 Other/FCC/HCP/BCC/ICO。

head -n 5 work/transverse/structure-analysis/p100-npt-rate0.015-seed56001-step4000.csv

本次 16 条轨迹初末均为 500 个 FCC 标签,没有出现 CNA 判定的 HCP/BCC/ICO/Other。CNA 是局部几何分类,不能单凭标签给出相稳定性、断裂韧性或屈服强度;Other 也可能来自表面、热噪声或畸变,不自动等于新物相。

6. 输出文件对照#

文件 用途
work/*/案例/in.lmp 实际执行的完整 LAMMPS 输入
work/*/案例/native.log 原生温度、能量、压力和盒长
work/*/案例/tension.dump 全部原子的位置、速度、力、应力与动能
work/*/案例/final.data 加载末态数据;继续动力学还需自行定义新阶段
tables/案例.csv 每帧应变、温度、能量、体积及六分量总应力
work/*/structure-analysis/*.csv 初末帧逐原子 CNA 数据
figures/*.png 本系列六张结构与曲线图

参考:LAMMPS 原子应力定义、OVITO Common Neighbor Analysis。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗