VTST专题

VTST:晶胞角度、面积与体积

用实际晶胞及正缩放因子2的例子读取物理尺寸,并说明旧Jvasp查看格式。

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

POSCAR的全局缩放因子会影响长度、面积和体积。只读取前三个晶格向量的原始数字,可能得到错误的物理尺寸。本篇提供一个个人晶胞读取器,用Si晶胞、缩放后的Si晶胞和Co模型原胞演示。

1. 下载并查看结果#

下载结构、实际输出、个人晶胞读取器与绘图脚本,保存为 example.zip:

python3 -m zipfile -e example.zip .
cd vtst-pair-lattice
bash read.sh
bash plot.sh

默认读取附带结果,CSV在 analysis-read,图片在 figures。全部操作只处理结构数据,不会重新计算DFT或MD。

三份晶胞的实际角度、面面积和体积,缩放2对应面积4倍与体积8倍

本例使用Python、NumPy与ASE;无需编译。资料包中的个人读取器修正了旧 getangle.py 的语法和正缩放因子的面积/体积计算,不修改公共脚本。

module load ase/3.29.0 vtstscripts/1040

2. 直接读取晶胞#

python3 private-tools/getangle-fixed.py inputs/Si8.vasp
python3 private-tools/getangle-fixed.py inputs/Si8-scale2.vasp
python3 private-tools/getangle-fixed.py inputs/Co-hex.vasp

第三个文件名是资料包标识,对应本例实际Co模型原胞;三对晶格向量夹角均为60°。Si常规胞三角均为90°。

输出依次给出三对向量夹角(度)、三个面面积(Ų)和物理体积(ų)。

3. 全局缩放2改变了什么#

head -5 inputs/Si8.vasp
head -5 inputs/Si8-scale2.vasp
cat analysis-read/VTST-cell-angles-area-volume.csv

两个Si文件的晶格向量原始数字和分数坐标相同,第二行全局正缩放因子分别为1和2:

长度:×2
角度:不变
面面积:×4
体积:×8

这表示实际晶胞与原子间距一起变大。它是明确的几何缩放例,不代表重新优化后的稳定结构。

下载实际角度、面积和体积CSV。本篇个人工具仅对展示的正全局缩放因子用法给出实例;POSCAR以负数指定目标体积时,应使用支持该格式的标准结构读取工具。

4. 用ASE看标准晶胞属性#

from ase.io import read
atoms = read("inputs/Si8.vasp")
print(atoms.cell.lengths())
print(atoms.cell.angles())
print(atoms.get_volume())

ASE的三角顺序是α、β、γ,个人脚本按v1–v2、v1–v3、v2–v3排列;比较输出时要先看对应向量,不能只按列号照搬。

5. 旧Jvasp查看格式#

mkdir view-work
cp inputs/Si8.vasp view-work/POSCAR
cd view-work
perl "$VTSTSCRIPTS_ROOT/pos2jvasp.pl" POSCAR
head -12 POSCAR.vasp

此输出把类型数、原子数、晶格与坐标按旧Jvasp查看器的格式组织。本例Si₈与NaCl₆₄转换后,晶胞、原子数及坐标都与输入一致。

生成的文件虽然扩展名是 .vasp,仍是查看器专用格式,不能直接作为普通VASP计算的POSCAR。要在现代结构工具里继续处理,优先保留原始标准POSCAR,或采用CON、XYZ与CIF转换中的相应操作。

6. 换成自己的晶胞#

先确认文件是标准POSCAR、缩放因子定义和坐标类型;读取物理长度、夹角、面积及体积;需要转换时再检查输出是否仍采用目标程序要求的格式。

cd ..
bash read.sh
bash plot.sh

本资料包的结构变换和个人读取脚本都在本地文件中完成,不更改公共环境或提交新的电子结构作业。

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

查看配图

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

100%查看原图 ↗