ABACUS 恒温器与短轨迹分析
恒温器与短轨迹分析:终端操作、完整输入、真实结果与适用范围。
阅读本篇目录
本篇采用鸢算科技集群 ABACUS 3.10.1 的实际输入与输出。下载实操资料包,解压后进入 abacus-examples。inputs 是干净输入,cases 是参考结果,work 用于你的新计算。
这篇要做什么#
在md_type=nvt下通过md_thermostat选择恒温算法。Anderson、Berendsen和速度重标度对动力学相关函数影响不同,不能仅因温度更平稳就认为适合所有输运性质。脚本从MD_dump读取坐标计算短时间MSD;跨边界轨迹需先做展开,短轨迹曲线不能强行线性拟合成扩散系数。
1 准备并提交#
python new-case.py md-anderson
cd work/md-anderson
sbatch run.sh
提交脚本使用核时分区模板。套餐用户按自己的资源权限用 yskit 生成提交脚本,保留相同的 ABACUS 计算命令。不要在登录节点直接运行计算。
本篇资料目录:md-anderson、md-berendsen、md-rescaling、md-rescale_v。其他对照例回到资料包根目录,换目录名后用同样三个命令提交。
2 核心输入#
md-anderson/INPUT 的完整内容:
INPUT_PARAMETERS
suffix tutorial
calculation md
basis_type pw
ecutwfc 40
scf_thr 1e-8
scf_nmax 150
ks_solver cg
device gpu
precision double
cal_force 1
cal_stress 1
pseudo_dir ../../PP_ORB
orbital_dir ../../PP_ORB
md_type nvt
md_thermostat anderson
md_nstep 20
md_dt 0.5
md_tfirst 300
md_seed 12345
重点检查:md_thermostat、md_nraise、md_tolerance。参数与说明应按3.10.1理解;官网 latest 的新增参数见版本与扩展范围。
展开完整 STRU 结构与 KPT 采样文件
STRU#
ATOMIC_SPECIES
Si 28.0855 Si_ONCV_PBE-1.0.upf
NUMERICAL_ORBITAL
Si_gga_8au_100Ry_2s2p1d.orb
LATTICE_CONSTANT
10.26
LATTICE_VECTORS
0 0.5 0.5
0.5 0 0.5
0.5 0.5 0
ATOMIC_POSITIONS
Direct
Si
0.0
2
0 0 0 1 1 1
0.25 0.25 0.25 1 1 1
KPT#
K_POINTS
0
Gamma
2 2 2 0 0 0
对照输入的差别#
md-berendsen:
md_thermostat berendsen
md-rescaling:
md_thermostat rescaling
md-rescale_v:
md_thermostat rescale_v
3 检查输出和实际结果#
squeue -u "$USER"
tail -n 30 stdout.log
ls OUT.*
确认正常结束后,再检查电子收敛、几何或时间步终止条件以及本篇需要的结果文件。SCF电子收敛不等于晶胞或原子优化完成。
| 实算目录 | 最后总能量 / eV | 计算类型 | 执行路径 |
|---|---|---|---|
md-anderson |
-211.918013521 | md |
GPU |
md-berendsen |
-211.899429302 | md |
GPU |
md-rescaling |
-211.901317569 | md |
GPU |
md-rescale_v |
-211.899429303 | md |
GPU |
总能量是整个输入晶胞的量;不同原子数、赝势、泛函或物理条件的数值不能直接相减。CPU路径也在分配的计算资源中执行,本表不提供CPU节点性能对照。


4 提取和重画#
回到资料包根目录:
module load ase/3.29.0
python plot.py md-thermostats
ls figures
plot.py读取对应原始日志或结果文件;已有CSV在 analysis。结构可打开输出的 STRU.cif,cube可在VESTA查看。保留原始数据、坐标单位和参数,修改绘图不能改变计算结果。