Skip to content

Commit 962e354

Browse files
andyclaude
andcommitted
Basis name tables: fix a fatal typo, and add 22 names verified by running the codes
Gaussian 16's table mapped 6-31G(3df,3pd) to "6-31g(3df,3dp)" and 6-311++G(3df,3pd) likewise -- the last two letters transposed. Verified against the installed g16: "3dp" is a fatal "QPErr --- A syntax error was detected in the input line", so choosing either of those basis sets produced a deck that died immediately. "3pd" runs. It was also missing 6-31G* and 6-31G**, the two most widely used basis sets in chemistry, so both were being written out as explicit primitives when Gaussian has them built in. Adds 12 names for Gaussian 16 and 10 for ORCA. Every one was RUN on water against the installed code rather than read off a manual, and the resulting basis-function count is recorded beside it so a future silent substitution shows up as a changed number. That discipline earned its keep twice here. ORCA accepts 6-31++G** but REJECTS 6-31++G and 6-31++G*, which no reading of the documentation would suggest. And Gaussian's "def2SVPP" is not def2-SVPP: it gives 18 functions for water, which is def2-SV(P), while def2SVP gives 24 -- mapping ECCE's "def2-svp" onto it because the letters look right would have silently substituted a smaller basis. Names each code rejects are recorded in the comments so nobody adds them later: 3-21G*, 6-31++G, 6-31++G* and 6-31G(3df,3pd) for ORCA. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EFMUNbw2UpRPmgsqviAowb
1 parent c10336f commit 962e354

2 files changed

Lines changed: 42 additions & 2 deletions

File tree

‎scripts/parsers/wrGaussian16GBS.pm‎

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,29 @@ sub setupBasisTranslation {
504504
# translations between NWChem and Gaussian-09 basis names
505505
# (when available)
506506

507+
# Added 2026-09-23, each one RUN against the installed Gaussian 16 on
508+
# water, with the basis-function count recorded. 6-31G* and 6-31G**
509+
# were simply absent, which is why the two most widely used basis sets
510+
# in chemistry were being written out as explicit primitives.
511+
#
512+
# NOTE the def2 spellings. Gaussian drops the hyphen, and
513+
# "def2SVPP" is NOT def2-SVPP -- it gives 18 functions for water,
514+
# which is def2-SV(P), while def2SVP gives 24. Mapping ECCE's
515+
# "def2-svp" onto it because the letters look right would silently
516+
# substitute a smaller basis.
517+
$NameToBasis{"6-31g*"} = "6-31G*"; # nbf 19
518+
$NameToBasis{"6-31g**"} = "6-31G**"; # nbf 25
519+
$NameToBasis{"6-31+g*"} = "6-31+G*"; # nbf 23
520+
$NameToBasis{"6-311g*"} = "6-311G*"; # nbf 24
521+
$NameToBasis{"6-311g**"} = "6-311G**"; # nbf 30
522+
$NameToBasis{"6-311+g*"} = "6-311+G*"; # nbf 28
523+
$NameToBasis{"6-311++g**"} = "6-311++G**"; # nbf 36
524+
$NameToBasis{"def2-svp"} = "def2SVP"; # nbf 24
525+
$NameToBasis{"def2-svp(p)"} = "def2SVPP"; # nbf 18
526+
$NameToBasis{"def2-tzvp"} = "def2TZVP"; # nbf 43
527+
$NameToBasis{"def2-tzvpp"} = "def2TZVPP"; # nbf 59
528+
$NameToBasis{"def2-qzvp"} = "def2QZVP"; # nbf 117
529+
507530
$NameToBasis{"sto-2g"} = "sto-2g";
508531
$NameToBasis{"sto-3g"} = "sto-3g";
509532
$NameToBasis{"sto-3g*"} = "sto-3g*";
@@ -518,10 +541,10 @@ sub setupBasisTranslation {
518541
$NameToBasis{"6-31g"} = "6-31g";
519542
$NameToBasis{"6-31++g"} = "6-31++g";
520543
$NameToBasis{"6-31++g**"} = "6-31++g**";
521-
$NameToBasis{"6-31g(3df,3pd)"} = "6-31g(3df,3dp)";
544+
$NameToBasis{"6-31g(3df,3pd)"} = "6-31G(3df,3pd)";
522545
$NameToBasis{"6-311g"} = "6-311G";
523546
$NameToBasis{"6-311++g"} = "6-311++G";
524-
$NameToBasis{"6-311++g(3df,3pd)"} = "6-311++g(3df,3dp)";
547+
$NameToBasis{"6-311++g(3df,3pd)"} = "6-311++G(3df,3pd)";
525548

526549
$NameToBasis{"midi!"} = "midix";
527550
$NameToBasis{"dz (dunning)"} = "d95";

‎scripts/parsers/wrORCAGBS.pm‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,23 @@ sub setupBasisTranslation {
164164
# NewGTO listing. Trimmed to names common between the ECCE standard
165165
# library and ORCA's library -- extend as needed.
166166

167+
# Added 2026-09-23, each one RUN against ORCA 6.1.1 on water rather
168+
# than taken from the manual, with the basis-function count recorded so
169+
# a future silent substitution shows up as a changed number. Names
170+
# ORCA REJECTS, and which therefore must keep falling back to explicit
171+
# primitives: 3-21G*, 6-31++G, 6-31++G*, 6-31G(3df,3pd) -- note it
172+
# accepts 6-31++G** while rejecting the other two 6-31++ variants.
173+
$NameToBasis{"6-31+g*"} = "6-31+G*"; # nbf 22
174+
$NameToBasis{"6-31++g**"} = "6-31++G**"; # nbf 30
175+
$NameToBasis{"6-311g*"} = "6-311G*"; # nbf 24
176+
$NameToBasis{"6-311+g*"} = "6-311+G*"; # nbf 28
177+
$NameToBasis{"6-311++g**"} = "6-311++G**"; # nbf 36
178+
$NameToBasis{"6-311++g(3df,3pd)"} = "6-311++G(3df,3pd)"; # nbf 75
179+
$NameToBasis{"aug-cc-pv5z"} = "aug-cc-pV5Z"; # nbf 295
180+
$NameToBasis{"def2-svp(p)"} = "def2-SV(P)"; # nbf 18
181+
$NameToBasis{"def2-tzvpp"} = "def2-TZVPP"; # nbf 59
182+
$NameToBasis{"def2-qzvpp"} = "def2-QZVPP"; # nbf 117
183+
167184
$NameToBasis{"sto-3g"} = "STO-3G";
168185
$NameToBasis{"3-21g"} = "3-21G";
169186
$NameToBasis{"6-31g"} = "6-31G";

0 commit comments

Comments
 (0)