qsimulate-open / bagel

Brilliantly Advanced General Electronic-structure Library
GNU General Public License v3.0
92 stars 44 forks source link

Dyson orbitals for CASSCF wavefunctions #195

Closed humeniuka closed 3 years ago

humeniuka commented 4 years ago

Dear BAGEL developers,

I implemented the calculation of Dyson orbitals, which are useful when studying photoionization, for CASSCF wavefunctions. Since the molecular orbitals from which the initial (N electrons) and final (N-1 electrons) wavefunctions are built, are non-orthogonal, the overlaps between Slater determinants are computed using Loewdin's formula (see eqn. 22 in https://doi.org/10.1063/1.4820238 or eqn. 7 in https://www.nature.com/articles/srep35522). A smarter implementation would first biorthogonalize the two sets of MOs and transform the CI vectors. However, when a threshold is used to neglect small products of CI coefficients, the simple algorithm is not too expensive.

To check the correctness of the code I compared with MOLPRO and a recent release of OpenMOLCAS. The input deck for generating Dyson orbitals with MOLPRO was adapted from the Supplementary Material of https://doi.org/10.1063/1.5018130 . The table in the attachment 'comparison.txt' shows that all three implementations yield the same results. The MOLPRO, MOLCAS and BAGEL input scripts used to generate the table and the corresponding log files are also attached.

If you find that feature interesting, I would like to contribute it to the master branch, so I can also benefit from future improvements to BAGEL without having to maintain my own copy.

Best regards, Alexander

Attachments

Table comparing MOLPRO, MOLCAS and BAGEL results

comparison.txt

Input scripts and log files

dyson_bagel.json.txt dyson_bagel.out.txt dyson_molcas.input.txt dyson_molcas.out.txt dyson_molpro.in.txt dyson_molpro.out.txt

shiozaki commented 4 years ago

Hi, just so you know, I am aware of this pull request. When I get a chance, I will take a look. In addition, please take a look at our merge policy at https://github.com/nubakery/bagel/blob/master/CONTRIBUTING.md.

We value open-source culture/environments, and therefore, are committed to keep the BAGEL repository accessible under GPL. However, since I am no longer in academia and am working for a for-profit company, in part related to BAGEL, there is some constraint as described above to facilitate maintaining two separate repositories in a consistent manner.

humeniuka commented 4 years ago

Hi, I read the policy about contributing. It's fine with me.

shiozaki commented 3 years ago

Sorry for not following up sooner ... I will merge this very soon, but in the meantime, could you send an email to shiozaki.toru@gmail.com so I can get a formal agreement from you re: the copyright?

shiozaki commented 3 years ago

For the record, the copyright transfer form was signed on Oct 11. This PR changes the behavior of SMITH::conv_to_ref (it now returns the XMS energies and CI vectors), but I assume that any use cases in CASPT2 opt/dynamics won't be affected by that.