Gibbs2 热膨胀、热容与模量
阅读P–T平衡态的体积、自由能、热容、膨胀系数和等温/绝热模量。
阅读本篇目录
下载Gibbs2实操包。解压后进入包目录;完整输入、原始数据、提取脚本与高清图随包提供。本专题使用1.0.68固定源码版本、GNU Fortran13.3构建的双精度串行CPU入口,配套Python/Matplotlib与Gnuplot处理结果。每个流程从新的目录开始。
1. 用同一份输入设置P与T#
运行与查看#
在已分配的CPU资源内,从包根目录执行:
module load gibbs2/1.0.68
bash run.sh official-simple-MgO
ls work/official-simple-MgO
tail -n 12 work/official-simple-MgO/stdout.log
程序每次1个串行进程;不需要GPU或mpirun。原始输入、.eos_static、.eos与.efit按条件隔离保存。
inputs/thermal-control-debye-input/in.ing的运行输入:
root result
mm 56.171
nat 2
pressure 0 5 20
temperature
0 100 200 300 500 800
endtemperature
set notrans
phase model file ../../data/analytic-thermal/TD.dat tmodel debye_input prefix ../../data/analytic-thermal fit strain bm 3
end
解析控制输入显式给0、100、200、300、500、800 K与0、5、10、15、20 GPa。真正的MgO曲线见official-simple-MgO,其自动温度网格终点不同;两种输入在文件中明确区分。
2. 哪一列是什么#
| 列 | 量 | 读取要点 |
|---|---|---|
| 1–3 | P、T、V | GPa、K、bohr³/定义单位 |
| 4–6 | Estatic、G、Gerr | 静态E用Ha;G用kJ/mol;Gerr不是采样置信区间 |
| 7–9 | 静态压力、热压力、BT | 两压力之和为总P,BT为等温模量 |
| 10–13 | U-Estatic、Cv、F-Estatic、S | 能量kJ/mol,热容与熵J/mol/K |
| 14–17 | ThetaD、gamma、alpha、dP/dT | alpha列的倍率为1e-5/K,表示体积膨胀 |
| 18–21 | Bs、Cp、BT′、BT″ | Bs绝热、BT等温,Cp与Cv不同 |
| 22–29 | 振动/电子分项 | 当前电子分项不能用于真实电子热贡献 |
体积膨胀系数不是线膨胀系数;只有相应各向同性条件下才考虑alpha/3。T=0时gamma=1是程序占位,不能当作材料的零温Grüneisen值;极低温热容接近零时,gamma及其插值也更敏感。原始数据有一个低温打印溢出点,图表保留为空,不补数字。
head -n 16 work/official-simple-MgO/001_io.eos
ls analysis-reference/TABLES.json
ls figures-reference/thermal-properties.png
本版本F、S和Cv各有拟合表示:选定能量EOS之外,S采用体积多项式,Cv保留默认应变组合拟合。计算热导/声速等后续量前,应检查体积与温压范围以及这些导数量的敏感性。

MgO实际体积、膨胀、热容和Bs/BT曲线。

真实P–T网格的膨胀与热容;未输出的状态不填入假数据。
从原始结果重新提取、画图#
若想先看配套数据,在另一份新解压目录执行:
bash analyze.sh
ls analysis-reference
ls figures-reference
它读取 reference/ 原始输出,重新提取表格并生成16张高清图。完整重算时,在新目录运行 bash run-all.sh,最终数据在 analysis/、图片在 figures/。同名结果目录已存在时会受到保护;只算一个条件时,不要调用需要全部条件的整包分析。
相关入口:Gibbs2专题、固定版本源码与手册。以本专题对应的集群版本与输入为准;有限体积、温压和频率网格是操作示例,真实材料计算需要检查相应收敛范围。