Critic2专题

Critic2 原子盆三维表面

从真实NaCl密度导出原子盆与主束OBJ,比较表面细分并重画结构图。

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

这篇用本集群实际计算的 NaCl 密度,把“原子盆是什么形状”变成可打开的三维文件。先读取决定分区的参考密度,再找临界点,最后导出原子盆表面;另一个例子导出指定种子所在的主束区域。

1. 下载资料,查看算例#

下载原子盆与QTREE资料包,在获得的CPU资源中解压:

unzip critic2-basins-wave142-*.zip -d critic2-basins
cd critic2-basins
bash run.sh list

程序为 critic2/1.4,内部版本1.4.155,采用GCC/GFortran13.3、OpenMP、LAPACK/BLAS编译;本例单CPU运行,不需要GPU。资料中的两份96³ CUBE来自既有实际DFT结果,没有再次计算电子结构。

2. 先画一个原子盆#

bash run.sh 2
ls work/basin-na
head -n 12 work/basin-na/in-2.obj

本例CP1是Cl、CP2是Na。自己的结构必须先查看 AUTO 的临界点报告,不能照搬这两个编号。实际输入:

crystal ../../data/NaCl-96-valence.cube
load ../../data/NaCl-96-reference.cube
load ../../data/NaCl-96-valence.cube
reference 1
integrable 2
auto
cpreport cps.json
basinplot cube 1 cp 2 prec 1e-5

REFERENCE 1指定决定盆边界的密度。INTEGRABLE 2注册额外价电子密度,但画表面并不会自动给出它的原子积分。BASINPLOT CUBE 1中的CUBE表示从立方体开始细分表面;数字1是细分级别,和密度文件的96³网格是两件事。PREC控制沿射线寻找边界的精度。本晶体例子的原生OBJ长度坐标与PREC使用bohr,配图已换算成Å。

得到 in-2.obj 和配套 in-2.mtl。OBJ顶点是实际边界采样,直边面片连接这些顶点;需要保留两个文件的相对位置,三维查看器才能读取材质。

3. 加密表面,比较形状#

bash run.sh 7
ls work/basin-na-fine/in-2.*

对应的关键命令是:

basinplot cube 3 cp 2 prec 1e-5

级别1得到26个顶点、24个四边形;级别3得到386个顶点、384个四边形。下面直接使用本次原生OBJ画图,三个坐标轴均按相同物理比例显示。

NaCl原子盆原生表面与细分比较

独立从面片顶点计算的Na几何体积为 85.550 → 67.726 bohr³,同一密度网格的YT体积为 66.034 bohr³。加密改善几何近似,仍不会让直面片自动成为精确曲面,也不应把OBJ体积当作高精度电子数积分权重。

表面几何体积与原网格积分体积

4. 指定区域种子,画主束#

bash run.sh 3
head -n 12 work/bundle/in-bundle.obj

实际命令:

bundleplot 0.1 0.2 0.3 triang 1 prec 1e-5

晶体中的前三个数是分数坐标,TRIANG 1从八面体细分。本例得到18顶点、32三角面。主束按梯度路径定义,是比整原子盆更细的区域;种子不是“原子编号”,主束也不能直接改名为完整Bader原子盆。

指定分数坐标种子的原生主束

5. 重画配套图片,得到什么文件#

bash analyze.sh
ls figures-reference

该命令只读随包的实际参考结果,重新计算几何体积并生成PNG/SVG。完整重算全部原生条件并画图,请在另一份新解压目录运行 bash run-all.sh。最终得到原生OBJ/MTL、临界点JSON、体积对照表和可放大的结构图。

需要原子电子数和电荷时,继续看QTREE积分和原子电荷。官方表面命令说明可用于查询其他输出格式。

只分析随包数据时,数值检查表在 analysis-reference/CHECKS.json,PNG/SVG图片在 figures-reference/;完整重算时分别写入 analysis/ 和 figures/。

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

查看配图

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

100%查看原图 ↗