ALAMODE专题

ALAMODE有效二阶力常数:导出与复算

用原生dfc2将SCPH修正导出为温度相关XML,再用anphon复算声子色散并核对。

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

SCPH计算除了输出色散,还会写出 scph.scph_dfc2。如果希望得到某个温度下、可以继续交给ANPHON使用的有效二阶力常数,可调用ALAMODE自带的 dfc2。

本页使用自洽声子实例的固定体积SiSW模型,实际导出0、300、600K三份有效FC2,并逐一复算色散。

1. 准备好前置文件#

完整附件的 bash run.sh会自动完成本页流程。查看文件:

ls model-ifcs.xml
ls cases/quantum-q4/ifcs.xml
ls cases/quantum-q4/scph.scph_dfc2

原始XML、SCPH修正和温度必须对应同一个模型。不要把其他材料或晶胞的修正文件与当前XML混用。

2. 导出一个温度的有效XML#

在已分配的CPU环境中,进入对应SCPH目录执行:

module load alamode/1.5.0
cd cases/quantum-q4
dfc2 ifcs.xml effective300.xml scph.scph_dfc2 300
ls -lh effective300.xml

四个参数依次是:原始XML、新XML、SCPH修正文件、目标温度K。使用不同的输出名保留原文件。附件里自动生成的版本位于 effective-fc2/quantum-q4-300/effective.xml。

这是ALAMODE的XML格式,可用 anphon继续读取;它不会因为改名就变成Phonopy的 FORCE_CONSTANTS或其他软件的原生格式。

3. 用普通声子模式复算#

为新XML准备一个普通声子输入。附件实际复算输入如下:

&general
 PREFIX = effective
 MODE = phonons
 NKD = 1; KD = Si
 MASS = 28.0855
 FCSXML = effective.xml
/
&cell
 10.2612128632945208
 0 0.5 0.5
 0.5 0 0.5
 0.5 0.5 0
/
&kpoint
 1
 G 0 0 0 X 0.5 0.5 0 51
 X 0.5 0.5 0 L 0.5 0.5 0.5 51
 L 0.5 0.5 0.5 G 0 0 0 51
/

若按上一步在SCPH目录手工生成了 effective300.xml,将输入中的 FCSXML改为该文件名,保存为 effective300.in,再执行:

nano effective300.in
anphon effective300.in > effective300.log
ls *.bands

这样得到的是有效FC2对应的声子谱。它应与相同温度的SCPH谱接近;不是再进行一次原子力计算。

有效二阶力常数复算与关闭四阶项的对照

4. 本例实际核对了什么#

0、300、600K有效XML分别用 MODE=phonons复算,再与对应SCPH路径上的全部六支频率比较。原生文件输出精度下,最大差异为:

来源 温度 / K 全路径最大频率差 / cm⁻¹
量子4³ 0 1.10714e-05
量子4³ 300 7.14139e-06
量子4³ 600 7.22005e-06
关闭四阶控制 300 9.54662e-06

附件还提供一份只将复制文件中完整 ANHARM4条目置零的控制。其SCPH结果返回谐波基线,原始 model-ifcs.xml不被覆盖;这是检查修正来源的控制计算,不是另一种材料。

python effective_fc2.py
python analyze.py
cat analysis/SUMMARY.json

上述两条Python命令是完整脚本的一部分,分步复现时在新目录按前篇顺序执行。已有 effective-fc2/会被保留,重复全流程请重新解压。

5. 继续做热输运时如何衔接#

有效FC2描述当前近似下的温度相关谐波部分。三声子散射还需要FC3及相应积分设置;仅导出有效XML不会自动生成寿命或热导率。

本专题的RTA热导率实例以高阶XML原有FC2、FC3为起点,单独给出操作与数据。使用温度重整化FC2进行后续组合计算时,需要有意识地准备并传递匹配的文件。

原生工具用法亦可在ALAMODE安装目录的工具说明中查看。SCPH与ANPHON参数

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

查看配图

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

100%查看原图 ↗