Page 1 of 1

HF quasiparticle energies for independent particle optics

Posted: Thu Jun 23, 2016 9:23 am
by Tobias Frank
Hello everybody,

I would like to know, if it is possible to calculate the independent particle spectrum on top of a Hartree-Fock calculation. I have the problem of a negative band gap (bulk phosphorus). I see, that the correct ordering of states is restored by adding some Hartree-Fock self energy, which opens the gap. For a first picture I would like to use those energies to get the independent particle absorption.

I guess the standard way to incorporate quasi particle energies is generating the input via "yambo -o c -V all" and load the quasiparticle database with the XfnQPdb statement. As I saw from another thread, the qp database is not generated for HF. Is it possible to generate it? Do you have other suggestions to accomplish my goal in a cheaper way than GW?

Best,
Tobias

Re: HF quasiparticle energies for independent particle optic

Posted: Thu Jun 23, 2016 9:40 am
by Daniele Varsano
Dear Tobias,
yes, it is possible even if not straightforward.

1) Perform and HF calculation: the HF energies will be reported in the report and in the output o.hf files
2) Generate a ndb.QP containing the HF energies by hand by using ypp.
3) Use the ndb.QP database by using XfnQPdb as you mentioned.

In order to generate the ndb.QP database you can use the command line:
>ypp -q g
this will generate an ypp.in input file you need to fill with the HF correction:

Code: Select all

%QPkrange            # [QPDB] QP correctionQPDB energy correction( kp1| kp2| bnd1| bnd2| E-Eo[eV]| Img(E)[eV]| Re[Z] |)
 -1| -1| -1| -1| 0.0| 0.0| 0.0|
%
Something like:

1|1| 1| 1| Delta E | 0 | 0 | --> correction for state1 kpt 1
1|1| 2| 2| Delta E | 0 | 0 |--> correction for state 2 kpt 1
....
nk | nk | Nb | Nb | Delta E | 0 | 0 |


Next, running ypp this will create the desired ndb.QP in the SAVE directory to be read by yambo.

Best,

Daniele

Re: HF quasiparticle energies for independent particle optic

Posted: Thu Jun 23, 2016 9:50 am
by Tobias Frank
Hi Daniele,

thank you for your quick reply!

So I have something like in o.hf:

# K-point Band Eo Ehf DFT HF
#
5.00000 1.00000 -15.68299 -21.60951 -12.12638 -18.05290

If I understand it correctly, this translates into
%QPkrange # [QPDB] QP correctionQPDB energy correction( kp1| kp2| bnd1| bnd2| E-Eo[eV]| Img(E)[eV]| Re[Z] |)
5| 5| 1| 1|-5.92652 | 0.0| 0.0|
%

where E-Eo[eV] = Ehf - Eo = -21.60951 - -15.68299 = -5.92652

I just need to write a script, which parses the o.hf file containing all k points and bands (%QPkrange 1| kmax| 1| nmax|) and format in the way mentioned. Is that correct?

Thank you,
Tobias

Re: HF quasiparticle energies for independent particle optic

Posted: Thu Jun 23, 2016 9:58 am
by Daniele Varsano
Right,
In your case (diagonal) in the ypp.in kp1=kp2, bn1=bnd2.

Best,

Daniele

Re: HF quasiparticle energies for independent particle optic

Posted: Thu Jun 23, 2016 9:59 am
by Tobias Frank
Thank you!

Re: HF quasiparticle energies for independent particle optic

Posted: Thu Jun 30, 2016 9:15 am
by Tobias Frank
Hello Daniele,

I tried to apply the changes to the quaisparticle database as you suggested. However if I want to correct the full spectrum, ypp crashes with a segmentation fault.
I don't know how to debug this. I have included a minimal example ( :D ) and my parsing script for the o.hf output, maybe it's of use for somebody. I would like to know whether this is an issue of my compilation or a general one.


I was not able to upload them in this forum, but the example files can be acessed via:
http://rokip.net/tmp/hfqp.tar.gz


Best,
Tobias

Re: HF quasiparticle energies for independent particle optic

Posted: Thu Jun 30, 2016 1:25 pm
by Daniele Varsano
Dear Tobias,
thank for reporting, we will have a look and let you know.
Daniele

Re: HF quasiparticle energies for independent particle optic

Posted: Tue Jul 12, 2016 9:20 am
by Daniele Varsano
Dear Tobias,

I could not download your input files, it looks the link you added has expired.
Anyway I faced a similar problem of what you encountered and the reason was a too long input file (let's say more than 100/200 lines), is this your case?
If this is the case the workaround is to split your input in several inputs containing part of the corrections. Generate the ndb.QP (either in different directories or renaming them in ndb.QP_1, ndb.QP_... etc.)
And next you can merge the databases by using the ypp -q m option.
The syntax to use is:

Code: Select all

%Actions_and_names           # [QPDB] QP databases and Actions (format is "what"|"DB"|)
 "E" | "./SAVE/ndb.QP_1" |
 "E" | "./SAVE/ndb.QP_2" |
 "E" | "./SAVE/ndb.QP_3" |
....
%
or the differnet paths of your ndb.QP files.

Hope this will solve your problem.

Best,
Daniele