## Open Shell Systems

Questions and doubts about the spin-dependent version of Yambo.

Moderators: Davide Sangalli, andrea marini, Conor Hogan, myrta gruning

### Re: Open Shell Systems

Dear Vito,
not easy to understand.

First note that you are diagonalizing an enormous matrix (are you sure you need all the occupied bands in the BSE???).
The first bands are very deep in energies and should not contribute to the first excitations.
Anyway this should be not related with the problem.
Next, why are you activating the diagonal approximation?
BSresKmod= "xc"

and reduce the matrix size (removing the diagonal approximation the calculation will be much more cumbersome).
Moreover, the Haydock variables are not needed (this should not affect), and the BSEBands are reported twice, again this should be harmless but
better to avoid repeat variables. also for clarity.

If the problem persists, we should try to reproduce your error. We are not working anymore on the 3.3 (and it will be very soon removed from the repository), so I ask you to switch to the new release, and if the problem persists we will need to reproduce your error.

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/

Daniele Varsano

Posts: 1996
Joined: Tue Mar 17, 2009 2:23 pm

### Re: Open Shell Systems

Dear Daniele,

1) I am not using diagonal approximation ONLY. BSE matrix (ignoring the coupling) consists of three main part : diagonal + direct term (which is c) + exchange term (which is x). So my keyword is then accordingly : BSresKmod= "xcd".
And indeed when i switch back to BSresKmod= "xc" the structure of the spectrum is overwhelmingly the same.

2) Okay, i will follow your advises and test it with version 4.4.1 that i have, too. I will let you know whether the error is produced again or not !
3) In the new GPL version will we have a SC COHSEX regarding energies AND wave functions that one can use them in a later bse run, TOO ? Are also VERTEX corrections implemented in the new GPL version, too ? If yes, in which form ?
In form of an LDA approximation to vertex correction ?
4) Is there any possibility to calculate resonant charge transfer between adsorbate and substrate using yambo ?
5) By the way mean while i think life time of excitons are easily calculated through heisenberg uncertainty principle (E* t > h/(2*pi)) having the knowledge of the excitation energies of exciton. I get femto sec scaled life times.
6) I think in the calculation of quasi particle life time a factor of 2 * pi is missing.

With best wishes
Vito Versace
PhD student
University of York
vitoversace@yahoo.com
vitoversace

Posts: 58
Joined: Thu Mar 13, 2014 3:43 pm

### Re: Open Shell Systems

Dear Vito,

1) Diagonal in the yambo input means a different think, the diagonal part you mean is always included. The fact you get the same spectra means that a diagonal approximation can be used, or most probably, it is not applied when xcd is set.
2) ok, thanks
3) No, as already said to you, Self consistency it is not yet in the GPL part. Vertex corrections neither are in the GPL version. It was implemented in an old version of Yambo, but I have to check if this part of the code is still there, but I strongly doubt it is in the GPL release.
4) NO, at least not in straightforward way, you can anyway calculate it at DFT level, without using yambo.
5) ok, this is a crude approximation, but still an estimation.
6) We will check it, if you think that, please provide more details, thanks.

Best wishes,
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/

Daniele Varsano

Posts: 1996
Joined: Tue Mar 17, 2009 2:23 pm

### Re: Open Shell Systems

Dear Daniele,

when i set BSENGBlk= 1 in bse run, it means that the screening effects are massively neglected. So i would then expect that the spectrum shifts to lower energies in comparison to BSENGBlk= 200.
But actually the revers is the case. The spectrum by setting BSENGBlk= 1 shifts toward HIGHER energies and for BSENGBlk= 200 toward lower energy till convergence is reached.
I do not understand why this behavior appears!

Bests
Vito Versace
PhD student
University of York
vitoversace@yahoo.com
vitoversace

Posts: 58
Joined: Thu Mar 13, 2014 3:43 pm

### Re: Open Shell Systems

Dear Vito,
when i set BSENGBlk= 1 in bse run, it means that the screening effects are massively neglected.

Well, this is not strictly exact. You have in the direct term \sum_GG'=epsilon_GG'/|q+G|^2.
Setting BSENGBlk= 1 , you are not only discarding screening effects, but also discarding the Coulomb interaction at all. If you want to look the spectrum in terms of screening you should compare BSE vs TIme-Dependent Hartree Fock, which corresponds to set epsilon_GG'=\delta_GG' and still summing over all G to take into account the Coulomb interaction.
In this case, you should see that the TDHF has a bigger binding energy (lower energy).
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/

Daniele Varsano

Posts: 1996
Joined: Tue Mar 17, 2009 2:23 pm

### Re: Open Shell Systems

Dear Daniele,

just for Davide :
There is also a small error in the devel version of yambo :
type(levels) :: E_k_p_q

Error: Object 'e_k_p_q' at (1) must have the SAVE attribute for default initialization of a component
make[1]: *** [mod_ELPH.o] Error 1
make[1]: Leaving directory /home/vito/my_local_copy/devel/src/modules'
make: *** [yambo_ph] Error 2

A) are you trying to compile yambo_ph (make yamo_ph / make all) for version 3.4.1 when you get this error? (Do you need it?)

yes, i am trying to compile yambo_ph and make all, so i did both of them but get always the same error for version 3.4.1 (yes, i really need it)

try to run from the directory where the yambo source is:
svn revert -R ./
make clean_all
./configure "WITH_OPTIONS_YOU_NEED"
make yambo_ph
Do you still get the error ?

Yes, still the same error.

which compiler are you using ?

I tried it with plenty compilers : gcc, icc, gfortran, ifort. Unfortunately it did n't help.

one more question : for calculation of triplet excitation energies in 3.4.1 with coupling in bse matrix, for the coupling i must include only the direct term WehCpl and comment or remove BSEmod = coupling, Right ?

Bests
Vito Versace
PhD student
University of York
vitoversace@yahoo.com
vitoversace

Posts: 58
Joined: Thu Mar 13, 2014 3:43 pm

### Re: Open Shell Systems

Dear Vito,
having a look to the code I cannot see anything strange.
The only way to debug this problem for me would be to be able to reproduce it. Unfortunately on my computer the compilation works fine. (Also yambo_ph is not a part of the code which I'm developing.)

Maybe your compiler somehow is not happy to use in mod_ELPH.F a type defined in another module ... ?

You could try to repace the line
Code: Select all
 type(levels)             :: E_k_p_q

with
Code: Select all
 type(levels), save     :: E_k_p_q`

in src/mo/mod_ELPH.F

Best,
Davide
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
http://www.ism.cnr.it/en/davide-sangalli-cv/
http://www.max-centre.eu/

Davide Sangalli

Posts: 315
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy

### Re: Open Shell Systems

Dear Davide,

Thank you very much.
type(levels), save :: E_k_p_q

That was exactly the solution to the prolem.

Kind Regards
Vito Versace
PhD student
University of York
vitoversace@yahoo.com
vitoversace

Posts: 58
Joined: Thu Mar 13, 2014 3:43 pm

### Re: Open Shell Systems

Nice. Just one warning.
yambo_ph is the only part in the GPL/devel which has not yet been tested ...
In case you use it, let us know if it works.

Best,
Davide
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
http://www.ism.cnr.it/en/davide-sangalli-cv/
http://www.max-centre.eu/

Davide Sangalli

Posts: 315
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy

### Re: Open Shell Systems

Dear Daniele,

When using p2y in yambo, i get the following error regarding iotk :

<---> P(W) 2 Y(ambo) Ver. 5.0
<---> DBs path set to .
<---> Index file set to data-file.xml
<---> Cell data...done
<---> Atomic data...done
<---> Symmetries...[SI no]...[I yes]...[-I no]...[TR yes]
<---> XC functional...Slater exchange(X)+Perdew & Zunger(C)
<---> K-points mesh...done
<---> RL vectors...
[ERROR] STOP signal received while in :
[ERROR]Error in qexml_read_planewaves IOTK error ierr: 1

What should be done here ?
Make sure you have actually asked for the wavefunctions to be written! Check for the presence of evc.dat files in the .save/K00001/ directories

What is the keyword for evc.dat in QE ?
Bests
You do not have the required permissions to view the files attached to this post.
Vito Versace
PhD student
University of York
vitoversace@yahoo.com
vitoversace

Posts: 58
Joined: Thu Mar 13, 2014 3:43 pm

PreviousNext