Page 1 of 1

Output exciton Hamiltonian

Posted: Tue Apr 20, 2021 11:35 pm
by Bo Peng
Dear Yambo team,

I am wondering whether it is possible to output the exciton Hamiltonian in BSE. It might also be very helpful to get the basis of the exciton Hamiltonian, but I imagine that it is just the combination of the valence and conduction bands that form the excitons. I ask this because I am struggling in constructing tight binding Hamiltonian for excitons, so an exciton Hamiltonian direct from Yambo would be helpful enough. Thanks in advance!

Cheers,
Bo

Re: Output exciton Hamiltonian

Posted: Wed Apr 21, 2021 12:34 pm
by claudio
Dear Bo Peng

in order to help in the construction of the excitonic Hamiltonian consider:

1) using ypp you can write the most important components of each exciton in the valence-conduction basis
ypp -e a

2) if you calculate the BSE for all q-points you can interpolate the excitons dispersion using
ypp -e i

3) some references on the construction of the excitonic hamiltonian in tight-binding, with relative parameters

for 2D system
https://journals.aps.org/prb/abstract/1 ... .94.125303

for a bulk solid
https://journals.aps.org/prb/abstract/1 ... .98.125206

best
Claudio

Re: Output exciton Hamiltonian

Posted: Wed Apr 21, 2021 12:56 pm
by Daniele Varsano
Dear Bo,

1) using ypp you can write the most important components of each exciton in the valence-conduction basis
ypp -e a
Let me add to this point, actually you can choose the threshold of the weight to be written, setting:
Weight_treshold=0
you will have the weight |A_cv|^2 in the output.

About reading the complete excitonic hamiltonian, you can dump the files that are in netcdf format or read them using a python script, but then it is not straightforward to reconstruct the index of the elements.

Best,
Daniele

Re: Output exciton Hamiltonian

Posted: Fri Apr 23, 2021 11:19 am
by Bo Peng
Ciao Claudio,

Just wondering, where can I find the interpolation algorithm in the source code? It might be helpful to see how it work. I would be super interested to get an exciton tight binding model in the form of wannier90_hr.dat, but it is still very helpful to see how the interpolation works on the vb-cb basis.

Cheers,
Bo

Re: Output exciton Hamiltonian

Posted: Fri Apr 23, 2021 11:21 am
by Bo Peng
Thanks Daniele!

Which netcdf file should I read though? To be honest I am not even sure how to read the netcdf format. But I imagine there are some ways to make them human readable?

Thanks,
Bo

Re: Output exciton Hamiltonian

Posted: Fri Apr 23, 2021 11:56 am
by Daniele Varsano
Dear Bo,
to convert netcdf file in human readable format you can use the ncdump command.

Other option is to use python modules:
from netCDF4 import Dataset


Then it could be not easy to associate the indexes to each element of the matrix. In netcdf output they are grouped in block that are CPU dependent.
If you use parallel I/O instead this difficulty is overcome. Maybe someone esse can give you some hints.

Best,
Daniele

Re: Output exciton Hamiltonian

Posted: Fri Apr 23, 2021 2:48 pm
by Bo Peng
Hi Daniele,

Thank you for this! I will have a try :)

Cheers,
Bo