Page **1** of **1**

### non-interacting response for BSE

Posted: **Fri Mar 03, 2023 8:10 pm**

by **milesj**

Simple question here:

I noticed that for uniform k-grids like 4x4x4, 6x6x6, etc, yambo seems to calculate X0 for many q - points as in the picture. If I instead use 2x6x6 or 4x8x8, which I am interested in because I'm working with a layered material (though still in bulk), it seems to skip all these steps and only refers to @q1 in the following steps. Is computing X0 at a bunch of q - points then irrelevant to the optical absorption, and if so is there a way to stop the code from doing that for a uniform grid? If so it would speed up my calculations considerably.

Thanks,

Miles

### Re: non-interacting response for BSE

Posted: **Sat Mar 04, 2023 11:39 am**

by **Daniele Varsano**

Dear Miles,

can you explain better what's your problem?

In general, Yambo calculates X for all q when it is needed, e.g. to compute the screening interaction.

Please post your input file and we can have a look.

Best,

Daniele

### Re: non-interacting response for BSE

Posted: **Sun Mar 05, 2023 8:19 pm**

by **milesj**

Hi Daniele,

Below is my input, and I've attached log files for when I run this input on a 662 and 666 grid. I've essentially just followed the BSE tutorial and now I'm trying to converge the k-grid, and hoping that since my material is layered it won't need to be as dense in the z direction, but I noticed it seems to skip computing X0 at a bunch of different q points when I run it on the 662 grid (I also observe this difference when I run it on an 884 vs 888 grid).

Thanks,

Miles

Code: Select all

```
#
# : ::: ::: :::: :::: ::::::::: ::::::::
# :+: :+: :+: :+: +:+:+: :+:+:+ :+: :+: :+: :+
# +:+ +:+ +:+ +:+ +:+ +:+:+ +:+ +:+ +:+ +:+ +:+
# +#++: +#++:++#++: +#+ +:+ +#+ +#++:++#+ +#+ +:+
# +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+
# #+# #+# #+# #+# #+# #+# #+# #+# #+#
# ### ### ### ### ### ######### ########
#
#
# Version 5.1.0 Revision 21422 Hash (prev commit) fde6e2a07
# Branch is
# MPI+OpenMP+HDF5_IO Build
# http://www.yambo-code.org
#
em1s # [R][Xs] Statically Screened Interaction
optics # [R] Linear Response optical properties
bss # [R] BSE solver
bse # [R][BSE] Bethe Salpeter Equation.
dipoles # [R] Oscillator strenghts (or dipoles)
FFTGvecs= 18995 RL # [FFT] Plane-waves
DIP_Threads=0 # [OPENMP/X] Number of threads for dipoles
X_Threads=0 # [OPENMP/X] Number of threads for response functions
K_Threads=0 # [OPENMP/BSK] Number of threads for response functions
Chimod= "HARTREE" # [X] IP/Hartree/ALDA/LRC/PF/BSfxc
BSEmod= "resonant" # [BSE] resonant/retarded/coupling
BSKmod= "SEX" # [BSE] IP/Hartree/HF/ALDA/SEX/BSfxc
BSSmod= "d" # [BSS] (h)aydock/(d)iagonalization/(s)lepc/(i)nversion/(t)ddft
BSENGexx= 18995 RL # [BSK] Exchange components
BSENGBlk= 3 Ry # [BSK] Screened interaction block size [if -1 uses all the G-vectors of W(q,G,Gp)]
#WehCpl # [BSK] eh interaction included also in coupling
KfnQPdb= "none" # [EXTQP BSK BSS] Database action
KfnQP_INTERP_NN= 1 # [EXTQP BSK BSS] Interpolation neighbours (NN mode)
KfnQP_INTERP_shells= 20.00000 # [EXTQP BSK BSS] Interpolation shells (BOLTZ mode)
KfnQP_DbGd_INTERP_mode= "NN" # [EXTQP BSK BSS] Interpolation DbGd mode
% KfnQP_up_E
0.000000 | 1.000000 | 1.000000 | # [EXTQP BSK BSS] E parameters UP (c/v) eV|adim|adim
%
KfnQP_up_Z= ( 1.000000 , 0.000000 ) # [EXTQP BSK BSS] Z factor UP (c/v)
KfnQP_up_Wv_E= 0.000000 eV # [EXTQP BSK BSS] W Energy reference UP (valence)
% KfnQP_up_Wv
0.000000 | 0.000000 | 0.000000 | # [EXTQP BSK BSS] W parameters UP (valence) eV| 1|eV^-1
%
KfnQP_up_Wv_dos= 0.000000 eV # [EXTQP BSK BSS] W dos pre-factor UP (valence)
KfnQP_up_Wc_E= 0.000000 eV # [EXTQP BSK BSS] W Energy reference UP (conduction)
% KfnQP_up_Wc
0.000000 | 0.000000 | 0.000000 | # [EXTQP BSK BSS] W parameters UP (conduction) eV| 1 |eV^-1
%
KfnQP_up_Wc_dos= 0.000000 eV # [EXTQP BSK BSS] W dos pre-factor UP (conduction)
% KfnQP_dn_E
0.000000 | 1.000000 | 1.000000 | # [EXTQP BSK BSS] E parameters DOWN (c/v) eV|adim|adim
%
KfnQP_dn_Z= ( 1.000000 , 0.000000 ) # [EXTQP BSK BSS] Z factor DOWN (c/v)
KfnQP_dn_Wv_E= 0.000000 eV # [EXTQP BSK BSS] W Energy reference DOWN (valence)
% KfnQP_dn_Wv
0.000000 | 0.000000 | 0.000000 | # [EXTQP BSK BSS] W parameters DOWN (valence) eV| 1|eV^-1
%
KfnQP_dn_Wv_dos= 0.000000 eV # [EXTQP BSK BSS] W dos pre-factor DOWN (valence)
KfnQP_dn_Wc_E= 0.000000 eV # [EXTQP BSK BSS] W Energy reference DOWN (conduction)
% KfnQP_dn_Wc
0.000000 | 0.000000 | 0.000000 | # [EXTQP BSK BSS] W parameters DOWN (conduction) eV| 1 |eV^-1
%
KfnQP_dn_Wc_dos= 0.000000 eV # [EXTQP BSK BSS] W dos pre-factor DOWN (conduction)
BSEprop= "abs" # [BSS] Can be any among abs/jdos/kerr/magn/dich/photolum/esrt
BSEdips= "none" # [BSS] Can be "trace/none" or "xy/xz/yz" to define off-diagonal rotation plane
% BSEQptR
1 | 1 | # [BSK] Transferred momenta range
%
% BSEBands
75 | 90 | # [BSK] Bands range
%
% BEnRange
0.00000 | 2.00000 | eV # [BSS] Energy range
%
% BDmRange
0.0100000 | 0.0100000 | eV # [BSS] Damping range
%
BEnSteps= 200 # [BSS] Energy steps
% BLongDir
0.000000 | 1.000000 | 1.000000 | # [BSS] [cc] Electric Field
%
#WRbsWF # [BSS] Write to disk excitonic the WFs
XfnQPdb= "none" # [EXTQP Xd] Database action
XfnQP_INTERP_NN= 1 # [EXTQP Xd] Interpolation neighbours (NN mode)
XfnQP_INTERP_shells= 20.00000 # [EXTQP Xd] Interpolation shells (BOLTZ mode)
XfnQP_DbGd_INTERP_mode= "NN" # [EXTQP Xd] Interpolation DbGd mode
% XfnQP_up_E
0.000000 | 1.000000 | 1.000000 | # [EXTQP Xd] E parameters UP (c/v) eV|adim|adim
%
XfnQP_up_Z= ( 1.000000 , 0.000000 ) # [EXTQP Xd] Z factor UP (c/v)
XfnQP_up_Wv_E= 0.000000 eV # [EXTQP Xd] W Energy reference UP (valence)
% XfnQP_up_Wv
0.000000 | 0.000000 | 0.000000 | # [EXTQP Xd] W parameters UP (valence) eV| 1|eV^-1
%
XfnQP_up_Wv_dos= 0.000000 eV # [EXTQP Xd] W dos pre-factor UP (valence)
XfnQP_up_Wc_E= 0.000000 eV # [EXTQP Xd] W Energy reference UP (conduction)
% XfnQP_up_Wc
0.000000 | 0.000000 | 0.000000 | # [EXTQP Xd] W parameters UP (conduction) eV| 1 |eV^-1
%
XfnQP_up_Wc_dos= 0.000000 eV # [EXTQP Xd] W dos pre-factor UP (conduction)
% XfnQP_dn_E
0.000000 | 1.000000 | 1.000000 | # [EXTQP Xd] E parameters DOWN (c/v) eV|adim|adim
%
XfnQP_dn_Z= ( 1.000000 , 0.000000 ) # [EXTQP Xd] Z factor DOWN (c/v)
XfnQP_dn_Wv_E= 0.000000 eV # [EXTQP Xd] W Energy reference DOWN (valence)
% XfnQP_dn_Wv
0.000000 | 0.000000 | 0.000000 | # [EXTQP Xd] W parameters DOWN (valence) eV| 1|eV^-1
%
XfnQP_dn_Wv_dos= 0.000000 eV # [EXTQP Xd] W dos pre-factor DOWN (valence)
XfnQP_dn_Wc_E= 0.000000 eV # [EXTQP Xd] W Energy reference DOWN (conduction)
% XfnQP_dn_Wc
0.000000 | 0.000000 | 0.000000 | # [EXTQP Xd] W parameters DOWN (conduction) eV| 1 |eV^-1
%
XfnQP_dn_Wc_dos= 0.000000 eV # [EXTQP Xd] W dos pre-factor DOWN (conduction)
% BndsRnXs
1 | 200 | # [Xs] Polarization function bands
%
NGsBlkXs= 3 Ry # [Xs] Response block size
% LongDrXs
1.000000 | 1.000000 | 1.000000 | # [Xs] [cc] Electric Field
%
XTermKind= "none" # [X] X terminator ("none","BG" Bruneval-Gonze)
```

### Re: non-interacting response for BSE

Posted: **Mon Mar 06, 2023 11:44 pm**

by **milesj**

It seems to be deciding to only work with q1 during the setup. Does this mean there is something incompatible with my quantum espresso calculation? In quantum espresso I've defined the k-grid as 2x6x6 (rather than 6x6x2 - I did this because the magnetization is in plane so to have that along the z direction I have the planes stacked in the x direction). Does yambo require a nonuniform k-grid to only be different in the z direction? From the log it seems to interpret the grid as 6x6x2 rather than 2x6x6.

Thanks,

Miles

### Re: non-interacting response for BSE

Posted: **Tue Mar 07, 2023 8:20 am**

by **Daniele Varsano**

Dear Miles,

1) Regarding your first post, even if for the absorption you need the response function for q=0 only, as you are doing a BSE calculation you need the RPA response function X to build the screening for all q in order to construct the BSE kernel.

2)As you spotted here the problem is that yambo does not recognize the grid as uniform, in this case it switches to a gamma only calculation. The BZ sampling needs to be uniform:

1. Be sure you set force_symmorphic=.true. in your qe input

2. you can try to repeat the setup by adding the keyword (NoDiagSC) in your yambo setup input file. Before doing that, delete the ndb* file in your directory. See if this solve your problem.

Best,

Daniele

### Re: non-interacting response for BSE

Posted: **Thu Mar 09, 2023 9:07 am**

by **milesj**

Hi Daniele,

It looks like adding NoDiagSC fixed it, thanks! Out of curiosity, what exactly does adding this keyword do?

Thanks,

Miles

### Re: non-interacting response for BSE

Posted: **Thu Mar 09, 2023 10:49 am**

by **Daniele Varsano**

Dear Miles,

great it is solved.

The NoDiagSC trigger an algorithm alternative to the standard one to generate the Q points grid, that sometimes is more accurate when dealing with non diagonal cells.

Best,

Daniele