votca / xtp

GW-BSE for excited state Quantum Chemistry in a Gaussian Orbital basis, electronic spectroscopy with QM/MM, charge and energy dynamics in complex molecular systems
29 stars 16 forks source link

Update qmm moptions #722

Closed rubengerritsen closed 3 years ago

rubengerritsen commented 3 years ago

While preparing the tutorial we found it hard to do a QMMM calculation on a few or just one segment. I have added an option in the qmmm to take care of that.

We also need an option to use ground state geometries for the excited state calculations. Now for an s1 state calculation the job file will have

<segments>0:s1</segments>

we also want it to be able to print <segments>0:n</segments> for the s1 state. This option will be added shortly

JensWehner commented 3 years ago

Sorry what, I do not understand

JensWehner commented 3 years ago

I am not sure that is needed.

rubengerritsen commented 3 years ago

Yeah it is, if you want to do QMMM on a single segment you can't (or I don't know how). The example use case for the tutorial is acetone in water, we don't want to do QM on water. We only want to do the QM on the acetone but in a polarizable environment. Now you first create the complete job file with xtp_parallel blablabla, you get a really long job file, next delete all the jobs you don't need (you only need one or two so you delete approx 99.9% of all jobs manually) and change the geometry back to n manually. Now you can do that stuff in the options.

JensWehner commented 3 years ago

Just write a small jobfile by hand?

JensWehner commented 3 years ago

Maybe your idea is really good actually, let me have a think.

codecov[bot] commented 3 years ago

Codecov Report

Merging #722 (d9e4939) into master (b677c32) will decrease coverage by 0.0%. The diff coverage is 0.0%.

Impacted file tree graph

@@           Coverage Diff            @@
##           master    #722     +/-   ##
========================================
- Coverage    51.4%   51.3%   -0.1%     
========================================
  Files         293     293             
  Lines       27229   27253     +24     
========================================
  Hits        14006   14006             
- Misses      13223   13247     +24     
Impacted Files Coverage Δ
src/libxtp/jobcalculators/qmmm.cc 0.0% <0.0%> (ø)
src/libxtp/jobcalculators/qmmm.h 0.0% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update b677c32...d9e4939. Read the comment docs.

JensWehner commented 3 years ago

So I had a thought. I agree that it is a good idea to restrict the number of segments jobs are created for.

For the second part I am not so sure about, because in the end the jobfile has a lot of flexibility and there is no way we can produce all of it from the calculator options. I always expected users to either use python or manually write the complicated jobfiles.

For the tutorial I would just say write the 1-3 jobs you want to perform per hand and put it in the tutorial. We also do that in the other tutorials.

If you want to create more complicated jobfiles from the options, I would like to have a better syntax.

So to summarize for the tutorial I do not see the need. In the future we can either provide more python scripts, like https://github.com/votca/xtp/pull/535 or have a terse syntax to make jobfile creation more flexible( I would like to have that for eqm and stuff as well then).

We also have wildcard support in general, so we could explore that.