Skip to content

Add frequency-dependent LoProp polarizabilities

Peter Reinholdt requested to merge frequency-dependent-polarizabilities into master

This MR adds frequency-dependent loprop polarizabilities.
The existing infrastructure is mostly unmodified, i.e., the polarizabilities still use the same polarizability_method and polarizability_model and so on.

I added a polarizability_frequency method, which is used in the InputWriters if the frequency is non-zero (default). The ScriptWriters does not know anything about what frequency is being run (and this an argument to the loprop run-script), so I grep it from the .dal file if needed.

The regular loprop readers should work for both normal and frequency-dependent polarizabilities, as they still have the same format, and only a single frequency (either 0.0 or some number) is being outputted.

The loprop program has support for two types frequency-dependent polarizabilities.

  • normal frequency-dependent polarizabilities (goes to +/- infinity at excitation energies)
  • damped response frequency-dependent polarizabilities (i.e., via *ABSORP)

I implemented the first one, but maybe the latter could also be relevant?

Todo:

  • Add tests
    • No tests (or coverage) for the
  • Discuss writer input format
    • Is there a way to avoid ugly if-statements in the runner-scripts?
    • Is this the type of output we want? For "practical" use, at least two sets of polarizabilities (static + frequency-depenedent) are required, since some operators are frequency-independent (see "Assessing frequency-dependent site polarisabilities in linear response polarisable embedding").
  • Discuss type of frequency-dependent polarizability
    • Should we use damped or not?
  • Add to changelog

Description

Adds frequency-dependent loprop polarizabilities.

Types of changes

  • New feature (non-breaking change which adds functionality)
Edited by Peter Reinholdt

Merge request reports

Loading