ORCA顺磁NMR温度依赖实操
从甲基自由基的EPR张量生成顺磁屏蔽输入,计算温度曲线并读取完整张量,附EPR-II与EPR-III实例。
阅读本篇目录
开壳层体系的NMR屏蔽有随温度变化的顺磁贡献。常见操作顺序是:先做电子结构和EPR响应计算,得到g、A张量,再用orca_pnmr计算温度依赖。本篇使用已经完成的甲基自由基PBE0/EPR-II与EPR-III结果,比较200–400 K并单独计算298 K。
这里得到的是顺磁屏蔽贡献,不是完整化学位移。 完整屏蔽还包含轨道贡献;转换为化学位移还需要一致的参考体系和符号约定。
1 先下载并画出已有数据#
python3 -m zipfile -e orca-paramagnetic-nmr-wave961-*.zip .
cd orca-paramagnetic-nmr
bash read.sh
bash plot.sh
结果位于analysis-read/,图片位于figures/。这一步只读取资料包,不重复电子结构计算。
版本为ORCA 6.1.1官方预编译版,配套OpenMPI 4.1.8,模块orca/6.1.1。小例采用单进程、单线程;大体系的电子结构步骤需按方法与内存另设资源。
2 第一步:先得到EPR张量#
本例的甲基自由基为电中性双重态,S=1/2。EPR-II的完整输入如下:
! UKS PBE0 EPR-II VeryTightSCF NoRI
%pal nprocs 1 end
%maxcore 750
* xyz 0 2
C 0.0000000000 0.0000000000 0.0000000000
H 1.0800000000 0.0000000000 0.0000000000
H -0.5400000000 0.9353074361 0.0000000000
H -0.5400000000 -0.9353074361 0.0000000000
*
%eprnmr
gtensor true
ori GIAO
nuclei = all H {aiso,adip,aorb}
nuclei = all C {aiso,adip,aorb,ist=13}
end
gtensor true请求g张量;aiso,adip,aorb包含超精细张量的相应贡献。氢采用对应同位素数据,碳通过ist=13指定¹³C。不要在不同同位素之间直接复用超精细比例因子。
新体系先按此修改结构和方法,再通过作业脚本运行:
module load orca/6.1.1
orca case.inp > case.out
这两行是计算脚本中的执行部分,应放在申请好资源的任务里。资料包的reference-results/seed/保留本例的输入、完整电子结构输出和case.property.txt;EPR-III例将基组改为EPR-III,其他设置对应。
3 第二步:生成明确的pNMR输入#
对本篇双重态、H/C核的例子,可用配套脚本从属性文件提取g与A:
python3 make_pnmr.py reference-results/seed/methyl-epr-ii-epr/case.property.txt
cat reference-results/seed/methyl-epr-ii-epr/case.pnmr.inp
此脚本服务于S=1/2实例,生成200、250、300、350、400 K的计算输入。不同自旋或含零场分裂的体系,需要按照官方格式提供相应D张量,不能直接套用这里的双重态处理。
本例完整温度扫描文件如下,输入中保留了张量的充分有效数字:
2
200
400
50
1
2.0027791209614954e+00 -1.0895012177207487e-12 0.0000000000000000e+00
1.0815397157643228e-12 2.0027791224164342e+00 0.0000000000000000e+00
0.0000000000000000e+00 0.0000000000000000e+00 2.0022298648647472e+00
0
4
1H
5.3355139537259129e+02
-3.1760112927561742e+01 7.7283023711945031e-08 -5.0734704038756808e-11
7.7206802018923928e-08 -1.1295384105363411e+02 3.6294446368203691e-12
-5.0732128127670005e-11 3.6258383142985436e-12 -7.3118101315831908e+01
2H
5.3355139537259129e+02
-9.2654911213581684e+01 -3.5157934803219682e+01 4.5404099889436443e-11
-3.5157934717457415e+01 -5.2058070664011453e+01 1.4484767230496965e-11
4.5387731090037227e-11 1.4496482260825009e-11 -7.3117649289898253e+01
3H
5.3355139537259129e+02
-9.2654911345416323e+01 3.5157934726094595e+01 4.3351268001486436e-11
3.5157934640181409e+01 -5.2058070529355518e+01 -7.6738177415903791e-12
4.3391336072835541e-11 -7.6017998995734657e-12 -7.3117649288275075e+01
0C
1.3419030254167060e+02
7.0291162858511891e+00 -4.1664578990992062e-10 2.1688884749007872e-10
-4.7439050331524891e-10 7.0292401322895302e+00 7.8226327369056056e-11
2.1689492473416316e-10 7.8236222020047339e-11 2.3048848618618487e+02
文件开始依次为自旋多重度、最低温度、最高温度、温度步长,随后是有无g张量的标志和3×3 g矩阵。有无D张量的标志之后,依次列出各原子标签、PFAC及3×3 A张量。A和PFAC使用MHz;PFAC不是核g因子,应从同一份属性文件提取,不凭元素名称手填。
4 第三步:运行独立工具#
在放有case.pnmr.inp的计算目录,核心命令只有:
orca_pnmr case -i -v > native.log
-i明确读取输入,-v额外输出Z矩阵。本例S=1/2,D不参与,Z为单位矩阵。
如需重新运行资料包内的四组小任务:
python3 prepare.py
cd work-new
sbatch ../submit.sh
四组分别是EPR-II与EPR-III各自的温度扫描、298 K单点。CPU分区按56核整节点申请和计费,工具实际使用1个进程、1个线程。这里不重复第一步SCF;它读取已经准备好的显式g/A输入。
完成后:
cd ..
bash read.sh work-new
bash plot.sh
cat analysis-read/ORCA-pNMR-isotropic-temperature.csv
已存在的work-new保留;再次提交使用新的解压目录。
5 第四步:读温度曲线和张量#
EPR-II例在298 K的顺磁各向同性屏蔽为:H1约1924.520 ppm,H2、H3约1924.507 ppm,¹³C约−8589.057 ppm。它们是所选方法、几何和自旋模型下的顺磁贡献,不是实验预测的完整化学位移。

在本双重态、固定g/A、零D模型中,顺磁屏蔽随1/T变化。温度扫描用于展示这一关系,不包含随温度改变的结构、溶剂或构象平均。
head -n 8 analysis-read/ORCA-pNMR-temperature-tensors.csv
完整张量CSV按xx,xy,...,zz保留所有分量,便于检查非对角元和坐标约定。各向同性量为三条对角元之和除以3,不是最大主值。
6 与独立公式比较时使用一致的常数#
本例按官方顺磁屏蔽公式,采用S=1/2、Z=I独立复算完整张量。采用明确列出的CODATA 2006常数集时,与实际输出的最大差为约0.000508 ppm,接近原输出保留三位小数的精度。

这里的比较说明这组输出与该常数约定数值一致,不据此断言闭源程序内部一定采用整套相同常数。若改用当前SI常数重新换算,本例最大会相差约0.0433 ppm;这项差异保留,不修改原生结果。跨程序复算时,应注明常数、单位、同位素和张量指标顺序。
涉及高自旋、零场分裂、多个接近的电子态、溶液构象平均时,应选适合体系的模型;不要把本例简单的1/T曲线外推到所有顺磁化合物。
工具和张量约定见ORCA 6.1工具说明与顺磁NMR公式。本例常数取自NIST CODATA 2006数据。