Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Readers and writers for NWChem system library format #169

Open
susilehtola opened this issue Jan 7, 2021 · 6 comments
Open

Readers and writers for NWChem system library format #169

susilehtola opened this issue Jan 7, 2021 · 6 comments

Comments

@susilehtola
Copy link
Contributor

Basis sets in NWChem format don't work with NWChem.

If you look at the NWChem manual
https://nwchemgit.github.io/Basis.html#how-to-use-basis-files-from-httpswwwbasissetexchangeorg-new-in-2019

there's actually several things wrong at present. At the bare minimum

  • general contractions should be uncontracted and
  • the writer needs to be fixed to print out the basis set in the correct format

For instance, this is what BSE gives as cc-pVDZ for H and He

BASIS "ao basis" PRINT
#BASIS SET: (4s,1p) -> [2s,1p]
H    S
      1.301000E+01           1.968500E-02           0.000000E+00
      1.962000E+00           1.379770E-01           0.000000E+00
      4.446000E-01           4.781480E-01           0.000000E+00
      1.220000E-01           5.012400E-01           1.000000E+00
H    P
      7.270000E-01           1.0000000
#BASIS SET: (4s,1p) -> [2s,1p]
He    S
      3.836000E+01           2.380900E-02           0.000000E+00
      5.770000E+00           1.548910E-01           0.000000E+00
      1.240000E+00           4.699870E-01           0.000000E+00
      2.976000E-01           5.130270E-01           1.000000E+00
He    P
      1.275000E+00           1.0000000
END

In contrast, what NWChem expects is

basis "H_cc-pvdz" 
#basis SET: (4s,1p) -> [2s,1p]
H    S
      1.301000E+01           1.968500E-02
      1.962000E+00           1.379770E-01
      4.446000E-01           4.781480E-01
H    S
      1.220000E-01           1.000000E+00
H    P
      7.270000E-01           1.0000000
end
basis "He_cc-pvdz" 
#basis SET: (4s,1p) -> [2s,1p]
He    S
      3.836000E+01           2.380900E-02
      5.770000E+00           1.548910E-01
      1.240000E+00           4.699870E-01
He    S
      2.976000E-01           1.000000E+00
He    P
      1.275000E+00           1.0000000
end

Note especially that the basis set is defined separately for each atom; there's an end between all the entries and a new basis statement for each element.

@susilehtola
Copy link
Contributor Author

NWChem doesn't run with the basis sets BSE now gives; it gives an error about a string being too long.
After this, generally contracted sets will give a huge number of warnings about zero coefficients...

@susilehtola
Copy link
Contributor Author

Looks like we need another set of parsers and writers for NWChem, since the system library format is incompatible with the input format 🤡

@bennybp
Copy link
Member

bennybp commented Jan 7, 2021

hmm is this due to some (semi) recent change to NWChem? And do we now have to version parsers/writers?

@twindus
Copy link

twindus commented Jan 7, 2021

I am pretty sure that you do not need to put each individual element into it's own basis set block. Just tried it on the latest development version and it works without that (haven't tried the latest release). I am not sure about the general contractions, but I would suspect that this is true. One would have to try it.

@susilehtola
Copy link
Contributor Author

It works in the input, but not if you read the basis set from file.

@twindus
Copy link

twindus commented Jan 7, 2021

OK. I didn't try from the file. Sorry about that confusion.

@susilehtola susilehtola changed the title NWChem format does not work Readers and writers for NWChem system library format Jan 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants