Skip to content
This repository has been archived by the owner on Sep 28, 2021. It is now read-only.

Dynamical screening in BSE as perturbation #560

Merged
merged 11 commits into from
Sep 25, 2020
Merged

Conversation

baumeier
Copy link
Member

@baumeier baumeier commented Sep 22, 2020

Implements #3 by evaluating direct part of the BSE Hamiltonian at frequency of the static BSE solution and evaluating
delta Omega_S = <S|Hd(Omega_S)-Hd(0)|S> iteratively.

Reuses the existing BSE analysis routines as much as possible.

Still to do:

  • Reformulate Analyze_IndividualContribution to perform analysis only on a given state, not all.
  • tests

@baumeier
Copy link
Member Author

@JensWehner this is the current WIP situation. Maybe you can have a look already.

include/votca/xtp/bse.h Outdated Show resolved Hide resolved
src/libxtp/gwbse/bse.cc Outdated Show resolved Hide resolved
src/libxtp/gwbse/bse.cc Outdated Show resolved Hide resolved
src/libxtp/gwbse/bse.cc Outdated Show resolved Hide resolved
@codecov
Copy link

codecov bot commented Sep 22, 2020

Codecov Report

Merging #560 into master will increase coverage by 0.1%.
The diff coverage is 88.4%.

Impacted file tree graph

@@           Coverage Diff            @@
##           master    #560     +/-   ##
========================================
+ Coverage    57.0%   57.2%   +0.1%     
========================================
  Files         312     312             
  Lines       32296   32434    +138     
========================================
+ Hits        18440   18565    +125     
- Misses      13856   13869     +13     
Impacted Files Coverage Δ
include/votca/xtp/bse.h 100.0% <ø> (ø)
include/votca/xtp/gwbse.h 0.0% <ø> (ø)
src/libxtp/gwbse/gwbse.cc 0.0% <0.0%> (ø)
src/libxtp/gwbse/bse.cc 86.1% <96.2%> (+4.0%) ⬆️
include/votca/xtp/orbitals.h 83.6% <100.0%> (+0.6%) ⬆️
src/libxtp/orbitals.cc 69.2% <100.0%> (+0.5%) ⬆️

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 ded0ea7...ed223df. Read the comment docs.

Bjoern Baumeier and others added 3 commits September 22, 2020 20:46
Co-authored-by: Jens <jenswehner@gmail.com>
Co-authored-by: Jens <jenswehner@gmail.com>
…y eigen::vector, still uses existing analysis function
@baumeier
Copy link
Member Author

Additional question: The Perturbative_DynamicalScreening function is just a void return, and the corrected energies are simply written to screen. Probably should be stored somewhere too, either as a separate entry in orbitals or overwriting the static energies. Any suggestion?

@JensWehner
Copy link
Member

Yeah that is a good question, I think you could add it to the orbitals file as a new entry. Overwriting the static bse result does not sound like a good idea, because in some sense it is a post-processing step. Storing the new energies is also not a lot of memory.

Eigen::VectorXd Analyze_IndividualContribution(const QMStateType& type,
const Orbitals& orb,
const BSE_OPERATOR& H) const;
Eigen::VectorXd ExpectationValue_Operator(const QMStateType& type,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

strictly speaking the signature should be something like const tools::EigenSystem,const BSE_OPERATOR& H)`

src/libxtp/orbitals.cc Outdated Show resolved Hide resolved
Copy link
Member

@JensWehner JensWehner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The gwbse options have to be parsed through to the appropriate xml files. Also it needs some tests. The rest looks good.

@baumeier
Copy link
Member Author

The gwbse options have to be parsed through to the appropriate xml files. Also it needs some tests. The rest looks good.

Working on tests, what about the options? I still have to add them to the default xml but otherwise they are passed through, aren't they?

@JensWehner
Copy link
Member

dftgwbse.xml, iqm, eqm, qmmm

@JensWehner
Copy link
Member

The nested xml packages was not such a bad idea afterall.

@baumeier
Copy link
Member Author

The nested xml packages was not such a bad idea afterall.

Yeah, for those parts that are reused in different calculators, it has some advantages...

@baumeier baumeier marked this pull request as ready for review September 25, 2020 12:22
Copy link
Member

@JensWehner JensWehner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work

@JensWehner JensWehner merged commit cd04579 into master Sep 25, 2020
@JensWehner JensWehner deleted the dynamicalScreening_BSE branch September 25, 2020 13:37
votca-bot added a commit to votca/votca that referenced this pull request Sep 25, 2020
@baumeier baumeier linked an issue Sep 25, 2020 that may be closed by this pull request
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dynamic screening effects in BSE
2 participants