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

fchk to FCIDUMP (with gbasis) #362

Open
paulandrewjohnson opened this issue Jul 5, 2024 · 5 comments
Open

fchk to FCIDUMP (with gbasis) #362

paulandrewjohnson opened this issue Jul 5, 2024 · 5 comments

Comments

@paulandrewjohnson
Copy link

I was able to read an fchk with IOdata, use gbasis to compute integrals, then write to an FCIDUMP with IOdata.

Please add a warning to the gbasis documentation examples: IOdata assumes integrals are stored internally in physicists' notation, hence transposes to chemists' notation upon dumping an FCIDUMP. Hence, one should not compute the 2 electron integrals with notation='chemist'.

Everything makes sense, and I am sorry for bringing this up. It would help.

@PaulWAyers
Copy link
Member

Can you be more specific about the change you'd propose? I think, from the way you explain it, the issue is a gbasis issue.

You should also feel free to make a pull request with the documentation change you're suggesting. It's always most useful for the users to suggest the changes that would have made their lives easier; as developers we're often too deep in the weeds to understand how outsiders see it.

@tovrstra
Copy link
Member

tovrstra commented Jul 6, 2024

A warning does not seem to be the right solution when IOData and GBasis behave as documented.

Maybe a worked-out example in GBasis that shows how to write an FCIDUMP file could help?

It would make sense to add a note to the FCIDUMP docstring to explain that the internal representation in IOData and FCIDUMP differ, and that the numbers are rearranged upon loading and dumping. I'll make a PR with a suggestion to make this a bit more concrete.

One could go further and add some metadata in the IOData class that says with which notation the 4-index objects are stored in any given instance. This may be a bit overkill, but it avoids preferring one over the other in the IOData source. (This is a similar to how we support different basis sign and order conventions.)

@PaulWAyers
Copy link
Member

I think a worked example in gbasis is sensible. @paulandrewjohnson , I'd invite you to even use your own experience to provide such an example, then make a pull request in gbasis.

@paulandrewjohnson
Copy link
Author

paulandrewjohnson commented Jul 7, 2024 via email

@tovrstra
Copy link
Member

tovrstra commented Jul 7, 2024

No worries. We appreciate that you bring this up. It is always a bit of a puzzle where and how to improve things.

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