Gibbs2 输入、原子数与单位
区分每原子、每化学式和整胞数据,使用Z、USING与单位关键字正确读入文件。
阅读本篇目录
下载Gibbs2实操包。解压后进入包目录;完整输入、原始数据、提取脚本与高清图随包提供。本专题使用1.0.68固定源码版本、GNU Fortran13.3构建的双精度串行CPU入口,配套Python/Matplotlib与Gnuplot处理结果。每个流程从新的目录开始。
1. 先统一计算单位#
E、V、MM和NAT必须描述同一个单位。Si示例按每原子归一,Nat=1、MM=28.0855;MgO按每MgO化学式,Nat=2、MM=40.3044。总能单位不是每原子的通用同义词,读入前要自己做归一。
Gibbs2通常输出V的bohr³、静态能的Ha、压力GPa;热力学能量常用kJ/mol,熵/热容用J/mol/K。“mol”指你定义的化学式单位。
运行与查看#
在已分配的CPU资源内,从包根目录执行:
module load gibbs2/1.0.68
bash run.sh Si-diamond-strain-bm3
ls work/Si-diamond-strain-bm3
tail -n 12 work/Si-diamond-strain-bm3/stdout.log
程序每次1个串行进程;不需要GPU或mpirun。原始输入、.eos_static、.eos与.efit按条件隔离保存。
inputs/Si-diamond-strain-bm3/in.ing的运行输入:
root result
mm 28.0855
nat 1
pressure 0 2 20
temperature 0
set notrans
phase Si file ../../data/Si-diamond.dat units volume ang3 energy ev tmodel static fit strain bm 3
end
2. 单位与列映射#
体积支持bohr/bohr³或ang/ang³,能量支持Ha/eV/Ry;频率支持Ha、cm⁻¹、THz;压力支持au/GPa。输入单位由PHASE的UNITS声明,不能只改文件标题。
以下把能量放第一列、体积放第二列,使用using 2:1。完整输入:
language-inputs/using-reordered/in.ing的运行输入:
root result
title Native input language example
mm 56.171
nat 2
pressure 0 5 20
temperature 0
set notrans
phase model file ../../data/analytic-thermal/reordered.dat using 2:1 tmodel static fit strain bm 3
end
3. Z的用途#
输入包含多个化学式单位时,可用Z说明换算。例子将解析V与E同时翻倍、设Z=2,输出回到每单位V0≈100 bohr³、B0≈147.1051 GPa。质量与Nat仍按同一化学式单位填写。
language-inputs/Z-two-formula-cell/in.ing的运行输入:
root result
title Native input language example
mm 56.171
nat 2
pressure 0 5 20
temperature 0
set notrans
phase model file ../../data/analytic-thermal/double-cell.dat z 2 tmodel static fit strain bm 3
end
bash data-tools.sh
head -n 8 language/using-reordered/result.eos_static
head -n 8 language/Z-two-formula-cell/result.eos_static
4. VOLUME不是改变热力学表的同义词#
VOLUME可在静态.eos_static的压力平衡行之后追加给定体积的E/P/B行,本例追加80、90、100、110、120 bohr³。热力学.eos仍按P–T求平衡;要研究指定体积的振动函数,先在声子程序处理各体积,再按QHA或externalfvib输入。
language-inputs/volume-list-current-output/in.ing的运行输入:
root result
title Native input language example
mm 56.171
nat 2
pressure 0 5 20
temperature 0
set notrans
volume
80 90 100 110 120
endvolume
phase model file ../../data/analytic-thermal/plain.dat tmodel static fit strain bm 3
end
从原始结果重新提取、画图#
若想先看配套数据,在另一份新解压目录执行:
bash analyze.sh
ls analysis-reference
ls figures-reference
它读取 reference/ 原始输出,重新提取表格并生成16张高清图。完整重算时,在新目录运行 bash run-all.sh,最终数据在 analysis/、图片在 figures/。同名结果目录已存在时会受到保护;只算一个条件时,不要调用需要全部条件的整包分析。
相关入口:Gibbs2专题、固定版本源码与手册。以本专题对应的集群版本与输入为准;有限体积、温压和频率网格是操作示例,真实材料计算需要检查相应收敛范围。