lammps 教程:npt 控温估计 FCC Cu 熔点

LAMMPS 全称为 Large-scale Atomic/Molecular Massively Parallel Simulator,是一种经典的分子动力学仿真代码,专注于材料建模。它旨在在并行计算机上高效运行,并且易于扩展和修改。LAMMPS 最初由美国能源部机构桑迪亚国家实验室开发,现在包括来自许多机构的许多研究小组和个人的贡献。LAMMPS 的大部分资金来自美国能源部 (DOE)。LAMMPS 是根据 GNU 公共许可证版本 2 (GPLv2) 的条款分发的开源软件。

本教程使用 lammps CPU 即可运行。 通过本教程的学习,您将能够: 理解 npt 控温操作流程 使用 dump 和 fix 指令将数据预处理

教程链接:https://go.openbayes.com/eYVvS

该教程将在云平台 http://OpenBayes.com 上进行演示,使用下方邀请链接注册即可获得 4 小时 RTX 5090 免费使用时长:
https://openbayes.com/console/signup?r=Dennis9801_1ohB

一、输入文件说明

进入 ./melt_u3,http://melt.in 文件如下:

复制代码
units            real
dimension        3
boundary         p p p


atom_style    atomic
读取铜结构
read_data      cu
#选用 eam potential
pair_style       eam
pair_coeff      * *  Cu_u3.eam
#每隔 100 时间步长于屏幕输出
thermo            100
thermo_style      custom step temp pe press vol lx density
#将原子轨迹输出到文件 md.lammpstrj
dump              2 all custom 100 md.lammpstrj id type x y z
#结构优化
minimize       1.0e-10 1.0e-10 10000 10000
#nvt 压强弛豫
fix                  1      all   nvt temp 1000 1000 100
run                 10000
unfix                1
#npt 体积弛豫
fix                  1      all npt temp 1000 1000 100 iso 1 1 1000
run                 10000
unfix              1
#将温度和体积量分别存储到 t 和 v 中
variable t equal "temp"
variable v equal "vol"
#npt 控温由 1000K 升温至 2000K。
#升温速率为 (2000-1000)/100000=0.001 K/fs=1K/ps
fix                  1 all npt temp 1000 2000 100 iso 1 1 1000
fix                  2 all ave/time 100 10 10000 v_t v_v file t_v.txt
run                1000000

势函数类型

该项目提供了eam 势函数的演示模型
eam

复制代码
./melt_u3

对应的势函数模块

复制代码
pair_style       eam
pair_coeff      * *  Cu_u3.eam

npt 控温流程

主要流程为:

nvt 压强弛豫,npt 体积弛豫

复制代码
#结构优化
minimize       1.0e-10 1.0e-10 10000 10000

#nvt 压强弛豫
fix                  1      all   nvt temp 1000 1000 100
run                 10000
unfix                1

npt 升温

复制代码
#npt 控温由 1000K 升温至 2000K。
#升温速率为 (2000-1000)/100000=0.001 K/fs=1K/ps
fix                  1 all npt temp 1000 2000 100 iso 1 1 1000 
fix                  2 all ave/time 100 10 10000 v_t v_v file t_v.txt
run                1000000

二、操作步骤

  1. 克隆并启动容器

登录 http://OpenBayes.com,在「公共教程」页面,选择「lammps 入门教程:npt 控温估计 FCC Cu 熔点」教程。

页面跳转后,点击右上角「克隆」,将该教程克隆至自己的容器中。

选择「NVIDIA GeForce RTX 4090」以及「lammps」镜像,OpenBayes 平台提供了 4 种计费方式,大家可以按照需求选择「按量付费」或「包日/周/月」,点击「继续执行」。可以使用文章开头的邀请链接,获得 RTX 4090 使用时长!

待系统分配好资源,当状态变为「运行中」后,点击「打开工作空间」。

2. 上传文件

进入到「工作空间」后,传我们准备好的「melt_u3.zip」压缩包,模型已将压缩包上传完成,所以我们直接进行下一步。

打开「终端」,输入并运行以下命令解压压缩包。

复制代码
unzip melt_u3.zip

压缩包解压完成后可以输入以下命令进入解压目录,并使用「ls」命令查看文件。

复制代码
cd melt_u3

3. 运行 lammps

输入以下命令运行 lammps ,整个过程大约需要 5-10 分钟。

复制代码
mpirun -np 2 lmp < melt.in | tee out

运行完毕后可在文件夹中得到「t_v.txt」 等输出文件,其中温度体积数据都输入到了「t_v.txt」文件中,后面我们需要通过画图工具将数据可视化。

4. 数据处理

等待模型运行完成后,输入以下命令更新 apt 源。

复制代码
apt-get update  --fix-missing

更新好之后输入以下命令安装 gnuplot(画图工具),并输入 y 回车确认。

复制代码
apt install gnuplot

然后我们需要用刚安装好的画图工具将数据可视化。运行脚本都已布置好,直接运行以下命令可得到 t-v 图即温度体积阶跃曲线图,可以看到阶跃点、也就是熔点为 1600k。

复制代码
gnuplot p.plt

然后将其原子轨迹文件「md.lammpstrj」下载到本地。

将下载的文件放入 OVITO 中打开,点击播放即可看到铜溶解过程中每个铜原子的运行轨迹。

相关推荐
杨杨杨大侠14 分钟前
Agent 的上下文和记忆怎么管?从 Harness 到 AgentScope 实现
人工智能·agent
lll235269177927 分钟前
法律咨询过程中的重要信息如何保存?
深度学习·智能手机
小王20440 分钟前
Day 41:模型注意力机制 — SE / CBAM / ECA
python·深度学习·机器学习
OceanBase数据库官方博客42 分钟前
被 VLDB 2027接收OceanBase 最新论文让数据库基(技术解析与实践)
数据库·人工智能·oceanbase
朝朝辞暮i43 分钟前
第 22 课:Conditional 1D U-Net——Diffusion Policy 怎样理解一整段未来动作?
人工智能·pytorch·深度学习·transformer·vla
别动我齐刘海1 小时前
Linux 系统调试学习2
linux·运维·c++·人工智能·学习·机器学习·机器人
Dawson Zhu1 小时前
《Agentic Design Patterns》第 18 章导读:Guardrails 安全模式
人工智能·语言模型·架构·aigc·agi
探客木木夕1 小时前
结构超图重构神经网络模型:脉冲权重节点与四阶段闭环框架
人工智能·深度学习·神经网络
地理探险家1 小时前
从零实现图片自动分类:数据准备、模型训练与单图预测
人工智能·深度学习·机器学习·分类·数据挖掘·数据集