Skip to content

Lkind check allows for irreducible exciton calculation#224

Open
palful wants to merge 2 commits intoyambo-code:5.4from
palful:5.4
Open

Lkind check allows for irreducible exciton calculation#224
palful wants to merge 2 commits intoyambo-code:5.4from
palful:5.4

Conversation

@palful
Copy link
Copy Markdown
Member

@palful palful commented Feb 19, 2026

As discussed with Alberto, currently a check at line 166 of K_driver_init would not accept Lkind='tilde' as input option for irreducible exciton calculations, although this case is coded below at line 266 of the same file and also documented at input generation via INIT_load.

The change simply recognizes Lkind='tilde' as an option to switch off the exchange part of the BSE kernel.

Also note that

Lkind='tilde'

is equivalent - but more straightforward - to

Lkind='bar'
BSENGexx = 0 RL

@andrea-ferretti
Copy link
Copy Markdown
Member

fine with me to proceed

Copy link
Copy Markdown
Member

@andrea-ferretti andrea-ferretti left a comment

Choose a reason for hiding this comment

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

fine with me

@sangallidavide
Copy link
Copy Markdown
Member

Just one comment on this point.

Instead of having to introduce a new "Lkind", I think it would be more straightforward to define the kernel approximations
BSKmod="Hartree+SEX" vs BSKmod="SEX"

The main drawback of this alternative is that, so far BSKmod="SEX" meant BSKmod="Hartree+SEX"

@palful
Copy link
Copy Markdown
Member Author

palful commented Mar 24, 2026

I agree it is largely a matter of preference. For me, I'd rather let the user focus on the fact that they are computing different response functions:

  • Lbar is the response to the total macroscopic fields
  • Lfull is the response to the external field
  • Ltilde is the response to the total (external + induced) fields

The BSKmod string instead goes more towards conceptualizing these as different approximations to an electron-hole kernel in transition space. I think it's fine as well.

The only important thing is that this information needs to be reported in a database (such as ndb.BS_diago: now it is written under a variable named X_kind) because yambopy needs it for some checks, such as when computing exciton symmetries at q=0, and in the future I plan to introduce more checks to better track the kinds of response functions used in the exciton-phonon coupling matrix elements (so the user doesn't get confused if they are computing the coupling with Lfull, Ltilde, etc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants