VTST:结果归档与下一轮结构
用实际MD、动力学矩阵和Lanczos结果学习压缩归档、结构接续和模式文件保存。
阅读本篇目录
一次VASP任务结束后,归档结果与准备下一轮输入是两件具体操作。VTST 1040包含相应脚本:它们会移动、压缩或删除当前工作目录中的文件,因此本篇始终在资料包输入的独立副本中演示,原文件保留。
1. 先读例子与文件变化#
下载完整输入副本、实际归档/结果与读取绘图脚本,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd vtst-result-archives
bash read.sh
bash plot.sh
默认读取附带结果,CSV在 analysis-read,图片在 figures,不会重新运行电子结构或动力学计算。

本例复用真实LiH短MD、NH₃动力学矩阵与Lanczos计算结果,不再计算势能。脚本为VTST 1040,使用Perl、shell、gzip和gnuplot;几何读取/绘图使用ASE,无编译或GPU依赖。
module load vtstscripts/1040 ase/3.29.0
2. 普通任务:先复制,再归档#
cp -a inputs/MD-normal normal-work
cd normal-work
vfin.pl run-1
ls run-1
gzip -t run-1/OUTCAR.gz
run-1 是新建的归档目录,不应事先存在。本例普通任务经过 vfin.pl 调用普通清理路径,主要效果为:
| 文件 | 归档后的位置/作用 |
|---|---|
| OUTCAR、XDATCAR等非空结果 | 移入run-1并压缩为.gz |
| POSCAR、CONTCAR、INCAR、KPOINTS | 原值保存在run-1 |
| POSCAR.con、POSCAR.xyz等 | 脚本转换并放入run-1 |
| 活动目录POSCAR | 用原CONTCAR替换,为下一轮准备 |
| EIGENVAL、IBZKPT、PCDAT、CHG等 | 按脚本规则删除,不属于本流程保留项 |
归档脚本不会替你判断某个文件以后是否还有科研用途。需要保留投影、密度、波函数或完整XML时,应先复制整份原目录,或自行选择归档文件。本例不携带POTCAR、WAVECAR。
3. 读取压缩文件,不用全部解压#
gzip -cd run-1/OUTCAR.gz | tail -20
gzip -cd run-1/XDATCAR.gz | head -12
head -10 run-1/POSCAR.xyz
gzip由脚本在后台执行,应确认所需压缩文件完成后再读取。gzip -t 可检查压缩流完整性。资料包读取器还把解压后的OUTCAR与原副本逐字节对照,三份均一致。
4. 动力学矩阵:明确选择对应脚本#
回到资料包根目录,建立另一份副本:
cd ..
cp -a inputs/DYN-minimum dyn-work
cd dyn-work
mkdir run-1
bash "$VTSTSCRIPTS_ROOT/dymclean.sh" run-1
ls run-1
此流程保留原POSCAR,将CONTCAR、DISPLACECAR以及已有的频率/模式文件放入归档。与普通结构优化不同,它不会把CONTCAR自动改成下一轮POSCAR。
本例起始结构为:
H N
1.000000000000000
12.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 12.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 12.0000000000000000
H N
3 1
Direct
0.5000000000721657 0.5591616300961801 0.4838419542058191
0.5681915934809153 0.4410526811637319 0.4838403610398243
0.4318084079056659 0.4410526818880980 0.4838403616372904
0.4999999985412533 0.4804220901853165 0.5161192397837309
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
1040版的自动分类依赖OUTCAR的旧布局,在本篇新版输出上可能选错路径。因此动力学矩阵与Lanczos实例明确调用相应脚本,不能仅凭自动入口退出时没有报错来判断选对了流程。
5. Lanczos:还要留意MODECAR#
cd ..
cp -a inputs/LAN-saddle lan-work
cd lan-work
mkdir run-1
bash "$VTSTSCRIPTS_ROOT/lanclean.sh" run-1
ls run-1
本例归档包含 LANCAR.gz、旧MODECAR和NEWMODECAR。活动目录中,原NEWMODECAR变成下一轮MODECAR,原CONTCAR变成下一轮POSCAR;旧模式仍在归档中,便于比较。
gzip -t run-1/LANCAR.gz
head -4 MODECAR
head -4 run-1/NEWMODECAR
模式接续应与自己的优化方法、电荷、自旋和原子顺序配套,不能将其他任务的模式文件混入。
6. 运行整包的副本演示#
cd ..
bash run.sh
bash read.sh work-new
bash plot.sh
run.sh 从附带输入新建 work-new/inputs,再在另外的三个工作副本中执行上述文件操作。已存在 work-new 时会停止,避免覆盖既有结果。
三类附带输入文本合计3939073字节,实际归档492041字节。这个比值同时包含压缩、转换及按规则删除文件的影响,不应当作任意VASP任务的压缩率。下载逐例文件变化表。