adcc icon indicating copy to clipboard operation
adcc copied to clipboard

Full and approximate polaritonic ADC energies up to second order

Open BauerMarco opened this issue 3 years ago • 4 comments

In the following polaritonic is always referred to by QED (Quantum Electrodynamics)

Features:

  • QED-MP up to second order from QED-HF reference and standard HF
  • QED-ADC up to second order from QED-HF
  • QED-ADC up to first order from standard HF
  • Method, which approximates QED-ADC up to second order from QED-HF

All features have been tested thoroughly, although only the methods based on a QED-HF reference should be used, since they are available up to second order. One can also request QED-ADC(2) from a QED-HF reference with the polaritonic coupling only expanded up to first order, which is correct, but it is not sure, how useful this feature really is...This has to be tested in a future benchmark.

New Keywords:

  • coupl: Coupling strength to the cavity mode
  • freq: Energy of the cavity mode
  • qed_hf: Whether a QED-HF reference is provided or not (default is True)
  • qed_approx: Use standard or approximated method (default is False, but should be set to True after a proper benchmark)
  • qed_full_diag: If full diagonalization of the QED matrix is requested (with qed_approx = False), you should use this guess

Additional comments:

  • The tests do not use a QED-HF reference, but still use qed_hf = True, so they can still be tested with any of the possible backend options adcc provides.
  • As far as I know, there are two QED-HF reference implementations available from open source, which are the hilbert package developed by the DePrince group, which is a plugin to the psi4 programm package, and an other quite basic implementation in the Polaritonic section of the psi4numpy, which is meant for educational purposes, but can be used just as well as the hilbert package. I will provide some examples for the website, after the reviewing process is done.
  • I should mention, that the corresponding paper is not published yet, so I could not reference it at the appropriate places in the code.

BauerMarco avatar Aug 09 '22 12:08 BauerMarco

This pull request introduces 4 alerts when merging 671183b6902dde3b279e07204e38599c3ba9e01e into e58bc07cee2a47fb5967ca46e50a66c27ef9bda9 - view on LGTM.com

new alerts:

  • 3 for Unused exception object
  • 1 for Testing equality to None

lgtm-com[bot] avatar Aug 09 '22 12:08 lgtm-com[bot]

Thanks for the contribution! This will, however, take some time to digest, but there are probably ways to make the integration of QED less "invasive" in the existing code structure, right @mfherbst? 👍

maxscheurer avatar Aug 10 '22 10:08 maxscheurer

Cool! Thanks for the contribution @BauerMarco.

Indeed, quite a bit of code. Some looks like duplications that can be avoided. I have to admit that I lack the time to review the code without some explanation what's going on. Would be good to have a chat at some point.

mfherbst avatar Aug 28 '22 14:08 mfherbst

Cool! Thanks for the contribution @BauerMarco.

Indeed, quite a bit of code. Some looks like duplications that can be avoided. I have to admit that I lack the time to review the code without some explanation what's going on. Would be good to have a chat at some point.

I am available after the STC ends (22nd of september) and would very much appreciate to have a chat.

BauerMarco avatar Sep 09 '22 08:09 BauerMarco