i'm using Yambo v3.4.1 in order to calculate GW corrections on my silicene 1D system.

First, I performed a nscf calculation, setting 25 k-points and 250 bands. I was able to reach the convergence of some parameters, using 2 nodes of my local cluster (48GB RAM and 12 cores for each node).

Then, to reach the convergence of other parameters ( BndsRnXp and GbndRnge), I performed another nscf calculation, increasing the number of bands up to 350, and mantaining 25 k-points. Now Yambo requires a lot of memory to performe the calculation, even if I decrease the value of each parameter.

As you can see in the attachments, if I set 250 bands, I'm able to perform the following calculation using 2 nodes (12 cores per node):

# | em1d # [R Xd] Dynamical Inverse Dielectric Matrix

# | ppa # [R Xp] Plasmon Pole Approximation

# | HF_and_locXC # [R XX] Hartree-Fock Self-energy and Vxc

# | gw0 # [R GW] GoWo Quasiparticle energy levels

# | FFTGvecs= 15 Ry # [FFT] Plane-waves

# | EXXRLvcs= 15 Ry # [XX] Exchange RL components

# | Chimod= "Hartree" # [X] IP/Hartree/ALDA/LRC/BSfxc

# | % BndsRnXp

# | 1 | 250 | # [Xp] Polarization function bands

# | %

# | NGsBlkXp= 3 Ry # [Xp] Response block size

# | % LongDrXp

# | 0.1000E-4 | 0.000 | 0.000 | # [Xp] [cc] Electric Field

# | %

# | PPAPntXp= 27.21138 eV # [Xp] PPA imaginary energy

# | % GbndRnge

# | 1 | 220 | # [GW] G[W] bands range

# | %

# | GDamping= 0.10000 eV # [GW] G[W] damping

# | dScStep= 0.10000 eV # [GW] Energy step to evalute Z factors

# | DysSolver= "n" # [GW] Dyson Equation solver (`n`,`s`,`g`)

# | %QPkrange # [GW] QP generalized Kpoint/Band indices

# | 1| 25| 57| 70|

# | %

# | %QPerange # [GW] QP generalized Kpoint/Energy indices

# | 1| 25| 0.0|-1.0|

# | %

When i set 350 bands, i need 4 nodes (using only 2 cores per node, otherwise the memory consumption is too high) to perform this apparently softer calculation:

# | em1d # [R Xd] Dynamical Inverse Dielectric Matrix

# | ppa # [R Xp] Plasmon Pole Approximation

# | HF_and_locXC # [R XX] Hartree-Fock Self-energy and Vxc

# | gw0 # [R GW] GoWo Quasiparticle energy levels

# | BoseTemp= 0.000000 eV # Bosonic Temperature

# | EXXRLvcs= 5 Ry # [XX] Exchange RL components

# | Chimod= "Hartree" # [X] IP/Hartree/ALDA/LRC/BSfxc

# | % BndsRnXp

# | 1 | 100 | # [Xp] Polarization function bands

# | %

# | NGsBlkXp= 1 Ry # [Xp] Response block size

# | % LongDrXp

# | 0.1000E-4 | 0.000 | 0.000 | # [Xp] [cc] Electric Field

# | %

# | PPAPntXp= 27.21138 eV # [Xp] PPA imaginary energy

# | % GbndRnge

# | 1 | 100 | # [GW] G[W] bands range

# | %

# | GDamping= 0.10000 eV # [GW] G[W] damping

# | dScStep= 0.10000 eV # [GW] Energy step to evalute Z factors

# | DysSolver= "n" # [GW] Dyson Equation solver (`n`,`s`,`g`)

# | %QPkrange # [GW] QP generalized Kpoint/Band indices

# | 1| 25| 59| 70|

# | %

# | %QPerange # [GW] QP generalized Kpoint/Energy indices

# | 1| 25| 0.0|-1.0|

# | %

So, I would like to ask if Yambo stores in memory all the bands and then uses only the ones I asked for, and if there is a way to reduce this memory consumption.

Thank you

Best,

Matteo