adc-connect / adcc

adcc: Seamlessly connect your program to ADC
https://adc-connect.org
GNU General Public License v3.0
32 stars 19 forks source link

Transition dipole moments for asymmetric operators #158

Closed apapapostolou closed 1 year ago

apapapostolou commented 1 year ago

We have found that the second-order transition density matrices from the ground state, as currently implemented, can only be used for symmetric operators. For asymmetric operators, such as the magnetic dipole operator, we found a small error in the oo block.

Other changes:

The equations were taken from J. Schirmer, Phys. Rev. A 26, 2395 (1982), and we also compared them to the equations @jonasleitner created with his code generator.

In addition, we believe that a factor of 0.5 is missing in one of the terms in the vc block of the cvs transition dm. This is also missing in the MTMs in the corresponding term. Since this hardly affects the oscillator strengths, it was probably not noticed before.

ToDo: If the changes are approved, the reference data (state.transition_magnetic_dipole_moment and state.transition_dipole_moment_velocity) must be adjusted accordingly.

maxscheurer commented 1 year ago

@apapapostolou can you maybe upload the testdata files here that need to be updated so @mfherbst can upload them to the server? Would that work in principle?

mfherbst commented 1 year ago

Would that work in principle?

Yes. I'd be happy to do that. I could also download them from somewhere (in NRW we have something like an owncloud for such things. Maybe you have something similar in BaWü).

mfherbst commented 1 year ago

I remember we had some tests which were disabled for some low-order ADC variants because they always failed. Could have something to do with this and it might be worth checking if it's now possible to activate them. They are marked as xfail in the test suite I think.

apapapostolou commented 1 year ago

I remember we had some tests which were disabled for some low-order ADC variants because they always failed. Could have something to do with this and it might be worth checking if it's now possible to activate them. They are marked as xfail in the test suite I think.

The functionality tests for the CN ADC(0) transition dipole moments still fail, even with the new reference data.

apapapostolou commented 1 year ago

I have now updated dump_adcc_reference.py to regenerate all reference data with adcc. The hdf5 files are named like the others, only reference was replaced by adcc_reference.

Since not all hfdata contained the magnetic dipole operator and the nabla operator, I also wanted to regenerate the hfdata. However, this has caused problems with some tests that still use the atd reference data, as these had been generated with the old hfdata. I have now solved the problem by continuing to use the old hfdata and only patching in the missing operators.

apapapostolou commented 1 year ago

Yes. I'd be happy to do that. I could also download them from somewhere (in NRW we have something like an owncloud for such things. Maybe you have something similar in BaWü).

I could share the new reference data with you via heiBOX if that's okay with you. The file is too big to upload here.

This is the corresponding heiBOX link: https://heibox.uni-heidelberg.de/d/0d319a927839459badf8/