Empty Screening input file

Concerns issues with computing quasiparticle corrections to the DFT eigenvalues - i.e., the self-energy within the GW approximation (-g n), or considering the Hartree-Fock exchange only (-x)

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano

KinawyM
Posts: 9
Joined: Sat Sep 30, 2023 2:10 pm

Empty Screening input file

Post by KinawyM » Sun Oct 01, 2023 9:41 am

Dear all,

I am trying to calculate the optical absorption spectrum of a silicate compound but when I try to create an input file to calculate static screening using the command "yambo -X s -F Screening.in", Yambo generates an empty input file. The initialization and p2y steps worked with no errors.

I also tried including the "NoDiagSC" in an install file and re initialized the calculations, but it yielded another error as follows;

[ERROR] STOP signal received while in[03] Transferred momenta grid and indexing
[ERROR] [RL indx] error in mapping

Please find the ground state and yambo files attached. The "r_setup" is the report after initializations without including "NoDiagSC", and the "r_setup_01" is the one after.

I will be very grateful for your help and thoughts,

Mohamed,
PhD student, Ain Shams University, Egypt
You do not have the required permissions to view the files attached to this post.
Mohamed
PhD student, Ain Shams University, Egypt

User avatar
Daniele Varsano
Posts: 3816
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Empty Screening input file

Post by Daniele Varsano » Mon Oct 02, 2023 4:08 pm

Dear Mohamed,

the problem here is that Yambo does not recognize your k point grid as uniform. As you can see in your r_setup report:

Code: Select all

 [WR./SAVE//ndb.kindx]-----------------------------------------------------------
  Fragmentation                                    : no
  Polarization last K ( bz)                        :  3072
  Polarization last K (ibz)                        :   806
  QP states                                        :     1   806
  X grid is uniform                                : no
Usually this is solved by adding the keyword NoDiagSC.
If this does not solve the problem, inspect your QE input file, you can try to change the k point sampling.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

KinawyM
Posts: 9
Joined: Sat Sep 30, 2023 2:10 pm

Re: Empty Screening input file

Post by KinawyM » Tue Oct 03, 2023 1:15 pm

Dear Daniele,

Thanks for your reply, time, and concern. Changing the K-grid from 0.5NNN to NNN solved the problem of creating empty input files. But does this mean I can only chose a NNN grid so that Yambo identify it as a uniform one? Although, in the hBN tutorial a grid of 662 was used and Yambo didn't recognize it as non-uniform.


All the best,
Mohamed
PhD student, Ain Shams University, Egypt
Mohamed
PhD student, Ain Shams University, Egypt

User avatar
Daniele Varsano
Posts: 3816
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Empty Screening input file

Post by Daniele Varsano » Wed Oct 04, 2023 7:43 am

Dear Mohamed,
But does this mean I can only chose a NNN grid so that Yambo identify it as a uniform one?
No, this is not a constraint. It seems that in your calculation you have come across an unfortunate situation where yambo has difficulties in building up a regular q point grid.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

KinawyM
Posts: 9
Joined: Sat Sep 30, 2023 2:10 pm

Re: Empty Screening input file

Post by KinawyM » Fri Oct 06, 2023 9:06 am

Dear Daniele,

Thanks again for your concern. Now 'everything-1' works fine. This one thing is the diagonalization of the BSE kernel. I ran the diagonalization step using 24 cores for an nscf K-grid of 121212 and everything worked well. But when I tried to run it for an nscf K-grid of 141414 and keeping every Yambo input file intact, it kept crashing with different errors like "insufficient memory" and "=SIGNAL KILLED".

Any idea about the cause of such errors? Is it related to parallelism of Yambo? and if so, is there a certain strategy to assign the correct number of cores to a specific case?

All the best and beyond,
Mohamed
PhD student, Ain Shams University, Egypt

User avatar
Daniele Varsano
Posts: 3816
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Empty Screening input file

Post by Daniele Varsano » Fri Oct 06, 2023 9:08 am

Dear Mohamed,

you can tune the parallelization strategy to distribute the memory among CPUs.
There are specific variables to be assigned, but in order to guide, you should provide an input/report/log file in order to see in which part of the calculation the code is crashing.

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

KinawyM
Posts: 9
Joined: Sat Sep 30, 2023 2:10 pm

Re: Empty Screening input file

Post by KinawyM » Fri Oct 06, 2023 1:22 pm

Dear Daniele,

Here you are attached the Yambo input and output files. Thanks a ton for your time.

Best regards,
Mohamed
You do not have the required permissions to view the files attached to this post.
Mohamed
PhD student, Ain Shams University, Egypt

User avatar
Daniele Varsano
Posts: 3816
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Empty Screening input file

Post by Daniele Varsano » Mon Oct 09, 2023 3:28 pm

Dear Mohamed,
indeed, you have a quite large matrix. You can try to solve the BSE iteratively:
If you are interested in the spectrum and not in the eigenvectors, you can try to set haydock solver:
BSSmod= "h"
You can also obtain first eigenvectors by using slepc library, but you would need to recompile the code asking for that using the flag --enable-slepc-linalg (in configure).

You can also try to diagonalize as you are oding now by using parallel linear algebra (scalapack) by using the flag --enable-par-linalg whren configuring.

Finally, please note that 2Ry in BSENGBlk and particularly for BSENGexx are most probably out of convergence.
Consider also that in the case you can lower the BSEBands window, this will reduce a lot the matrix dimension and it would help a lot.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

KinawyM
Posts: 9
Joined: Sat Sep 30, 2023 2:10 pm

Re: Empty Screening input file

Post by KinawyM » Tue Oct 10, 2023 8:27 am

Dear Daniele,

Yes, I am only interested in the optical spectrum and I have tried haydoc solver with one case and it worked well and fast. But when I try to widen the bands window, Yambo yields different errors in the step of creating the BSE kernel.

"You can also try to diagonalize as you are doing now by using parallel linear algebra (scalapack) by using the flag --enable-par-linalg when configuring."

I will try it out and see what Yambo says. Thanks again.

"Finally, please note that 2Ry in BSENGBlk and particularly for BSENGexx are most probably out of convergence.
Consider also that in the case you can lower the BSEBands window, this will reduce a lot the matrix dimension and it would help a lot."

Yeah, I am trying to converge the BSENGBlk and the BSEBands but it seems it will take quit a lot of time to just understand how to assign the correct number of cores to each case.

All the best,

Mohamed
Mohamed
PhD student, Ain Shams University, Egypt

User avatar
Daniele Varsano
Posts: 3816
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Empty Screening input file

Post by Daniele Varsano » Tue Oct 10, 2023 10:24 am

Dear Mohamed,

most probably, you need to increase the number of nodes to have available to build the kernel.
You can then try to use different combination of the parallelization strategy for building the kernel:
BS_CPU= " n_k n_eh n_t" # [PARALLEL] CPUs for each role
BS_ROLEs= "k eh t" # [PARALLEL] CPUs roles (k,eh,t)

To have an estimation of the memory needed, you can recompile the code using the flag --enable-memory-profile in the configure procedure.
This will give you an estimation of the memory used in each step of the calculation ion the LOG files.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Post Reply