Conversion Of DFTB Parameter Sets From dftb.org For Use In Gaussian 09 And Gaussian 16 – Errors And Fixes

Addressing the conversion of the 3ob-3-1, matsci-0-3, mio-1-1, and pbc-0-3 parameter sets (with fixes transferable to others).

While there is some information available online about converting dftb.org Slater-Koster (.skf) files for use in Gaussian 09/16, the simple procedures you might see for set A might not work for set B because of subtle formatting issues between the different sets.

As is often the case, some of the issues below would not have been confirmed/remedied without the kind assistance of feedback from Gaussian Technical Support. Also as usual for this site, error messages are provided for each stage of the conversion process for relevant parameter sets, with the searches for these errors likely being the way you found this page in the first place.

"Why Can't I Just Download Your Converted Sets?"

Because it behooves you to keep up to date with DFTB developments, including staying up-to-date with new and corrected parameter sets. "Parameter sets downloaded from a personal website that are converted parameter sets from a research website with several relevant citations listed." is a lousy-looking reference.

About The Conversions

For each of the four sets converted, I provide the dry-run error out of Gaussian 16, then work through the series of steps used to make the .skf files G16/G09-compatible (the versions behave the same in terms of reading the files, while G16 does a much better job of completing SCF cycles with DFTB). The presentation order goes:

1a. Error
1b. Fix
2a. Error
2b. Fix

The easiest way to confirm that your changes are moving in the right direction for a series of .sfk files is to have an input file ready to run for each series. The input format is simple and I'm defaulting to having the .skf files sitting in the same folder as the input file being run:

#p DFTB opt
[empty line]
comment line
[empty line]
0 1
R1  X1 Y1 Z1
...
Rn Xn Yn Zn
[empty line]
@parameter_set_R1-R1.skf
@parameter_set_R1-Rn.skf
...
@parameter_set_Rn-R1.skf
@parameter_set_Rn-Rn.skf
[empty line]

Final note – some files may have extra blank lines or other features that will throw errors out. Judicious use of comment markers (!) or block deletion should fix issues. More often than not, your error will be not counting the same number of grid point lines as Gaussian expects to see for a given parameter set.

mio-1-1 Conversion – As Of 18 Sept 2018

Download: http://www.dftb.org/parameters/download/mio/mio-1-1-cc/

1a. Error – Using The Unmodified .skf Files

The easy search-for is the "Missing values on 1st line of a parameter block." line.

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 000014e3168f9187
...
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x14e31705b890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x14e3168f9187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x14e3168dbb97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)

 (Enter /opt/g16/l302.exe)
 NPDir=0 NMtPBC=     1 NCelOv=     1 NCel=       1 NClECP=     1 NCelD=      1
         NCelK=      1 NCelE2=     1 NClLst=     1 CellRange=     0.0.
 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Missing values on 1st line of a parameter block.
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 20:24:45 2018.
 Job cpu time:       0 days  0 hours  0 minutes  2.7 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  0.6 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

1b. Fix – Format Modifications

As reported on the Gaussian Support page, the first lines of these files must include the atom R1 and atom R2 atomic numbers for the combination in order. Commas were removed to keep the formatting standard.

C-C.skf
original: 0.02, 500 ,2
modified: 0.02 500 6 6

C-H.skf
original: 0.02, 500,
modified: 0.02 500 6 1

H-C.skf
original: 0.02, 500,
modified: 0.02 500 1 6

H-H.skf
original: 0.02, 500,1
modified: 0.02 500 1 1

2a. Error – Grid Point Line Count

Addressing the second fix Gaussian reports must be done.

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 00001539c3c12187
...
   r12 00007ffd67a516d8, r13 0000000000000000, r14 0000000000000000
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x1539c4374890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x1539c3c12187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x1539c3bf4b97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)

NPDir=0 NMtPBC=     1 NCelOv=     1 NCel=       1 NClECP=     1 NCelD=      1
         NCelK=      1 NCelE2=     1 NClLst=     1 CellRange=     0.0.
 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Parameters for element pair   0   0 have already been read.
 Duplicate DFTB parameters read in.
 Error termination via Ln
k1e in /opt/g16/l302.exe at Mon Sep  3 20:30:01 2018.
 Job cpu time:       0 days  0 hours  0 minutes  3.7 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  0.7 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

2b. Fix – Correct The Count

Also as follows from the Gaussian website, the second number of the first line must reflect the number of lines of values before the line containing the word "Spline" in the .skf file. As Gaussian words it under Modifying Slater-Koster Files:

The second field in the first line of each file should contain the number of lines in the file containing grid points for the Hamiltonian and overlap integrals.

C-C.skf
original: 0.02 500 6 6
modified: 0.02 521 6 6

C-H.skf
original: 0.02 500 6 1
modified: 0.02 520 6 1

H-C.skf
original: 0.02 500 1 6
modified: 0.02 520 1 6

H-H.skf
original: 0.02 500 1 1
modified: 0.02 521 1 1

3a. Error – R1-R1 Line Count vs. R1-R2 Line Count

There are several times in several parameter sets (and maybe even between different files of the same sets) where the treatment of the R1-R1.skf and R2-R2.skf files is different from that of R1-R2.skf and R2-R1.skf files.

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 000014ffe79ef187
...
   r12 00007ffde2862268, r13 0000000000000000, r14 0000000000000000
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x14ffe8151890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x14ffe79ef187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x14ffe79d1b97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)

 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Wanted a floating point number as input.
 Found a string as input.
 Spline                                                                          
 ?
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 20:43:44 2018.
 Job cpu time:       0 days  0 hours  0 minutes 10.1 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  1.8 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

3b. Fix – Reduce R1-R1 Line Count By 1

Seeing the "Found a string as input. Spline ?" block at the bottom is a sure sign that your .skf file pre-"Spline" second number is off by 1. As it happens, Gaussian includes an extra read for an additional line in the Atom R1 – Atom R1 series (C-C, H-H). For the mio-1-1 series, the Atom R1 – Atom R1 (same element) combinations need to be reduced by 1 (then brought in to correspondence with the R1-R2 combinations).

C-C.skf
original: 0.02 521 6 6
modified: 0.02 520 6 6

H-H.skf
original: 0.02 521 1 1
modified: 0.02 520 1 1

With luck, Tom Waits…


  THE LARGE PRINT GIVETH,
  AND THE SMALL PRINT TAKETH AWAY.

                     -- TOM WAITS
 Job cpu time:       0 days  0 hours  1 minutes 28.9 seconds.
 Elapsed time:       0 days  0 hours  0 minutes 17.9 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      3 Scr=      1
 Normal termination of Gaussian 16 at Mon Sep  3 20:48:26 2018.

3ob-3-1 Conversion – As Of 18 Sept 2018

Download: http://www.dftb.org/parameters/download/3ob/3ob-3-1-cc/

By far the easiest one to convert.

1a. Error – Using The Unmodified .skf Files

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 0000149226329187
...
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x149226a8b890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x149226329187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x14922630bb97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)

 (Enter /opt/g16/l302.exe)
 NPDir=0 NMtPBC=     1 NCelOv=     1 NCel=       1 NClECP=     1 NCelD=      1
         NCelK=      1 NCelE2=     1 NClLst=     1 CellRange=     0.0.
 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Missing values on 1st line of a parameter block.
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 19:32:38 2018.
 Job cpu time:       0 days  0 hours  0 minutes  3.0 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  0.7 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

1b. Fix – Atomic Number Addition (As Above)

C-C.skf
original: 2.000000000000E-02,  650,  2
modified: 2.000000000000E-02 650 6 6

H-H.skf
original: 2.000000000000E-02,  550,  2
modified: 2.000000000000E-02 550 1 1

C-H.skf
original: 2.000000000000E-02,  600
modified: 2.000000000000E-02 600 6 1

H-C.skf
original: 2.000000000000E-02,  600
modified: 2.000000000000E-02 600 1 6

2a. Error – Grid Point Line Count

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 000014ed48f53187
...
   r12 00007ffc0b6d2fe8, r13 0000000000000000, r14 0000000000000000
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x14ed496b5890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x14ed48f53187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x14ed48f35b97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)

 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Wanted a floating point number as input.
 Found a string as input.
 Spline                                                                          
 ?
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 19:38:31 2018.
 Job cpu time:       0 days  0 hours  0 minutes  4.3 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  0.9 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

2b. Fix – Correct The Count

C-C.skf
original: 2.000000000000E-02 650 6 6
modified: 2.000000000000E-02 651 6 6

H-H.skf
original: 2.000000000000E-02 550 1 1
modified: 2.000000000000E-02 551 1 1

C-H.skf
original: 2.000000000000E-02 600 6 1
modified: 2.000000000000E-02 601 6 1

H-C.skf
original: 2.000000000000E-02 600 1 6
modified: 2.000000000000E-02 601 1 6

And just those two fixes are needed for the 3ob-3-1 parameter set.

pbc-0-3 Conversion – As Of 18 Sept 2018

Download: http://www.dftb.org/parameters/download/pbc/pbc-0-3-cc/

Another simple conversion, with the exception of just one problematic file (for the C/H combination, anyway. Your conversion efforts may vary) and the presence of blank lines some (not all) .skf files.

1a. Error – Using The Unmodified .skf Files

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 000015368de33187
...
   r12 00007ffd8ac2b2a8, r13 0000000000000000, r14 0000000000000000
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x15368e595890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x15368de33187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x15368de15b97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)
damianallis@prime:~/dftb/pbc-0-3$ 

 (Enter /opt/g16/l302.exe)
 NPDir=0 NMtPBC=     1 NCelOv=     1 NCel=       1 NClECP=     1 NCelD=      1
         NCelK=      1 NCelE2=     1 NClLst=     1 CellRange=     0.0.
 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Missing values on 1st line of a parameter block.
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 20:54:58 2018.
 Job cpu time:       0 days  0 hours  0 minutes  2.8 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  0.7 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

1b. Fix – Atomic Number Addition (As Above)

The usual.

C-C.skf
original: 0.02, 520 
modified: 0.02 520 6 6

C-H.skf
original: 0.02, 520,
modified: 0.02 520 6 1

H-C.skf
original: 0.02, 520,
modified: 0.02 520 1 6

H-H.skf
original: 0.02, 500,1
modified: 0.02 500 1 1

2a. Error – Blank Lines!

This (simple issue) stumped me for hours and didn't get resolves without Gaussian. The problem is the existence of an extra blank line at the bottom of -some- of the .skf files.

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 0000149d301e7187
...
   r12 00007fff0460a188, r13 0000000000000000, r14 0000000000000000
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x149d30949890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x149d301e7187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x149d301c9b97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)
damianallis@prime:~/dftb/pbc-0-3$ tail -n 10 *.log
 NPDir=0 NMtPBC=     1 NCelOv=     1 NCel=       1 NClECP=     1 NCelD=      1
         NCelK=      1 NCelE2=     1 NClLst=     1 CellRange=     0.0.
 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Element pair   8   1 not in DFTB parameters.
 Pair not found in DFTBHS.
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 21:00:21 2018.
 Job cpu time:       0 days  0 hours  0 minutes  4.1 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  0.9 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

2b. Fix – Delete Those Blank Lines

Just remove'em if they're present.

C-C.skf - delete the bottom blank line
C-H.skf - delete the bottom blank line
H-C.skf - delete the bottom blank line
H-H.skf - no blank line at bottom to delete

3a. Error – H-H Grid Line Count

Back to familiar errors, but this time for only one case (H-H).

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 000014ff73e9f187
...
   r12 00007ffcc1c9b598, r13 0000000000000000, r14 0000000000000000
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x14ff74601890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x14ff73e9f187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x14ff73e81b97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)
damianallis@prime:~/dftb/pbc-0-3$ tail -n 10 *.log
 NPDir=0 NMtPBC=     1 NCelOv=     1 NCel=       1 NClECP=     1 NCelD=      1
         NCelK=      1 NCelE2=     1 NClLst=     1 CellRange=     0.0.
 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Parameters for element pair   0   0 have already been read.
 Duplicate DFTB parameters read in.
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 21:02:16 2018.
 Job cpu time:       0 days  0 hours  0 minutes 11.6 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  2.1 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

1b. Fix – Add 20

The H-H.skf file value at top for the grid lines is 500, but there are, like the others, 520 lines.

H-H.skf
original: 0.02 500 1 1
modified: 0.02 520 1 1

That should be it for the pbc-0-3 parameter set, but note that blank lines may or may not be in those files.

matsci-0-3 Conversion – As Of 18 Sept 2018

Download: http://www.dftb.org/parameters/download/matsci/matsci-0-3-cc/

Combining all of the issues above and adding a new one, the matsci-0-3 conversion involves the most adjusting, which is just as easily fixed by selective deletion of blocks of text for some cases.

1a. Error – Using The Unmodified .skf Files

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 0000154c100f5187
...
   r12 00007ffdfd928ea8, r13 0000000000000000, r14 0000000000000000
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x154c10857890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x154c100f5187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x154c100d7b97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)

 (Enter /opt/g16/l302.exe)
 NPDir=0 NMtPBC=     1 NCelOv=     1 NCel=       1 NClECP=     1 NCelD=      1
         NCelK=      1 NCelE2=     1 NClLst=     1 CellRange=     0.0.
 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Missing values on 1st line of a parameter block.
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 19:59:34 2018.
 Job cpu time:       0 days  0 hours  0 minutes  2.5 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  0.5 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

1b. Fix – Atomic Number Addition (As Above)

C-C.skf
original: 0.05 400 
modified: 0.05 400 6 6

C-H.skf
original: 0.05 400
modified: 0.05 400 6 1

H-C.skf
original: 0.05 400
modified: 0.05 400 1 6

H-H.skf
original: 0.05 400
modified: 0.05 400 1 1

2a. Error – Letters In Line 2 Of [Atom R1 – Atom R1] Files

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 0000149fb6976187
...
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x149fb70d8890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x149fb6976187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x149fb6958b97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)

 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Wanted a floating point number as input.
 Found a string as input.
 0.0000 -0.1939 -0.4955  -0.0439  0.3647  0.3647  0.3647 0.00  2.00  2.00    T 1 0.341975   0.387425
                                                                         ?
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 20:02:29 2018.
 Job cpu time:       0 days  0 hours  0 minutes  2.5 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  0.5 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

Gaussian wasn't aware of the existence of non-numeric characters in the R1-R1 block of this parameter set, but found that commenting the section to the right didn't affect the run. Checking with DFTB developers, it turns out only the first 10 numbers on this line are used and the T and beyond is ignored. So, safe to comment out.

2b. Fix – Comment Out (!)

Using the .skf comment character (!).

C-C.skf
original: 0.0000 -0.1939 -0.4955  -0.0439  0.3647  0.3647  0.3647 0.00  2.00  2.00    T 1 0.341975   0.387425 
modified: 0.0000 -0.1939 -0.4955  -0.0439  0.3647  0.3647  0.3647 0.00  2.00  2.00    !T 1 0.341975   0.387425 

H-H.skf
original: 0.0000  0.0000   -0.2284   -0.0330    0.0000    0.0000    0.4195   0.00 0.00 1.00   T    0 0.3471 0.4919  
modified: 0.0000  0.0000   -0.2284   -0.0330    0.0000    0.0000    0.4195   0.00 0.00 1.00   !T    0 0.3471 0.4919  

3a. Error – Blank Lines

Back to familiar territory.

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 000014c62f39c187
...
   r12 00007ffdaa3d4e08, r13 0000000000000000, r14 0000000000000000
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x14c62fafe890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x14c62f39c187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x14c62f37eb97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)

 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Wanted a floating point number as input.
 Found a string as input.
 Spline                                                                          
 ?
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 20:03:58 2018.
 Job cpu time:       0 days  0 hours  0 minutes  3.3 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  0.6 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

3b. Fix – Delete Those Lines

Note that the H-H.skf is different than the others (no scripting of global changes without an if/then statement).

C-C.skf
15*0.0   -0.00000001 4*0.0 
[blank line - delete me]
Spline

C-H.skf
8*0.0    0.00000024   -0.00000029 8*0.0   -0.00000042    0.00000042 
[blank line - delete me]
Spline

H-C.skf
8*0.0    0.00000024   -0.00000029 8*0.0   -0.00000042    0.00000042 
[blank line - delete me]
Spline

H-H.skf
Fine as is.

4a. Error – Blocks Of (Gaussian-)Irrelevant Text

The "Potential in Slaters" blocks of these files are the culprit, plus the existence of blank lines in some files right before this block.

Error: segmentation violation
   rax 0000000000000000, rbx ffffffffffffffff, rcx 0000148e48e8d187
...
   r12 00007fff480d5328, r13 0000000000000000, r14 0000000000000000
   r15 00000000000003e6
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x148e495ef890]
  /lib/x86_64-linux-gnu/libc.so.6(kill+0x7) [0x148e48e8d187]
  /opt/g16/l302.exe() [0x4266e0]
...
  /opt/g16/l302.exe() [0x40381d]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x148e48e6fb97]
  /opt/g16/l302.exe(sched_setaffinity+0xa1) [0x403729]
Aborted (core dumped)

 One-electron integrals computed using PRISM.
 Generate DFT-SCTB integrals.
 Wanted a floating point number as input.
 Found a string as input.
 Potential in Slaters #Next line: Z, nExponent, nCoeff #following lines as i=[1:nCoeff]: coeff[1:nExponent,iCoeff]
 ?
 Error termination via Lnk1e in /opt/g16/l302.exe at Mon Sep  3 20:06:47 2018.
 Job cpu time:       0 days  0 hours  0 minutes  3.4 seconds.
 Elapsed time:       0 days  0 hours  0 minutes  0.6 seconds.
 File lengths (MBytes):  RWF=      6 Int=      0 D2E=      0 Chk=      1 Scr=      1

4b. Fix – Comment Out Or Delete

Commenting out and deleting blank lines in the R1-R1.skf files is the final trick.

C-C.skf – original

...
4.2 4.3    6.019814129663628e-06 -0.0005674033746491677 0.008895585140284115 -0.038235328067588
4.3 4.34    0 6.465381138001741e-05 -0.002575013279992242 -0.04932579667564679 3.253576522516708 -35.53160271107893
Potential in Slaters #Next line: Z, nExponent, nCoeff #following lines as i=[1:nCoeff]: coeff[1:nExponent,iCoeff]
   6 3 3 
 6.00000000 3.00000000 1.50000000 
-2.12442360e+02  5.59079360e+02 -3.40637000e+02 
-3.01560830e+02  2.61267120e+01  1.55803120e+02 
-1.60453960e+02  3.78116880e+02 -1.54975130e+01 
Density in Slaters #Next line: Z, nExponent, nCoeff #following lines as i=(1:nCoeff): coeff[1:nExponent,iCoeff]
   6 4 4 
 12.00000000 6.00000000 3.00000000 1.50000000 
 1.59823070e+03  1.88015110e+03 -1.85962620e+03 -1.57991220e+01 
-5.04092550e+02  3.99692480e+03  2.04191460e+03  5.28198730e+00 
 1.55375210e+03  1.91344500e+03 -7.06812390e+02 -5.97730740e-01 
-3.77811200e+03  3.00641870e+03  9.60074820e+01  2.28013400e-02 
Wave function in Slaters #Next line: Z, nExponent, nCoeff, lMax #following lines as bloks of (l=1:lMax+1): with block lines (i=1:nCoeff, l): with line entries of coeff[1:nExponent, iCoeff, l]
   6 3 3 1 
 6.00000000 3.00000000 1.50000000 
 8.88439570e+00 -5.29071630e+01  3.69269320e+01 
 1.68873640e+01 -1.13153240e+01 -1.27781290e+01 
 2.13469890e+00 -3.29673710e+01  1.12025690e+00 
-1.89810030e+01  2.04379200e+01  6.34324680e+00 
-3.49566390e+01 -2.71222760e+01 -2.20425860e+00 
-3.38020070e+01  8.49032790e+00  1.91079440e-01

C-C.skf – modified

...
4.2 4.3    6.019814129663628e-06 -0.0005674033746491677 0.008895585140284115 -0.038235328067588
4.3 4.34    0 6.465381138001741e-05 -0.002575013279992242 -0.04932579667564679 3.253576522516708 -35.53160271107893
!Potential in Slaters #Next line: Z, nExponent, nCoeff #following lines as i=[1:nCoeff]: coeff[1:nExponent,iCoeff]
!   6 3 3 
! 6.00000000 3.00000000 1.50000000 
!-2.12442360e+02  5.59079360e+02 -3.40637000e+02 
!-3.01560830e+02  2.61267120e+01  1.55803120e+02 
!-1.60453960e+02  3.78116880e+02 -1.54975130e+01 
!Density in Slaters #Next line: Z, nExponent, nCoeff #following lines as i=(1:nCoeff): coeff[1:nExponent,iCoeff]
!   6 4 4 
! 12.00000000 6.00000000 3.00000000 1.50000000 
! 1.59823070e+03  1.88015110e+03 -1.85962620e+03 -1.57991220e+01 
!-5.04092550e+02  3.99692480e+03  2.04191460e+03  5.28198730e+00 
! 1.55375210e+03  1.91344500e+03 -7.06812390e+02 -5.97730740e-01 
!-3.77811200e+03  3.00641870e+03  9.60074820e+01  2.28013400e-02 
!Wave function in Slaters #Next line: Z, nExponent, nCoeff, lMax #following lines as bloks of (l=1:lMax+1): with block lines (i=1:nCoeff, l): with line entries of !coeff[1:nExponent, iCoeff, l]
!   6 3 3 1 
! 6.00000000 3.00000000 1.50000000 
! 8.88439570e+00 -5.29071630e+01  3.69269320e+01 
! 1.68873640e+01 -1.13153240e+01 -1.27781290e+01 
! 2.13469890e+00 -3.29673710e+01  1.12025690e+00 
!-1.89810030e+01  2.04379200e+01  6.34324680e+00 
!-3.49566390e+01 -2.71222760e+01 -2.20425860e+00 
!-3.38020070e+01  8.49032790e+00  1.91079440e-01

H-H.skf – original

...
1.85000001639128 1.93000000149012    0 -0.001039722277270741 -0.02024810718864866 1.734044159065938 -25.7369734407929 115.698697168618
----------------[blank line - delete me]----------------
Potential in Slaters #Next line: Z, nExponent, nCoeff #following lines as i=[1:nCoeff]: coeff[1:nExponent,iCoeff]
   1 2 3 
 2.00000000 1.00000000 
-9.24055790e+01  9.34055790e+01 
-5.82200230e+01 -3.35996430e+01 
-1.69769380e+01  3.27773210e+00 
Density in Slaters #Next line: Z, nExponent, nCoeff #following lines as i=(1:nCoeff): coeff[1:nExponent,iCoeff]
   1 3 4 
 4.00000000 2.00000000 1.00000000 
 1.06902450e+02 -9.30819650e+01 -4.15847960e+00 
 1.47002580e+02  7.52926390e+01  1.04675560e+00 
 8.59204060e+01 -1.88496570e+01 -8.98345500e-02 
 1.90775940e+01  2.50292100e+00  2.61437050e-03 
Wave function in Slaters #Next line: Z, nExponent, nCoeff, lMax #following lines as bloks of (l=1:lMax+1): with block lines (i=1:nCoeff, l): with line entries of coeff[1:nExponent, iCoeff, l]
   1 2 3 0 
 2.00000000 1.00000000 
-1.50471540e+01  1.19407670e+01 
-1.23858090e+01 -3.54954100e+00 
-2.61484850e+00  2.66724870e-01

H-H.skf – modified

...
1.85000001639128 1.93000000149012    0 -0.001039722277270741 -0.02024810718864866 1.734044159065938 -25.7369734407929 115.698697168618
!Potential in Slaters #Next line: Z, nExponent, nCoeff #following lines as i=[1:nCoeff]: coeff[1:nExponent,iCoeff]
!   1 2 3 
! 2.00000000 1.00000000 
!-9.24055790e+01  9.34055790e+01 
!-5.82200230e+01 -3.35996430e+01 
!-1.69769380e+01  3.27773210e+00 
!Density in Slaters #Next line: Z, nExponent, nCoeff #following lines as i=(1:nCoeff): coeff[1:nExponent,iCoeff]
!   1 3 4 
! 4.00000000 2.00000000 1.00000000 
! 1.06902450e+02 -9.30819650e+01 -4.15847960e+00 
! 1.47002580e+02  7.52926390e+01  1.04675560e+00 
! 8.59204060e+01 -1.88496570e+01 -8.98345500e-02 
! 1.90775940e+01  2.50292100e+00  2.61437050e-03 
!Wave function in Slaters #Next line: Z, nExponent, nCoeff, lMax #following lines as bloks of (l=1:lMax+1): with block lines (i=1:nCoeff, l): with line entries of !coeff[1:nExponent, iCoeff, l]
!   1 2 3 0 
! 2.00000000 1.00000000 
!-1.50471540e+01  1.19407670e+01 
!-1.23858090e+01 -3.54954100e+00 
!-2.61484850e+00  2.66724870e-01

3 Replies to “Conversion Of DFTB Parameter Sets From dftb.org For Use In Gaussian 09 And Gaussian 16 – Errors And Fixes”

  1. I was having the hardest time to try and do the conversions on my own and the gaussian errors are vague and didn't help me figure out what exactly I had to edit. This guide helped me SO MUCH!!! I followed your steps and now my calculations have normal termination. Thank you for posting this. I just wish I had found it before I spend a couple hours trying to figure this out on my own…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.