选软件
分子体系的 DFT 计算,学术用户首选 ORCA 或 Gaussian;构象搜索和预优化用 xtb/CREST;晶体、表面等周期性体系换用平面波或混合基组程序。
搜索词“orca”在 Bing 中只有约一成结果指向量子化学程序,其余是虎鲸和同名软件。下载 ORCA 请直接从 orcaforum.kofo.mpg.de 或 FACCTs 官网进入。
CentOS 等系统自带一个同名的屏幕阅读器 orca,直接输入 orca 可能启动的是它。用完整路径或 alias 调用 ORCA 可以避免这个问题。
| 程序 | 获取方式 | 适合的任务 | 需要知道的限制 |
|---|---|---|---|
| ORCA 6.1(当前 6.1.1,2025-12) | 学术用户在 ORCA 论坛注册后免费下载;Linux 版需配套 OpenMPI(6.1.0 对应 4.1.8) | 分子 DFT、TDDFT、DLPNO-CCSD(T)、双杂化泛函;RIJCOSX 使杂化泛函明显快于 Gaussian | 并行必须写完整路径;%maxcore 是每核内存;原子编号从 0 开始 |
| Gaussian 16 | 商业软件,课题组或学校购买 | 分子 DFT、TS 与 IRC、溶剂模型;GaussView 建模与看振动最方便 | 不支持 ωB97M-V;杂化泛函无 RI 加速;%mem 是整个作业的总内存 |
| xtb 6.7 / CREST 3.0 | 开源,conda-forge 可装 | GFN2-xTB 半经验预优化、构象搜索、大体系初筛 | 能量精度不足以直接写进论文,构象需要用 DFT 重新排序 |
| Psi4 1.11 / PySCF 2.14 | 开源,conda-forge 可装 | 没有 ORCA、Gaussian 时练习完整流程;脚本化批量计算 | 大体系效率低于 ORCA;Psi4 对多数色散校正泛函的频率用数值差分 |
| VASP、Quantum ESPRESSO、CP2K | VASP 商业;QE、CP2K 开源 | 晶体、表面、吸附、催化剂模型等周期性体系 | 平面波基组与本文的高斯基组概念不同;数百原子的近球形团簇用 CP2K 比 ORCA 快得多 |
泛函与基组
通行做法是用便宜的级别做优化和频率,用更高的级别算单点能。几何结构和频率对基组不敏感,能量对基组和泛函都敏感。
色散校正必须加。B3LYP、PBE0 等常规泛函描述不了范德华吸引,Grimme 等人 2022 年的最佳实践指南写明色散校正“在任何 DFT 处理中都不可缺少”。加 D3(BJ) 几乎不增加耗时。
B3LYP/6-31G* 过时的依据有两条:缺少色散导致“过度排斥”,小基组带来严重的基组重叠误差(BSSE)。Kruse、Goerigk、Grimme 2012 年在 J. Org. Chem. 上专门讨论了这个组合在热化学上的误差抵消问题;Bursch 等 2022 年在 Angew. Chem. 的指南中说改进的方法已经使 B3LYP/6-31G* 计算“过时”。Sobereva 把 6-31G* 列为 2-zeta 的“最低可接受级别”,并说明“最低可接受”不代表可以直接拿来发文章。
BSSE 是二聚体中每个单体借用对方基函数造成的虚假稳定,基组越小越严重。2-zeta 基组算结合能时要用 counterpoise 校正;算化学键键能时 Sobereva 认为 counterpoise 多余甚至有害。
ωB97M-V 在 ORCA 中只有解析梯度、没有解析 Hessian,频率计算很贵,适合只做单点。M06-2X 对积分格点敏感,用它优化容易出现小虚频和收敛困难。
柔性分子(可转动单键多于两三个)要先做构象搜索,否则优化得到的只是离初始结构最近的局部极小点。Grimme 等 2022 年的指南建议用 CREST 自动搜索,再把能量窗口内的构象用 DFT 重新优化和排序;xtb 给出的相对能量只用于筛选。
激发态计算要注意:ORCA 的 TD-DFT 默认使用 Tamm–Dancoff 近似(TDA),Gaussian 的 TD 关键词默认是完整的 TDDFT。两者的激发能和振子强度会有差别,与 Gaussian 结果或文献对比时,在 ORCA 的 %tddft 块中写 TDA false。激发态数目在 ORCA 中用 %tddft NRoots 10 end 设置,在 Gaussian 中用 TD(NStates=10)。
级别 水二聚体 noCP / CP 苯二聚体(平行错位)noCP / CP
B3LYP/6-31G* -7.32 / -5.70 +2.39 / +4.58
B3LYP/def2-SVP -8.11 / -4.81 +2.52 / +4.03
B3LYP-D3(BJ)/def2-SVP -8.75 / -5.45 -4.18 / -2.67
B3LYP/def2-TZVP -5.53 / -4.91 +3.43 / +3.76
B3LYP-D3(BJ)/def2-TZVP -6.17 / -5.55 -3.27 / -2.94
参考值 -4.99 -2.65
noCP:未做 counterpoise 校正;CP:counterpoise 校正后。负值表示结合。| 任务 | 推荐级别(ORCA 写法) | 依据 |
|---|---|---|
| 有机分子几何优化 + 频率 | B3LYP D3BJ def2-SVP;或 r2SCAN-3c | Sobereva 推荐 B3LYP-D3(BJ) 做优化与振动分析;Grimme 2022 推荐 r2SCAN-3c 做结构优化 |
| 反应能、能垒、构象能量差(单点) | wB97M-V def2-TZVP;或 wB97X-D3 / M06-2X def2-TZVP | Sobereva 272:有机体系热力学首选 ωB97M-V,其次 M06-2X;Grimme 2022:能垒推荐范围分离杂化泛函 |
| 高精度单点(小体系) | revDSD-PBEP86-D4 / PWPB95-D4 def2-TZVPP,或 DLPNO-CCSD(T) | 双杂化泛函比普通泛函高一个档次,ORCA 用 RI 后耗时可以接受 |
| 弱相互作用(π 堆积、氢键) | 必须带色散校正;能量用 ma-def2-TZVP 级别并考虑 counterpoise | Sobereva 336:色散主导的体系越需要弥散函数和 BSSE 校正 |
| 激发态(TDDFT) | 局域激发 PBE0;电荷转移和大共轭体系 CAM-B3LYP 或 ωB97X-D | Sobereva 272、265 |
| 过渡金属配合物 | TPSSh、PBE0-D3(BJ)、r2SCAN-3c;不要用 M06-2X | M06-2X 针对主族参数化,用于过渡金属误差很大 |
| 大体系预筛选、构象初排 | GFN2-xTB(xtb/CREST) | Grimme 2022 建议先做自动构象搜索再上 DFT |
ORCA 输入
下面是一个乙醇的优化 + 频率输入。ORCA 输入不区分大小写(文件名除外),# 之后是注释。
! B3LYP D3BJ def2-SVP Opt Freq # 方法 色散 基组 任务,大小写不敏感
%pal nprocs 8 end # 8 个 MPI 进程
%maxcore 3000 # 每个进程 3000 MB,总计约 24 GB
* xyz 0 1 # 坐标格式 电荷 自旋多重度
C -1.1855 -0.2259 0.0000
C 0.1586 0.4880 0.0000
O 1.2075 -0.4708 0.0000
H -1.2848 -0.8641 0.8823
H -1.2848 -0.8641 -0.8823
H -2.0068 0.4987 0.0000
H 0.2384 1.1393 0.8822
H 0.2384 1.1393 -0.8822
H 2.0491 0.0005 0.0000
*%nprocshared=8
%mem=24GB
%chk=ethanol.chk
# opt freq B3LYP/def2SVP EmpiricalDispersion=GD3BJ
ethanol opt freq
0 1
C -1.1855 -0.2259 0.0000
C 0.1586 0.4880 0.0000
O 1.2075 -0.4708 0.0000
H -1.2848 -0.8641 0.8823
H -1.2848 -0.8641 -0.8823
H -2.0068 0.4987 0.0000
H 0.2384 1.1393 0.8822
H 0.2384 1.1393 -0.8822
H 2.0491 0.0005 0.0000
- 01
! 关键词行
写方法、色散、基组和任务,可以写多行 !。常用任务:Opt(优化)、Freq(解析频率)、NumFreq(数值频率)、OptTS(过渡态)、IRC、TightOpt、TightSCF。ORCA 5.0 起杂化泛函默认启用 RIJCOSX,辅助基组 def2/J 自动选取,不需要手写。优化任务自动使用 TightSCF。
- 02
%pal nprocs N end
并行进程数,等价写法是在关键词行写 PAL8。并行运行时必须用完整路径调用 orca,不要在外面套 mpirun;否则输出会交错混乱或直接报错。
- 03
%maxcore M
每个进程可用的内存(MB),默认 4096。总内存约为 M × nprocs,而 ORCA 实际占用常超过 M,手册建议总量不超过物理内存的 75–80%。例:32 GB、8 核的机器扣掉系统占用后约 30 GB,30000/8 = 3750,Sobereva 建议取 3000。内存不足时 SCF 会报 Not enough memory available! Please increase MaxCore to more than: … MB。
- 04
* xyz 电荷 多重度
第一行写坐标格式、总电荷和自旋多重度 2S+1,以单独一行 * 结束。也可以写 * xyzfile 0 1 file.xyz 直接读文件。闭壳层中性分子是 0 1;自由基是 0 2;电子数为偶数时多重度只能是奇数,电子数为奇数时只能是偶数。
- 05
Gaussian 的对应写法
%nprocshared 对应 %pal;%mem 是整个作业的总内存(默认 800 MB),与 ORCA 的每核 maxcore 含义不同;# 开头的 route 行对应 ! 行;基组名不带连字符(def2SVP);色散写 EmpiricalDispersion=GD3BJ;标题行和坐标后都要有空行。
优化与频率
频率必须在与优化完全相同的级别(泛函、基组、色散、溶剂模型、积分格点)下计算,否则频率没有意义,还会出现假虚频。最简单的做法是 Opt Freq 写在同一个任务里。
本页实测(Psi4 1.11,B3LYP-D3(BJ)/def2-SVP,8 线程):乙醇优化 8.2 秒、频率 104.8 秒,最低频率 259.8 cm⁻¹,无虚频;水的三个谐振频率为 1639、3792、3887 cm⁻¹,零点能 13.32 kcal/mol。谐振频率普遍高于实验基频,与实验红外谱对比时要乘频率校正因子(按所用泛函和基组查表,见 Sobereva 221)。
| 判据(原子单位) | ORCA 默认 Opt | ORCA TightOpt | Gaussian 默认 |
|---|---|---|---|
| 能量变化 TolE | 5e-6 | 1e-6 | 不作为判据 |
| 最大梯度 / 受力 | 3e-4 | 1e-4 | 0.00045 |
| 均方根梯度 / 受力 | 1e-4 | 3e-5 | 0.00030 |
| 最大位移 | 4e-3 | 1e-3 | 0.0018 |
| 均方根位移 | 2e-3 | 6e-4 | 0.0012 |
- ORCA:输出中必须出现 THE OPTIMIZATION HAS CONVERGED。优化达到最大步数时 ORCA 仍可能以 ORCA TERMINATED NORMALLY 结束,只看结尾会误判。
- Gaussian:opt 部分出现四个 YES 和 Stationary point found;文件末尾是 Normal termination。
- 频率部分:ORCA 的虚频标为 ***imaginary mode***;Gaussian 的 Frequencies 行出现负数。平动和转动的 6 个零频(线性分子 5 个)已被投影掉,不说明 Hessian 质量。
- Gaussian freq 末尾也会再判一次收敛:优化四个 YES、freq 后位移出现 NO,是因为优化用近似 Hessian、频率用精确 Hessian。超出阈值不到 2 倍且无虚频一般可以接受(Sobereva 278)。
- ORCA 的解析 Hessian 只支持 SCF 方法,双杂化泛函和 RI-JK 要用 NumFreq;数值频率的误差可达 50 cm⁻¹。
优化不收敛
优化不收敛多数是因为在极小点附近来回震荡。先用 GaussView 或 Chemcraft 播放优化轨迹、看能量和受力曲线,确认是震荡还是仍在下降。
- 01
能量和受力仍在整体下降
只是步数不够。Gaussian 用 opt=maxcycles=N,ORCA 在 %geom 中写 MaxIter N,从最后一步结构续算。若已经震荡,加大步数没有用。
- 02
先排除 SCF 问题
优化中途某一步 SCF 没收敛也会中断优化。Gaussian 是 L502 报错;G16 B.01 起 SCF 未收敛只提示 Convergence criterion not met 而不中断,需要自己查。
- 03
提高积分格点
对 M06-2X 等明尼苏达泛函最有效。G16 默认已是 int=ultrafine;ORCA 6 默认 DefGrid2,可改 DefGrid3。
- 04
使用精确 Hessian
Gaussian:opt=calcfc(只算第一步)、opt=recalc=3~5(G16,每 3~5 步重算)、opt=calcall(每步都算,小体系才用)。ORCA:%geom Calc_Hess true、Recalc_Hess 5 end。
- 05
换优化算法或缩小步长
Gaussian 对弱相互作用和柔性大分子先试 opt=gdiis;结构反复小幅震荡时用 opt(gdiis,maxstep=3~5,notrust)。ORCA 在 %geom 中调 Trust(默认 -0.3,负值表示固定信赖半径)。
- 06
检查对称性和溶剂模型
初始结构对称性高于真实极小点时,优化会停在鞍点上,需要打破对称性。用 SMD 做 opt freq 容易难收敛并出现假虚频,Sobereva 建议优化和频率用 IEFPCM,算能量时再用 SMD。
- 07
最后才放宽收敛限
opt=loose 或 LooseOpt 只适合粗略结构;之后做频率容易出现虚频。
虚频
极小点(反应物、产物、中间体)不应有虚频;过渡态必须恰好有一个虚频,且振动方向对应要研究的反应坐标。
按虚频方向调结构只对对称性导致的虚频优先有效。Sobereva 指出,网上常见的“看到虚频就沿虚频推结构”是不对的,小虚频应先从收敛精度、积分格点和 Hessian 质量上解决。
实在消不掉的小虚频对电子能量和零点能影响很小:30 cm⁻¹ 的模式对零点能只贡献 0.18 kJ/mol。它对熵和自由能的影响较大,一个约 20 cm⁻¹ 的模式被当作虚频忽略,自由能误差可达约 5 kJ/mol(Sobereva 699)。Grimme 等 2022 年建议把小于 50–100 cm⁻¹ 的小虚频当作实频并配合 mRRHO 计算熵;Sobereva 认为这一做法缺乏系统检验,不建议轻易使用。两种做法都要在论文中写明。
本页实测:把乙烷搭成重叠式并保持对称性优化,优化 3.9 秒就“收敛”,频率给出一个 308.3i cm⁻¹ 的虚频,振动是两个甲基的相对扭转。把一个 H–C–C–H 二面角改成 20° 打破对称性后重新优化,得到交叉式,无虚频(最低 317.9 cm⁻¹),能量低 2.93 kcal/mol,即乙烷的扭转能垒。这是“对称性导致虚频”的典型情形,按虚频方向调整结构就能解决。
| 情况 | 含义 | 处理 |
|---|---|---|
| 极小点有 1 个大虚频(> 100 cm⁻¹) | 结构不是极小点,常见于对称性过高 | 在 GaussView 中沿虚频方向手动推一下结构(Manual Displacement)后重新优化 |
| 极小点有小虚频(< 50 cm⁻¹,多为甲基转动或分子间相对运动) | 优化不够精确或积分格点不足 | 依次试 opt=tight、更高积分格点、calcfc/recalc;同级别重算频率 |
| 过渡态有 1 个虚频,但振动不是反应坐标 | 找到的是别的鞍点(如甲基旋转) | 重新构造初猜,扫描关键坐标 |
| 过渡态有 2 个以上虚频 | 高阶鞍点或额外的小虚频 | 按上面两行分别处理多余的虚频 |
| 优化和频率级别不同 | 低级错误,势能面不一致 | 在同一级别重做频率 |
热校正
热校正量来自频率计算,与电子能量相加得到焓和自由能。用高水平单点能时,把低水平频率给出的校正量加到高水平电子能量上。
ORCA 默认用 Grimme 的 quasi-RRHO 计算熵(参考频率 QRRHORefFreq 100 cm⁻¹),Gaussian 默认用谐振子 RRHO。同一结构在两个程序中得到的 G 会差零点几到 1 kcal/mol 以上,柔性分子差得更多。要与 Gaussian 结果对齐时,在 ORCA 的 %freq 中写 QuasiRRHO false,或用 Shermo 统一重算。
溶液中反应的自由能要加标准态校正:气相计算对应 1 atm,溶液标准态是 1 mol/L,298.15 K 下每个物种加 1.89 kcal/mol(Sobereva 327)。A + B → C 这类反应,漏掉这一项会使 ΔG 偏差 1.89 kcal/mol。
不同泛函的绝对能量不能相互比较。本页实测:同一个乙醇结构,B3LYP-D3(BJ)/def2-TZVP 为 −155.11617 Eh,M06-2X/def2-TZVP 为 −155.02666 Eh,相差 56 kcal/mol;只有同一级别下的能量差有意义。
1 Eh (Hartree) = 627.5095 kcal/mol = 2625.4996 kJ/mol = 27.2114 eV = 219474.63 cm⁻¹
1 kcal/mol = 4.184 kJ/mol
1 bohr = 0.529177 Å
例:ΔE = −0.0046731 Eh → −0.0046731 × 627.5095 = −2.93 kcal/mol| 量 | ORCA 输出行 | Gaussian 输出行 | 用法 |
|---|---|---|---|
| 电子能量 | FINAL SINGLE POINT ENERGY | SCF Done: E(RB3LYP) = | 同一级别下才可相减比较 |
| 零点能 ZPE | Zero point energy | Zero-point correction= | E(0 K) = E + ZPE |
| 焓校正 | Total thermal correction + kB·T(输出直接给 Total Enthalpy) | Thermal correction to Enthalpy= | H = E + 焓校正 |
| 自由能校正 | G-E(el) | Thermal correction to Gibbs Free Energy= | G = E(高水平单点) + G 校正(低水平频率) |
| 自由能 | Final Gibbs free energy | Sum of electronic and thermal Free Energies= | 只在单点与频率同级别时直接使用 |
过渡态
过渡态优化对初猜结构和 Hessian 质量的要求比极小点高得多。标准流程是四步:扫描找初猜,用精确 Hessian 优化过渡态,频率确认一个虚频,IRC 确认连接正确的反应物和产物。
# 第 1 步:柔性扫描找过渡态初猜(ORCA 原子编号从 0 开始)
! B3LYP D3BJ def2-SVP Opt
%pal nprocs 8 end
%maxcore 3000
%geom
Scan B 0 5 = 3.00, 1.50, 16 end # 原子 0 与 5 的距离从 3.00 Å 缩短到 1.50 Å,共 16 个点
end
* xyzfile 0 1 reactant.xyz
# 第 2 步:取扫描能量最高点,计算精确 Hessian 后找过渡态,并做频率
! B3LYP D3BJ def2-SVP OptTS Freq
%pal nprocs 8 end
%maxcore 3000
%geom
Calc_Hess true # 第一步算精确 Hessian
Recalc_Hess 5 # 难收敛时每 5 步重算一次
end
* xyzfile 0 1 tsguess.xyz
# 第 3 步:IRC 验证过渡态连接的反应物和产物
! B3LYP D3BJ def2-SVP IRC
%pal nprocs 8 end
%maxcore 3000
%irc
MaxIter 60 # 默认 20 步,常常走不到极小点
InitHess read
Hess_Filename "ts.hess" # 复用第 2 步的 Hessian
end
* xyzfile 0 1 ts.xyz- 01
扫描找初猜
沿成键或断键距离做柔性扫描(relaxed scan),取能量最高点。ORCA 也可以用 ScanTS 一步完成扫描和 TS 优化。注意 ORCA 原子编号从 0 开始,照抄 Gaussian 的编号会扫错原子。
- 02
OptTS 必须给精确 Hessian
ORCA 写 Calc_Hess true 或读入已有 .hess;Gaussian 写 opt(ts,calcfc,noeigentest)。默认近似 Hessian 下 TS 优化经常跑偏。Gaussian 的 QST2 插值初猜通常不如手动搭的结构。
- 03
频率确认
恰好一个虚频,并在 GaussView、Chemcraft 或 orca_pltvib 中播放该振动,确认原子运动对应目标反应。过渡态、IRC 与极小点优化应使用同一级别。
- 04
IRC 验证
ORCA 默认双向(Direction both),输出 _IRC_F.xyz、_IRC_B.xyz 和 _IRC_Full_trj.xyz。默认 MaxIter 20,常常走不到底;IRC 终点不是严格极小点,需要再做一次优化,再与反应物、产物比较。
结果分析
Multiwfn 读取波函数文件做分析。Gaussian 用 formchk 把 .chk 转成 .fchk;ORCA 用 orca_2mkl 名称 -molden 生成 .molden.input;Psi4 可以直接写 .fchk。
Windows 下运行 ORCA 不要用 PowerShell 5 重定向输出:生成的 .out 是 Unicode 编码,Multiwfn 和 OfakeG 读不了。用 cmd 或 cmder(Sobereva 451)。
带弥散函数的基组不能用于 Mulliken、Mayer 键级、轨道成分等直接基于基函数的分析,结果会失去意义;电子密度、ELF、静电势等实空间函数分析用 6-31G* 到 def2-TZVP 即可(Sobereva 336)。
# 并行运行必须写 orca 的完整路径,不要用 mpirun 启动
/opt/orca_6_1_1/orca ethanol.inp > ethanol.out
# 检查是否真正收敛(不能只看末尾的 ORCA TERMINATED NORMALLY)
grep "THE OPTIMIZATION HAS CONVERGED" ethanol.out
grep "FINAL SINGLE POINT ENERGY" ethanol.out | tail -1
grep "imaginary mode" ethanol.out # 无输出表示没有虚频
# 生成 Multiwfn 可读的 molden 文件
/opt/orca_6_1_1/orca_2mkl ethanol -molden| 要做的分析 | Multiwfn 入口 | 说明 |
|---|---|---|
| 看分子结构和轨道(HOMO/LUMO) | 主功能 0 | 图形界面中选轨道编号查看等值面 |
| 原子电荷(ADCH、CM5、RESP 等) | 主功能 7 | 需要带基函数信息的文件(fchk、molden) |
| 静电势表面分析 | 主功能 12 | 分子表面静电势极值点、面积分布 |
| 弱相互作用可视化(RDG/NCI、IGMH) | 主功能 20 | 结合 VMD 出图 |
| 激发态空穴-电子分析 | 主功能 18 | 读 TDDFT 输出 |
| 绘制 IR、Raman、UV-Vis 光谱 | 主功能 11 | 读频率或 TDDFT 输出 |
| 生成 ORCA 输入文件 | 主菜单输入 oi(等价于 100 → 2 → 12) | 选任务和级别后生成带合适关键词的 .inp,再改 nprocs 和 maxcore |
报错
加大 SCF 迭代上限(scf=maxcyc=500 或 MaxIter 500)几乎从不解决不收敛。Gaussian 默认上限 128 轮,在此之内不收敛的情况,继续迭代也多半无效(Sobereva 61)。
SCF 很难收敛时先检查结构本身:原子间距过近、少加了氢、簇模型截断处没有饱和、过渡金属多重度不是基态,都会让 SCF 难以收敛。
| 报错原文 | 程序 | 原因 | 改法 |
|---|---|---|---|
| Error termination via Lnk1e … l9999.exe,上方有 Optimization stopped. -- Number of steps exceeded | Gaussian | 优化达到步数上限,多数是震荡 | 按“优化不收敛”一节处理;只有曲线仍在下降时才加 maxcycles |
| L502 Convergence failure -- run terminated.;G16 B.01 起只提示 Convergence criterion not met | Gaussian | SCF 不收敛 | 先查结构、电荷、多重度;再试 scf=vshift=300~500、用小基组或其它泛函的波函数作初猜(guess=read);scf=xqc 放到最后 |
| The combination of multiplicity 1 and 9 electrons is impossible. | Gaussian(L301) | 电荷或多重度与电子数奇偶性不符 | 改电荷或多重度;偶数电子用奇数多重度,奇数电子用偶数多重度 |
| galloc: could not allocate memory. | Gaussian | %mem 大于机器可用内存 | %mem 设为物理内存的约 75% |
| Not enough memory available! Please increase MaxCore to more than: … MB | ORCA | %maxcore 低于该模块需求 | 增大 maxcore,同时保证 maxcore × nprocs 不超过物理内存的 75–80% |
| SCF NOT CONVERGED AFTER … CYCLES | ORCA | SCF 在上限(默认 125 轮)内未收敛;ORCA 不在未收敛波函数上做性质和数值频率 | 加 SlowConv 或 VerySlowConv;ORCA 5 起 AutoTRAH 自动启用;用小基组或 BP86 收敛的轨道作初猜(MORead) |
| The optimization did not converge but reached the maximum number of optimization cycles. | ORCA | 优化步数用完,文件末尾仍可能是 TERMINATED NORMALLY | 用最后结构续算,并按“优化不收敛”一节处理 |
| 输出内容交错重复、并行报 MPI 错误 | ORCA | 没有用完整路径调用,或 OpenMPI 版本、gfortran 缺失 | 用 /完整路径/orca 运行;按安装包文件名上的 OpenMPI 版本编译 |
本页实测
ORCA 需要在论坛注册后下载,本页实测用 conda-forge 上的 Psi4 1.11 跑了同样的优化、频率、过渡态与 IRC,用 xtb 跑了半经验优化与频率。本页实测条件:Psi4 1.11、xtb 6.7.1(均来自 conda-forge),Apple Silicon 笔记本 8 核 16 GB,8 线程。
Psi4 1.11 中带 -d3bj 的泛函需要另装 dftd3-python,否则报 Program s-dftd3 is registered with QCEngine, but cannot be found.
Psi4 对 B3LYP-D3(BJ) 的频率用梯度有限差分,乙醇的频率用时是优化的 13 倍。ORCA 和 Gaussian 对 B3LYP 有解析 Hessian,频率与优化的耗时比要小得多。
CREST 3.0.2 的 conda-forge macOS arm64 版本在本机没有跑通:默认模式在 Setting up backup calculator 处 ERROR STOP;加 --legacy --quick 后布洛芬(33 原子)的元动力学部分跑完(347 秒),但在 CREGEN 排序阶段再次 ERROR STOP。完整模式下 CREST 对布洛芬估算 8 线程需 1 小时 38 分钟。构象搜索建议在 Linux 上运行。
# conda 环境:micromamba create -n qc -c conda-forge python=3.11 psi4 dftd3-python dftd4-python
import psi4
psi4.set_num_threads(8)
psi4.set_memory('10 GB') # Psi4 的内存是整个作业总量
psi4.core.set_output_file('ethanol.out', False)
mol = psi4.geometry("""
0 1
C -1.1855 -0.2259 0.0000
C 0.1586 0.4880 0.0000
O 1.2075 -0.4708 0.0000
H -1.2848 -0.8641 0.8823
H -1.2848 -0.8641 -0.8823
H -2.0068 0.4987 0.0000
H 0.2384 1.1393 0.8822
H 0.2384 1.1393 -0.8822
H 2.0491 0.0005 0.0000
""")
e_opt = psi4.optimize('b3lyp-d3bj/def2-svp') # 几何优化
e, wfn = psi4.frequency('b3lyp-d3bj/def2-svp', return_wfn=True) # 频率与热化学
print('freqs (cm-1):', wfn.frequencies().to_array()) # 负数表示虚频
print('G correction (Eh):', psi4.variable('GIBBS FREE ENERGY CORRECTION'))
e_sp = psi4.energy('wb97x-d/def2-tzvp') # 更高水平单点# 安装:micromamba create -n xtb -c conda-forge xtb crest
export OMP_NUM_THREADS=8 OMP_STACKSIZE=1G
xtb ethanol.xyz --ohess --gfn 2 > xtb.out # 优化 + 频率,输出 xtbopt.xyz
crest ibuprofen.xyz --gfn2 -T 8 > crest.out # 构象搜索,输出 crest_conformers.xyz、crest_best.xyz| 体系与任务 | 实测用时 | 结果 |
|---|---|---|
| 水:优化 / 频率 / def2-TZVP 单点 | 25.7 s / 8.6 s / 0.6 s | E = −76.35889972 Eh;ZPE 13.32 kcal/mol;G 校正 0.00357 Eh |
| 乙醇:优化 / 频率 | 8.2 s / 104.8 s | E = −154.93049253 Eh;无虚频 |
| 乙醇:def2-TZVP 单点(B3LYP-D3(BJ) / ωB97X-D / M06-2X) | 2.6 s / 3.1 s / 6.4 s | −155.11617 / −155.05547 / −155.02666 Eh |
| 乙烷:重叠式(保持对称)→ 扰动后重优化 | 3.9 + 28.7 s → 34.3 + 51.3 s | 308.3i cm⁻¹ → 无虚频;扭转能垒 2.93 kcal/mol |
| HCN → HNC:OptTS / 频率 / IRC 双向 | 5.8 s / 7.4 s / 35 s + 29 s | 1 个虚频 1117.8i cm⁻¹;能垒 47.84 kcal/mol |
| S22 苯二聚体相互作用能(5 个级别,含 CP) | 每级别 56–205 s | 不加色散全为正值;B3LYP-D3(BJ)/def2-TZVP CP 为 −2.94 kcal/mol |
| xtb GFN2:乙醇 优化 + 解析 Hessian(--ohess) | 0.05 s | 无虚频;输出 xtbopt.xyz 与 G(RRHO) |
国内经验
以下来自计算化学公社、Sobereva 博客与 CSDN,只收录有具体参数或报错原文、并与官方手册或本页实测一致的内容。
过渡态找不到时用 recalc 与 maxstep
计算化学公社用户 qingmang(2025-02)总结:过渡态或中间体的虚频变成甲基旋转时,用 opt(recalc=5,maxstep=3) 区分靠得很近的鞍点和极小点。Sobereva 在《量子化学计算中帮助几何优化收敛的常用方法》中给出相同的组合(recalc=3~5,maxstep=3~5 加 notrust),两者独立得出。
maxcore 按 75% 留余量
Sobereva 在 Multiwfn 生成 ORCA 输入的说明中给出算例:32 GB、8 核,扣掉系统后约 30 GB,30000/8 = 3750 MB,但 ORCA 进程实际占用常超过 maxcore,取 3000。ORCA 6.1 手册与内存教程给出同样的 75–80% 原则。
ORCA 6.1.0 要配 OpenMPI 4.1.8
CSDN 作者 qq_52487425(2025-06)在 Ubuntu 上安装 ORCA 6.1.0 时记录:安装包文件名中的 openmpi418 表示需要 OpenMPI 4.1.8;编译 OpenMPI 前必须装 gfortran,否则 ORCA 无法并行。Sobereva 的安装文章对 ORCA 6.0.0 / OpenMPI 4.1.6 给出相同的规则。
优化和频率不用 SMD
Sobereva 在三篇博文中反复提到:SMD 溶剂模型的数值噪音会使优化难收敛、频率出现假虚频;优化与频率用 IEFPCM,单点能再用 SMD。优化与单点的溶剂模型不必一致。
别信 Exploring Chemistry 里的 APFD
Sobereva 指出 Gaussian 官方教材第 3 版几乎全程使用 APFD,但在各泛函横测中 APFD 表现平庸、文献中极少使用,审稿时难以给出依据。初学者照着教材选泛函需要注意这一点。
交给 Agent
可以用一句话描述计算任务,由 Scientify 的科学智能体在云电脑中完成。
指令示例:“这是反应物和产物的 xyz 文件。请先用 CREST 做构象搜索,取能量最低构象用 B3LYP-D3(BJ)/def2-SVP 优化并做频率;沿 C1–O5 距离扫描找过渡态初猜,OptTS 加精确 Hessian 优化过渡态,确认只有一个虚频并做 IRC;最后用 ωB97M-V/def2-TZVP 算单点,给出含热校正和 1 M 标准态校正的 ΔG‡ 与 ΔG。”
智能体会执行的步骤:在工作区安装所需程序(xtb、CREST、开源量化程序;ORCA 可由你提供安装包或通过 SSH 连接你已装好的服务器运行),生成输入文件,检查每一步的收敛行和虚频,遇到不收敛按本页顺序处理并记录每次修改;整理能量表,换算单位,对结果做对抗审阅,例如核对虚频振动方向、IRC 终点是否与反应物和产物一致。关闭本机后任务继续运行。
产出:全部输入、输出与日志,优化结构的 xyz,能量与热校正汇总表,扫描曲线和 IRC 能量曲线。工作区保留代码与参数,可以复现。
你仍需自己核对:反应机理与初猜结构的化学合理性,电荷与多重度,泛函与基组是否适合你的体系,溶剂模型的选择,以及过渡态虚频的振动方向是否对应你要研究的反应。
写论文
审稿人和读者复现计算需要以下信息,缺任何一项都可能被要求补充。
- 程序与版本:ORCA 6.1.1、Gaussian 16 Rev. C.02、xtb 6.7.1、CREST 3.0.2、Multiwfn 版本日期
- 优化与频率级别:泛函、色散校正(D3(BJ) 或 D4)、基组,以及是否用了 RIJCOSX
- 单点能级别,以及最终能量的组合方式(E 单点 + G 校正)
- 溶剂模型与溶剂名,优化与单点是否使用了不同模型
- 热化学设置:温度、压力、RRHO 还是 quasi-RRHO、标准态校正、是否用了频率校正因子
- 构象搜索方法(CREST、能量窗口)
- 过渡态确认方式:虚频数值、IRC
- 虚频处理方式:是否有残留小虚频,如何处理
- 引用:泛函、色散校正、基组、程序原文,Multiwfn 需同时引两篇
参考资料
- Bursch, Mewes, Hansen, Grimme. Best-Practice DFT Protocols for Basic Molecular Computational Chemistry. Angew. Chem. Int. Ed. 2022, 61, e202205735 — B3LYP/6-31G* 过时的理由、色散校正必须加、各任务的泛函基组推荐、小虚频与 mRRHO
- Kruse, Goerigk, Grimme. Why the Standard B3LYP/6-31G* Model Chemistry Should Not Be Used in DFT Calculations of Molecular Thermochemistry. J. Org. Chem. 2012, 77, 10824 — B3LYP/6-31G* 的误差抵消与 BSSE
- ORCA 6.1 手册:General Structure of the Input File — ! 行、% 块、* xyz、%maxcore 每核与 75–80% 建议
- ORCA 6.1 手册:Parallel and Multi-Process Runs — %pal、完整路径调用、不要用 mpirun 启动
- ORCA 6.1 手册:Geometry Optimization — 收敛阈值表、TightSCF 默认、未收敛仍显示 TERMINATED NORMALLY、TS_Mode、Scan
- ORCA 6.1 手册:Thermochemistry — quasi-RRHO 默认、QRRHORefFreq、G-E(el) 等输出行
- ORCA 6.1 手册:Intrinsic Reaction Coordinate — %irc 块、MaxIter 默认 20、输出文件
- ORCA 6.1 手册:Self-Consistent-Field — SlowConv、AutoTRAH、ConvForced、难收敛体系的策略
- ORCA 6.1 教程:Transition State Optimization — 扫描、Calc_Hess、OptTS Freq 示例,原子编号从 0 开始
- ORCA 6.1 教程:Memory Settings — 内存不足报错原文
- Gaussian 16:Link 0 Commands — %mem 默认 800 MB、%nprocshared
- Gaussian 16:Opt — TS、CalcFC、CalcAll、RecalcFC、MaxCycles、MaxStep
- Sobereva:简谈量子化学计算中DFT泛函的选择 — 经验帖:各任务泛函推荐、ωB97M-V 无解析 Hessian、APFD 评价
- Sobereva:谈谈量子化学中基组的选择 — 经验帖:基组分档、优化不需要大基组、弥散函数与波函数分析
- Sobereva:量子化学计算中帮助几何优化收敛的常用方法 — 经验帖:Gaussian 收敛判据数值、不收敛处理顺序
- Sobereva:Gaussian中几何优化收敛后Freq时出现NO或虚频的原因和解决方法 — 经验帖:虚频成因与处理
- Sobereva:谈谈有小虚频时热力学量的计算 — 经验帖:小虚频对 ZPE、熵与自由能的影响量级
- Sobereva:解决SCF不收敛问题的方法 — 经验帖:G16 SCF 未收敛不中断、vshift、加大迭代上限无效
- Sobereva:谈谈隐式溶剂模型下溶解自由能和体系自由能的计算 — 经验帖:1 atm → 1 M 标准态校正 1.89 kcal/mol
- Sobereva:量子化学程序ORCA的安装方法 — 经验帖:OpenMPI 与 gfortran、完整路径、PowerShell 编码问题、orca_2mkl
- Sobereva:详谈Multiwfn产生ORCA量子化学程序的输入文件的功能 — 经验帖:maxcore 算例、各级别 ORCA 关键词、RIJCOSX 默认
- 计算化学公社:Multiwfn 3.8正式版发布,以及未来版本号命名规则的说明 — Multiwfn 版本命名与引用
- 计算化学公社:一个初学者的DFT计算经验总结 — 经验帖:过渡态 recalc=5、maxstep=3
- CSDN:ubuntu18.04安装量子化学程序ORCA — 经验帖:ORCA 6.1.0 对应 OpenMPI 4.1.8
- ORCA 6.1 手册:Excited States via TD-DFT — TDA 是 TD-DFT 的默认设置,NRoots
- Sobereva:谈谈谐振频率校正因子 — 经验帖:谐振频率与实验对比时的校正因子
- ORCA Input Library:SCF Convergence Issues — 经验帖:ORCA SCF 默认 125 轮上限与未收敛时的行为
- Psi4 1.11 文档 — 本页实测所用程序
- CREST 文档 — 构象搜索命令与输出