ORCA NMR屏蔽与化学位移实操
实际计算TMS、甲醛、甲烷与水,提取H/C位移、完整屏蔽张量与H–H耦合。
阅读本篇目录
下载完整输入、高精度属性文本、真实输出与绘图脚本。解压进入资料包目录,先查看随包结果:
bash analyze.sh
图在 reference/figures,CSV与张量数据在 reference/analysis。需要重新计算整组时,在新解压目录执行:
sbatch submit.slurm
结果写入 work,自动进行原生ABS/ABSV展宽、数据提取和绘图。这里包含14个小分子条件与4次原生光谱命令,归为光学、NMR与EPR三个工作流;重复和基组对照不当作独立性质数。
ORCA6.1.1为官方CPU预编译发行包,配套OpenMPI4.1.8由GNU13.3编译。本例单进程、单线程,%maxcore 750为每进程MB参考值,并非硬性峰值上限。附件模板申请P100主机1个CPU核心和1个GPU配额,ORCA只用CPU,GPU不参与计算;计费按相应GPU分区规则。常规生产请通过 yskit 复制CPU模板,按实际分配修改 %pal;不要在登录节点运行模拟。分析使用ASE3.29.0环境中的Python、NumPy/SciPy与Matplotlib。
1 屏蔽常数和化学位移先分清#
ORCA直接输出的是屏蔽张量和各向同性屏蔽常数σ,常见化学位移δ需要参照。这里实际计算水、甲烷、甲醛与TMS,在同一PBE0/基组/参考处理下用TMS的H、C平均屏蔽常数分别作¹H、¹³C参照。
全部使用固定气相教学结构,不含溶剂和构象平均;本例不以与溶液实验值吻合作为目标。自己的生产问题应先完成结构优化,再匹配样品与参照的计算方法、基组和溶剂条件。
2 NMR输入与GIAO#
以甲醛def2-SVP为例:
! PBE0 def2-SVP VeryTightSCF NoRI NMR
%pal nprocs 1 end
%maxcore 750
* xyz 0 1
C 0.0000000000 0.0000000000 0.0000000000
O 0.0000000000 0.0000000000 1.2100000000
H 0.0000000000 0.9439670000 -0.5450000000
H 0.0000000000 -0.9439670000 -0.5450000000
*
%eprnmr
nuclei = all H {shift,ssall}
nuclei = all C {shift}
end
NMR 计算核磁响应,原生默认使用GIAO处理磁规范。%eprnmr 放在坐标之后;SHIFT 请求相应元素的屏蔽参数,SSALL 在本例请求H–H耦合。元素和核索引要与结构一致。
mkdir nmr-sample
cp inputs/formaldehyde-def2-svp-nmr/case.inp nmr-sample/
cd nmr-sample
module purge
module load orca/6.1.1
export OMP_NUM_THREADS=1 OPENBLAS_NUM_THREADS=1 MKL_NUM_THREADS=1
"$ORCA_ROOT/orca" case.inp > case.out
grep -A 12 'CHEMICAL SHIELDING SUMMARY' case.out
grep -A 10 'SUMMARY OF ISOTROPIC COUPLING' case.out
在已分配资源里运行;先检查SCF和响应输出,再读取屏蔽/耦合参数。部分原生核索引从0开始,读取时按输出里的元素与索引对照输入,不要把“第几行原子”与索引直接混用。
3 TMS参照也实际计算#
下面是随包TMS的完整def2-SVP输入,结构由Si–C 1.88 Å和C–H 1.09 Å的四面体模型建立:
! PBE0 def2-SVP VeryTightSCF NoRI NMR
%pal nprocs 1 end
%maxcore 750
* xyz 0 1
Si 0.0000000000 0.0000000000 0.0000000000
C 1.0854185061 1.0854185061 1.0854185061
H 2.0218557705 0.5685224372 1.2951891039
H 1.2951891039 2.0218557705 0.5685224372
H 0.5685224372 1.2951891039 2.0218557705
C 1.0854185061 -1.0854185061 -1.0854185061
H 0.5685224372 -2.0218557705 -1.2951891039
H 1.2951891039 -0.5685224372 -2.0218557705
H 2.0218557705 -1.2951891039 -0.5685224372
C -1.0854185061 1.0854185061 -1.0854185061
H -0.5685224372 2.0218557705 -1.2951891039
H -1.2951891039 0.5685224372 -2.0218557705
H -2.0218557705 1.2951891039 -0.5685224372
C -1.0854185061 -1.0854185061 1.0854185061
H -2.0218557705 -0.5685224372 1.2951891039
H -1.2951891039 -2.0218557705 0.5685224372
H -0.5685224372 -1.2951891039 2.0218557705
*
%eprnmr
nuclei = all H {shift}
nuclei = all C {shift}
end
同目录下的def2-TZVP输入使用相同结构和PBE0,只有基组相应改变。甲醛、甲烷和水也分别用匹配的两个基组,不能把一种基组的TMS屏蔽值用到另一种基组的样品上。
4 从σ换算δ#
对于这里的轻元素,常用近似为:
δ(ppm) ≈ σref(ppm) − σsample(ppm)
δ(ppm) = [σref(ppm) − σsample(ppm)] / [1 − σref(ppm) × 10⁻⁶]
第二行保留分母,注意ppm到无量纲的10⁻⁶。程序同时保存两种结果;下表和图采用常用差值形式,等价核按元素/分子平均展示,逐核原始值在CSV。
| 基组 | 分子/核 | 相对匹配TMS的δ / ppm |
|---|---|---|
| def2-svp | water / H | 0.3140 |
| def2-svp | methane / H | 0.2110 |
| def2-svp | methane / C | -5.5380 |
| def2-svp | formaldehyde / H | 9.6320 |
| def2-svp | formaldehyde / C | 192.3020 |
| def2-tzvp | water / H | 0.3777 |
| def2-tzvp | methane / H | 0.1267 |
| def2-tzvp | methane / C | -7.3800 |
| def2-tzvp | formaldehyde / H | 10.1587 |
| def2-tzvp | formaldehyde / C | 203.3790 |

气相水、甲醛固定模型与溶液中的氢键、温度和构象环境不同。图中数值用于参照换算和输入操作,不能按溶液实验峰位置直接指认。
5 张量与J耦合怎么读#
屏蔽张量是3×3矩阵,各向同性屏蔽等于其迹除以3。原生输出还给抗磁和顺磁分项;配套程序检查两者相加与总张量一致。一般张量不必对称,不能直接对称化后随意把本征值当原生主值;本版本按SVD轴投影的输出约定核对。

原生J包括抗磁、顺磁、Fermi接触、自旋偶极和交叉项,单位Hz;各向同性J同样由完整张量的迹得到。这里实际提取水与甲醛各1对H–H,以及甲烷6对H–H参数。化学等价H之间的J在简单一阶谱中不表现为相互分裂;本例提取参数,没有将这些数值直接拼成实验多重峰。
6 一次导出所有结果#
bash analyze.sh
head reference/analysis/TMS-referenced-shifts.csv
python3 -m json.tool reference/analysis/RESULTS.json | less
重跑结果用 bash analyze.sh work。JSON保留完整屏蔽张量、分项、逐对J与原生核索引;此前用甲烷作显式参考的对照也单独保留,不与TMS参照混在一起。若要生成完整自旋系统NMR线形,还需指定自旋网络、核频率、线宽与运动/平均模型。
输入与张量约定参见 ORCA NMR官方手册。这里没有计算固体MAS、旋转常数、重核相对论或全部NMR响应分支。