dipole and band structure

Anything regarding the post-processing utility (e.g. excitonic wavefunction analysis) is dealt with in this forum.

Moderators: Davide Sangalli, andrea marini, Daniele Varsano

Post Reply
a.ugolotti
Posts: 23
Joined: Fri Sep 29, 2017 3:53 pm

dipole and band structure

Post by a.ugolotti » Wed May 15, 2019 8:53 am

Dear Yamboers,

I am trying to extract the transition dipole matrix elements (in the simplest IP-RPA approximation) along a specific path in the brilloiun zone. Since the code requires a uniform grid to perform calculation, I wonder how I can get Yambo to at least include such points.
I tried to use ypp -k k to generate a larger uniform grid including the bands k points, but only a few of them are included in the output. (By the way, is there a way to redirect the output from terminal to file? I tried several operators, namely >, >>, >&, 2>& but none worked. The file is always empty.)

Therefore I tried to use ypp -s b to perform some kind of interpolation, obviously without any QP energy database, but I get this error message:

<---> [INTERPOLATION] Errors: Max, Avg, Avg_rel = 9.44733620E-06 1.21712606E-06 5.77973924E-06At line 612 of file mod_com.f90
Fortran runtime error: End of record

These are the inputs for the two test runs, respectively:
ypp -k k:

Code: Select all

bzgrids                        # [R] BZ Grid
K_grid                         # [R] K-grid analysis
#NoWeights                     #  Do not print points weight
cooIn= "rlu"                   # Points coordinates (in) cc/rlu/iku/alat
cooOut= "rlu"                  # Points coordinates (out) cc/rlu/iku/alat
ListPts                       #  List the internal q/k points also in the parser format
ExpandPts                     #  Expand the internal q/k points in the BZ
%GWKpts                      # K points list
0.0000000 | 0.0000000 | 0.0000000|
0.0250000 | 0.0000000 | 0.0000000|
... list of the rest of k-point in the path
ypp -s b

Code: Select all

electrons                      # [R] Electrons (and holes)
bnds                           # [R] Bands
cooIn= "rlu"                   # Points coordinates (in) cc/rlu/iku/alat
BANDS_steps=20                  # Number of divisions
% INTERPGrid
-1 |-1 |-1 |                             # Interpolation BZ Grid
%
ShellFac= 20.00000             # The bigger it is a higher number of shells is used
GfnQPdb= "none"                # [EXTQP G] Database
GfnQP_N= 1             
%QPkrange                    #  generalized Kpoint/Band indices
  1|144|  1| 20|
%
%BKpts                       # K points of the bands circuit
0.00000 |0.00000 |0.00000 |
0.50000 |0.00000 |0.00000 | #M
0.33338 |0.33325 |0.00000 | #K
0.00000 |0.00000 |0.00000 |
%
Is this somehow doable? What am I missing?

Thank you in advance,
Aldo Ugolotti

PhD student
Department of Materials Science
University of Milano-Bicocca
via Cozzi, 55, 20125 Milano
Italy

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

Re: dipole and band structure

Post by Daniele Varsano » Wed May 15, 2019 9:08 am

Dear Aldo,
the ypp -k k utility it is meant to produce a grid including a specified k point compatible to the uniform q grid you have in the database, so it won't work for an entire path.
In order to have the output grid on a file, an easy way is to modify the source in:
ypp/k-points/k_grids.F

409 call msg("s",' ',trim(ch))
inserting here a write command printng trim(ch)

and recompile.


About the band interpolation, it is possible it is a formatting problem, can you try to reduce the number of interpolated bands? e.g. 15 instead 20?

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/

a.ugolotti
Posts: 23
Joined: Fri Sep 29, 2017 3:53 pm

Re: dipole and band structure

Post by a.ugolotti » Wed May 15, 2019 9:50 am

Hello Daniele,

thanks for you quick reply. I did try to reduce the number of steps to 15 but with no improvement. I also tried to play with shells, as poster in an older thread viewtopic.php?f=9&t=1051, but again, no luck.
I am using Yambo v 4.2.2

If it is due to format problems, is there a way I can change or check my input?

The file triggering the error, at the pointed line number reads:

Code: Select all

    605      if (USE_TABS) then
    606        composed_fmt=string_pack(terminator(1),'a,')
    607        lch=composed_fmt
    608        do i1=1,n-1
    609          write (lch,'(2a,i3.3,3a)') trim(composed_fmt),'t',&
    610 &                                   of_tabs(i1)+2+INDENT,',',basic_fmt,','
    611          composed_fmt=lch
    612        enddo
Aldo Ugolotti

PhD student
Department of Materials Science
University of Milano-Bicocca
via Cozzi, 55, 20125 Milano
Italy

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

Re: dipole and band structure

Post by Daniele Varsano » Wed May 15, 2019 10:06 am

Hi Aldo,
I was not meaning the number of steps, but the number of bands here:

Code: Select all

%QPkrange                    #  generalized Kpoint/Band indices
  1|144|  1| 20|
%
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/

a.ugolotti
Posts: 23
Joined: Fri Sep 29, 2017 3:53 pm

Re: dipole and band structure

Post by a.ugolotti » Wed May 15, 2019 10:25 am

Oh, sorry.

I changed it to "3| 10 |" and the run was smooth, hence that part is fine. However now I am not sure about the next step.
Do I have to run yambo to construct the dielectric response and then run again ypp to interpolate dipoles for the band (in that case how do I specify dipoles databases?) OR I have to run an nscf cycle again (and yambo from scratch)? None of the two options seems a good guess to me anyway.

Do you have any suggestion?
Aldo Ugolotti

PhD student
Department of Materials Science
University of Milano-Bicocca
via Cozzi, 55, 20125 Milano
Italy

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

Re: dipole and band structure

Post by Daniele Varsano » Wed May 15, 2019 10:32 am

Dear Aldo,
I changed it to "3| 10 |" and the run was smooth, hence that part is fine.
OK, the problem is due to the format of the output file, so keep the number of bands less than 20. About the k points leave them as the maximum you have (the default in the input) as otherwise the quality of the interpolation will be deteriorated.
Do I have to run yambo to construct the dielectric response and then run again ypp to interpolate dipoles for the band (in that case how do I specify dipoles databases?) OR I have to run an nscf cycle again (and yambo from scratch)? None of the two options seems a good guess to me anyway.
It is not totally clear to me what you want to calculate. The dipoles are calculated and stored when calculating the response function. They are calculated considering a uniform grid. Then you can read them from the database, using e.g. a python script. Anyway, at present, there is not the possibility to interpolate them. If you need the dipoles on a specific path, what you can do it is to look for the k points of the uniform grid belonging to the desired path.

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/

a.ugolotti
Posts: 23
Joined: Fri Sep 29, 2017 3:53 pm

Re: dipole and band structure

Post by a.ugolotti » Wed May 15, 2019 10:49 am

It is not totally clear to me what you want to calculate. The dipoles are calculated and stored when calculating the response function. They are calculated considering a uniform grid. Then you can read them from the database, using e.g. a python script. Anyway, at present, there is not the possibility to interpolate them. If you need the dipoles on a specific path, what you can do it is to look for the k points of the uniform grid belonging to the desired path.
I am already able to extract the dipoles; ideally I would like to construct a plotof the joint bands of the system, where for every point (delta energy, kmodule) I associate the squared module of the corresponding transition dipole moment.

As far as I can understand now the simplest (not the fastest though) solution would be to generate, for every single point in the desired path, an extended uniform grid with ypp -k k, rerun the nscf calculation and start yambo from scratch for that folder. I am right?
Aldo Ugolotti

PhD student
Department of Materials Science
University of Milano-Bicocca
via Cozzi, 55, 20125 Milano
Italy

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

Re: dipole and band structure

Post by Daniele Varsano » Wed May 15, 2019 11:08 am

As far as I can understand now the simplest (not the fastest though) solution would be to generate, for every single point in the desired path, an extended uniform grid with ypp -k k, rerun the nscf calculation and start yambo from scratch for that folder. I am right?
Yes, this can be done.
Another option is to generate a large grid and extract from the uniform grid the k points that are found along a path.

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/

a.ugolotti
Posts: 23
Joined: Fri Sep 29, 2017 3:53 pm

Re: dipole and band structure

Post by a.ugolotti » Wed May 15, 2019 1:28 pm

Thanks Daniele for your support.
One last question: can you suggest any tool to generate such a uniform grid, including the desired points?
Aldo Ugolotti

PhD student
Department of Materials Science
University of Milano-Bicocca
via Cozzi, 55, 20125 Milano
Italy

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

Re: dipole and band structure

Post by Daniele Varsano » Wed May 15, 2019 1:58 pm

Dear Aldo,
it stronlgy depend on your system, for instance for an hexagonal cell, a k point grid with multiple of 3 includes K and M symmetry points and you can extract the points along the Gamma-K and Gamma-M paths.

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