Page 6 of 8

Re: 2D kpoint grid being interpreted as 3D

Posted: Fri Oct 30, 2020 8:11 am
by Daniele Varsano
Dear Alan,
you are including 2 valence and 2 conduction bands. The dimension of your BSE kernel is rather small:
Nv*Nv*Nkbz=64

you can use much less CPU you are using now.
As a suggestion, parallelize first with respect k points, something like :
BS_CPU= "10 1 1" # [PARALLEL] CPUs for each role
BS_ROLEs= "k eh t"
by using 10 CPU.

Best,
Daniele

Re: 2D kpoint grid being interpreted as 3D

Posted: Fri Oct 30, 2020 1:09 pm
by arb83@cam.ac.uk
Dear Daniele

This now all works - a huge thank you for all your help in getting the code running for me!

All the best,

Alan

Re: 2D kpoint grid being interpreted as 3D

Posted: Fri Nov 13, 2020 12:03 pm
by arb83@cam.ac.uk
Dear Daniele

Apologies, one further question on this. I've increased the number of bands being considered in the BSE calculation to 20 in the valence band and 20 in the conduction band. I'm having memory problems on the last part of the BSE calculation, namely the diagonalisation. I have set the parallel option as follows:

PAR_def_mode= "balanced" # [PARALLEL] Default distribution mode ("balanced"/"memory"/"workload")
DIP_CPU= "" # [PARALLEL] CPUs for each role
DIP_ROLEs= "" # [PARALLEL] CPUs roles (k,c,v)
DIP_Threads=0 # [OPENMP/X] Number of threads for dipoles
X_CPU= "" # [PARALLEL] CPUs for each role
X_ROLEs= "" # [PARALLEL] CPUs roles (q,g,k,c,v)
X_nCPU_LinAlg_INV= 1 # [PARALLEL] CPUs for Linear Algebra
X_Threads=0 # [OPENMP/X] Number of threads for response functions
BS_CPU= "10 4 2" # [PARALLEL] CPUs for each role
BS_ROLEs= "k eh t" # [PARALLEL] CPUs roles (k,eh,t)
BS_nCPU_LinAlg_INV= 20 # [PARALLEL] CPUs for Linear Algebra
BS_nCPU_LinAlg_DIAGO= 20 # [PARALLEL] CPUs for Linear Algebra
K_Threads=0 # [OPENMP/BSK] Number of threads for response functions
NonPDirs= "none" # [X/BSS] Non periodic chartesian directions (X,Y,Z,XY...)

Can I change this in some way to allow the diagonalisation to run without running out of memory?

Best wishes,

alan

Re: 2D kpoint grid being interpreted as 3D

Posted: Fri Nov 13, 2020 12:08 pm
by Daniele Varsano
Dear alan,
you should check the dimension of your matrix and see if it is feasible to diagonalize (it is reported in the report).
My suggestions are:
1) I've seen you use BS_nCPU_LinAlg_DIAGO= 20, note this takes effects only if scalapack libraries are linked
2) Use iterative methods to diagonlize (haydock)

Best,
Daniele

Re: 2D kpoint grid being interpreted as 3D

Posted: Fri Nov 13, 2020 6:48 pm
by arb83@cam.ac.uk
Dear Daniele

Many thanks for this. Is it possible to resolve exciton energies using ypp if I use haydock diagonalisation? I tried this but ypp said the .BSS file was missing.

Best wishes,

Alan

Re: 2D kpoint grid being interpreted as 3D

Posted: Fri Nov 13, 2020 7:45 pm
by arb83@cam.ac.uk
Dear Daniele

Also, one more question - does the Haydock approach run in series or parallel (i.e. if I give it 8 cores, will it use all 8)?

Best wishes,

Alan

Re: 2D kpoint grid being interpreted as 3D

Posted: Sat Nov 14, 2020 4:33 pm
by Daniele Varsano
If you want to analyze excitons after using iterative methods you need to compile the code with the slepc support.
You can have a look at this thread.

Anyway, check if you really need such large number of bands in the BSE, usually the first excitons are converged by considering few bands across the gap.

Best,
Daniele

Re: 2D kpoint grid being interpreted as 3D

Posted: Mon Nov 16, 2020 1:15 pm
by arb83@cam.ac.uk
Dear Daniele

I'm looking at a semiconductor slab in a vacuum, and I'm interested in all the exciton states forming below the direct bandgap. While the exciton energies seem fairly well converged with ~10 bands in the valence and conduction, the oscillator strengths seem to continue changing a little (see attached plot of .eps convergence, the bandgap is 1.82eV). Would you suggest that 10 bands is sufficient or more are needed? I'm ultimately interested in plotting spatial distributions of excitons so concerned that if the oscillator strengths are changing then the wavefunctions are as well.

With best wishes,

Alan

Re: 2D kpoint grid being interpreted as 3D

Posted: Mon Nov 16, 2020 1:40 pm
by arb83@cam.ac.uk
Dear Daniele

To configure yambo to carry out BSE diagonalisation in parallel you said I needed scalapack libraries. While running configure do I also need to use the line:

--enable-par-linalg

? With best wishes,

Alan

Re: 2D kpoint grid being interpreted as 3D

Posted: Mon Nov 16, 2020 1:53 pm
by Daniele Varsano
Dear Alan,
in my opinion, the spectrum is rather well converged and the spatial distribution of the exciton will be not affected.

Code: Select all

--enable-par-linalg
yes, this keyword will trigger the linking (and eventually to the compilation) of the scalapack libraries.
Best,
Daniele