LAMMPS 专题

LAMMPS Drude双温控与温度分解

实际运行8个核-Drude振子,读取质心与相对运动温度、自由度和动能,避免用普通原子温度误判。

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

可热化Drude模型通常把核-Drude质心运动与内部相对运动分别控温。直接看普通原子Temp,会把两种运动混在一起。本篇用8个独立振子,演示完整输入和两条温度通道。

下载五篇共用的完整输入、科学数据与绘图包。先按照多电子波包篇的共用运行步骤提交一次,后续四篇读取同一批结果,不需要重复提交。

1. 查看结构与完整输入#

cat inputs/drude-two-thermostats/system.data
cat inputs/drude-two-thermostats/input.lammps

16个粒子组成8个核心-Drude键,质量11.6/0.4u,核心/辅助电荷+0.5/−0.5e,初始相对位移0.01Å。初始质心速度按300K缩放,相对速度为0。本例用零非键势隔离振子与热浴,不是液体或完整真实分子力场。

units real
atom_style full
atom_modify map array
boundary p p p
read_data system.data
pair_style zero 5.0
pair_coeff * *
bond_style harmonic
bond_coeff 1 500 0
special_bonds lj/coul 0 0 0
fix roles all drude C D
comm_modify vel yes
fix integrate all nve
fix baths all langevin/drude 300 100 47019 1 20 47023
compute separated all temp/drude
timestep 0.02
thermo 1
thermo_style custom step time temp pe ke etotal c_separated[1] c_separated[2] c_separated[3] c_separated[4] c_separated[5] c_separated[6]
thermo_modify norm no format float %.17g
dump atoms all custom 1 atoms.dump id mol type q x y z vx vy vz fx fy fz
dump_modify atoms sort id format float %.17g
run 5000

langevin/drude 300 100 47019 1 20 47023中,前组为质心温度300K、阻尼100fs和种子,后组为相对温度1K、阻尼20fs和种子;默认不使用zero选项。fix nve完成积分,时间步0.02fs,5000步共100fs。

2. 六个输出分别是什么#

输出 含义 本例口径
c_separated[1] 核心-Drude质心温度 质量加权质心速度
c_separated[2] 内部相对运动温度 约化质量与相对速度
c_separated[3] 质心自由度 24
c_separated[4] 相对自由度 24
c_separated[5] 质心动能 real单位kcal/mol
c_separated[6] 相对动能 real单位kcal/mol

两个自由度各为8×3=24;普通16粒子温度扣除质心后为45,是另一口径。本例没有人为改自由度使数值接近目标。

两条原生温度、质量加权动能与普通原子温度

3. 用质量加权速度检查温度#

对每对核心C、Drude D:M=mC+mD,mu=mC*mD/M;质心速度为 (mC*vC+mD*vD)/M,相对速度为 vD−vC。分别计算 0.5*M*V² 和 0.5*mu*vrel²,再按单位换算与自由度换为温度。

脚本对5001个保存帧的全部粒子独立重建两条动能与温度,并检查两条动能之和等于原生总动能。温度通道差的最大值约2.27e−13K。

4. 实际短轨迹怎么看#

最后20fs平均 实际结果/K 请求的热浴目标/K
质心运动 199.6384 300
相对运动 0.8020 1
普通粒子Temp 106.9016 不作为这两条热浴的目标

小体系100fs只是短暂过程;请求300K/1K不代表短时平均必然等于这两个值。图中初始相对模式的振荡也来自输入位移。真正的生产计算应先建立适合材料的完整极化力场,再检查更长平衡过程、步长与统计区间,不能拿本表作为平衡材料温度结论。

head -n 12 inputs/drude-two-thermostats/atoms.dump
cat reference-results/VALIDATION.json

已有原生结果时,只重新提取和画图:

module load sisl/0.16.4
python analyze.py
python plot.py

这一步读取实际结果,不重新运行原生模拟。

参考Drude温度字段。

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

查看配图

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

100%查看原图 ↗