LAMMPS 拉伸数据与结构分析
用终端脚本提取工程/真实应变、Cauchy/名义应力,分开动能与构型贡献,并用OVITO观察局部结构。
阅读本篇目录
本篇继续镍拉伸实操,说明 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。

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 |
本系列六张结构与曲线图 |