TinkerTools / tinker

Tinker: Software Tools for Molecular Design
https://dasher.wustl.edu/tinker/
Other
130 stars 61 forks source link

runtime error when reading "multipole" from key file #69

Closed zjing7 closed 3 years ago

zjing7 commented 3 years ago

I am getting an error with the latest version when the key file contains multipoles (or many spaces followed by a number). This happens even when running programs like bar.x that doesn't require a key file. This seems to be related to the latest commit.

At line 107 of file getkey.f Fortran runtime error: Substring out of bounds: upper bound (21) of 'keyword' exceeds string length (20)

jayponder commented 3 years ago

Yes, I have very recently changed the parsing of the .key file and the .prm file. The new version worked for everything I tested. Can you post a sample keyfile that fails, and I'll fix it. It is almost certainly something very simple to fix. Thanks.

zjing7 commented 3 years ago

tinker.key

parameters none

atom        501  501    C     "C_1"                          6    12.011    3

multipole   501    0    0               0.00000
                                        0.00000    0.00000   -0.00000
                                        0.00000
                                        0.00000   -0.00000
                                       -0.00000    0.00000   -0.00000

sample.bar

       5    298.00
       1        -120258.6086      -120258.7365       388793.2249
       2        -120281.9093      -120282.2081       388793.2249
       3        -120574.6366      -120574.7243       388793.2249
       4        -120726.4866      -120726.5753       388793.2249
       5        -120717.6796      -120717.9625       388793.2249
       5    298.00
       1        -120688.3353      -120688.4099       388793.2249
       2        -120559.9875      -120560.2053       388793.2249
       3        -120716.9108      -120716.9504       388793.2249
       4        -120796.4867      -120796.5996       388793.2249
       5        -120408.1856      -120408.4933       388793.2249
jayponder commented 3 years ago

I believe this is fixed now. Sorry for the silly problem.. It didn't show up on my Mac development machine since the Mac generally pads array overflows, and hides lots of problems like this. Linux is much better for testing!

The only changes are to single lines in getkey.f and getprm.f

Let me know if you still have trouble.