v0.4.2 - Complete Next Panel Basis Tail Extraction Fix
Gaussian Copilot v0.4.2
紧急修复版本:0.4.1 发布时遗漏了核心的 Next 面板基组继承修复代码。本版本包含完整的修复。
🔧 Next 面板基组赝势修复(完整版)
-
问题描述:
- 当用户从含有 gen/genecp 自定义基组的 Gaussian log 文件中,通过 Next 面板的按钮(如"从当前帧进行TS过渡态搜索")生成新的 gjf 文件时:
- f 轨道基组壳层(如
f 1 1.00)被正确继承 - 但 d 轨道基组壳层(如
d 1 1.00)被误删除,导致新 gjf 缺少 d 轨道设定
-
根本原因:
- 基组尾部提取逻辑中的
looksLikeModredundantLine()函数用规则/^\s*[BADXL]\s+\d+/i判断 ModRedundant 约束行 - 该正则表达式意在匹配约束定义(如
B 4 5 F、D 1 2 F),但会误匹配基组壳层头(d 1 1.00中首字母d) - 结果导致所有以 B/D/A/X/L 开头的行被过滤,包括合法的 d/p 基组壳层定义
- 基组尾部提取逻辑中的
-
修复方案:
- 改进
looksLikeModredundantLine()的判定逻辑:- 增加"基组壳层头"正则识别:
/^[A-Za-z]{1,2}\s+\d+\s+[-+]?\d*\.?\d+(?:[DdEe][-+]?\d+)?\s*$/ - 匹配模式(角动量字母 + 原始基组数 + 指数值)的形式,如 d/p/sp 等
- 优先检测并排除壳层头,再检测 ModRedundant 约束
- 增加"基组壳层头"正则识别:
- 确保合法的基组定义行(d 1 1.00、p 2 1.5 等)不被误判为约束行
- 改进
-
影响范围:
- 所有使用 gen/genecp 自定义基组(特别是含有 Pd、I 等金属及重原子时的赝势)的分子
- 通过 Next 面板生成的 TS、Sol、IRC 计算输入文件
测试确认
- 验证信息:与提供的
4a-ts3-1-fix.log和4a-ts3-1-fix.gjf对比- 原文件含 Pd(lanl2dz)和 I(自定义 d/f 指数)的赝势定义
- 修复后可正确保留 d 轨道指数、p 轨道等所有壳层定义