Critic2专题

Critic2 结构转换与扩胞

从真实密度里的晶体结构导出常用文件、建立超胞并移动指定原子。

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

下载本篇配套操作包,解压后进入包目录。包中有23个Critic2短例子、输入、原始结果与7张高清图。它复用Critic2第一次计算中的真实水二聚体波函数和集群已有NaCl密度,不重新进行DFT。

1. 导出多种结构格式#

bash run.sh 12
ls work/structure-formats
cat work/structure-formats/NaCl.POSCAR
crystal ../../data/NaCl.cube
write NaCl.POSCAR
write NaCl.cif
write NaCl.xyz
write NaCl.pwi
write NaCl.gen
write NaCl.cri

本版VASP写出使用 NaCl.POSCAR 这种后缀。不要将同一写出命令改成 .vasp;不同读入与写出格式支持范围不能混为一谈。

文件 使用方式
NaCl.POSCAR VASP晶胞与原子位置
NaCl.cif 晶体结构交换,可能采用等价取向/对称描述
NaCl.xyz 有限结构片段,只保留原子位置,不能作为保留周期晶胞的格式
NaCl.pwi QE输入模板,需自行选择赝势、泛函和计算设置
NaCl.gen DFTB+结构文件
NaCl.cri Critic2显式结构输入

原胞含2个原子、体积46.29825ų,常规立方参数5.7Å;原胞不是边长5.7Å的普通立方盒。导出的QE模板里赝势名称和计算设置只是模板,不能不加修改就视为适合目标体系的正式输入。

2. 建立2×1×1超胞#

bash run.sh 13
cat work/supercell/super.POSCAR
crystal ../../data/NaCl.cube
newcell 2 1 1
write super.POSCAR
write super.cif

结果含4个原子,体积92.5965ų。扩胞矩阵作用于晶格基矢和原子清单;它没有重新计算超胞自洽密度。若目标是缺陷、掺杂、扩胞后优化,应将结构送回相应电子结构程序重新计算。

同一真实NaCl结构的原胞和2×1×1超胞,边框按实际晶格基矢绘制。

同一真实NaCl结构的原胞和2×1×1超胞,边框按实际晶格基矢绘制。

3. 移动一个原子#

bash run.sh 19
cat work/edit/shifted.POSCAR
crystal ../../data/NaCl.cube
edit
move 1 0.01 0 0 relative
endedit
write shifted.POSCAR

relative表示在当前位置上移动。晶体示例中给出的是分数坐标位移,原子1沿第一晶格方向增加0.01,其他原子与晶胞保持。明确读懂原子编号和坐标单位后再修改;移动结构后原来的密度不再是新结构自洽结果。

4. 对照导出前后结构#

bash run.sh 20
grep -n 'DIFF' work/compare/out.cro
crystal ../../data/NaCl.cube
write original.cif
compare . original.cif
compare . original.cif amd
compare . original.cif rdf

比较当前结构和自己的CIF导出,三种距离都接近0,最大约1.2×10⁻¹⁰。比较时应考虑允许的旋转、平移、等价晶胞和原子排序,文件文字不同不一定代表结构改变。

编号21演示原子标签、共价半径与成键几何阈值:

bash run.sh 21
crystal ../../data/NaCl.cube
atomlabel %S-%id
bondfactor 1.2
radii cov Na 1.66 Cl 1.02
radii
write labels.cif

这类设置改变结构识别或绘图判断,不会改变DFT电子密度、产生真实化学反应或重新优化结构。

提取数据与重新画图#

只想看配套结果,先在新解压目录执行:

bash analyze.sh
ls analysis-reference
ls figures-reference

该命令从 reference/work/ 提取数据,并生成全部7张图。若要重做后处理,在另一份新解压目录执行:

bash list.sh
bash run-all.sh
ls work analysis figures

顺序是准备真实密度 → 生成周期傅里叶网格 → 运行23个Critic2输入 → 提取表格 → 画图。结果写入 runtime-data/、work/、analysis/、figures/;已有结果目录时使用新解压目录,避免混用。只运行单个编号后,不要对不完整的 work/ 调用整包分析。

重算应使用账户分配的CPU资源。包内 run.slurm 按CPU分区整节点56核规则准备,可用 sbatch run.slurm 提交;教学流程实际单线程,申请56核不表示做过并行性能测试。CPU资源暂不可分配时,先使用已有结果提取与画图。

本例程序是 critic2/1.4,固定提交内部版本1.4.155;GCC/GFortran13.3、双精度/OpenMP,LAPACK3.12.1、Readline8.2、NLopt2.10.0、Libxc7.0.0及Libcint标签6.1.2。辅助脚本使用集群已有ASE3.29.0、NumPy、SciPy和Matplotlib环境,脚本已选定解释器。没有GUI、tblite或libxtb接口要求。

返回Critic2专题。写法依据:固定版本源码、官方命令参考、图形与采样手册、结构工具手册。在线手册面向发展版本,实际输入采用本集群固定版本已运行的写法。

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

查看配图

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

100%查看原图 ↗