Self-Energy in double precision

Concerns issues with computing quasiparticle corrections to the DFT eigenvalues - i.e., the self-energy within the GW approximation (-g n), or considering the Hartree-Fock exchange only (-x)

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano

Post Reply
marco.govoni
Posts: 35
Joined: Thu May 21, 2009 3:46 pm

Self-Energy in double precision

Post by marco.govoni » Thu Nov 19, 2009 5:29 pm

Dear developers,

we have compiled the yambo code (version 3.2.1-448) with flag --enable-dp.
In order to succesfully compile the code we have done the following change:

from

serial_number=pickup_a_random(10000.)

to

serial_number=pickup_a_random(10000._SP)

in the interface files.

We have run a simple test on GaAs bulk and we have checked how Hartree-Fock Self-Energy and Vxc depend on the precision.

In single precision we get:

S_x/V_xc [eV] @ K [1] (iku): 0.000 0.000 0.000
<1|S_x|1> = -17.63821 0.3359E-7 <1|V_xc|1> = -10.85130 0.204E-12
<2|S_x|2> = -12.70886 -.1143E-7 <2|V_xc|2> = -11.39071 -.1539E-8
<3|S_x|3> = -12.70886 0.1345E-7 <3|V_xc|3> = -11.39062 -.6378E-9
<4|S_x|4> = -12.70886 -.4144E-8 <4|V_xc|4> = -11.39067 0.4134E-8
<5|S_x|5> = -6.453350 -.8065E-8 <5|V_xc|5> = -10.37455 -.1002E-8
<6|S_x|6> = -5.149593 -.2198E-8 <6|V_xc|6> = -9.544415 0.2515E-9
<7|S_x|7> = -5.149593 0.3619E-9 <7|V_xc|7> = -9.544482 0.4986E-9
<8|S_x|8> = -5.149593 -.3917E-8 <8|V_xc|8> = -9.544437 -.1059E-8
<9|S_x|9> = -2.312710 -.129E-10 <9|V_xc|9> = -7.621466 0.1462E-8
<10|S_x|10> = -3.988679 0.1474E-8 <10|V_xc|10> = -9.557715 0.3722E-8
<11|S_x|11> = -3.988681 -.2269E-8 <11|V_xc|11> = -9.557673 0.508E-10

....

In double precision we have:


S_x/V_xc [eV] @ K [1] (iku): 0.000 0.000 0.000
<1|S_x|1> = -17.63830 -.607E-18 <1|V_xc|1> = -Inf NaN
<2|S_x|2> = -12.70891 -.297E-16 <2|V_xc|2> = -Inf NaN
<3|S_x|3> = -12.70891 -.975E-17 <3|V_xc|3> = -Inf NaN
<4|S_x|4> = -12.70891 0.185E-17 <4|V_xc|4> = -Inf NaN
<5|S_x|5> = -6.453395 0.263E-17 <5|V_xc|5> = -Inf NaN
<6|S_x|6> = -5.149614 -.613E-18 <6|V_xc|6> = -Inf NaN
<7|S_x|7> = -5.149614 0.630E-17 <7|V_xc|7> = -Inf NaN
<8|S_x|8> = -5.149614 0.601E-17 <8|V_xc|8> = -Inf NaN
<9|S_x|9> = -2.312721 -.337E-18 <9|V_xc|9> = -Inf NaN
<10|S_x|10> = -3.988698 0.102E-17 <10|V_xc|10> = -Inf NaN
<11|S_x|11> = -3.988698 0.323E-17 <11|V_xc|11> = -Inf NaN

….


Can you help us?

Thanks.

Sincerely,

Marco Govoni and Ivan Marri
Marco Govoni
Physics Department, University of Modena and Reggio Emilia (Italy)

User avatar
myrta gruning
Posts: 240
Joined: Tue Mar 17, 2009 11:38 am
Contact:

Re: Self-Energy in double precision

Post by myrta gruning » Thu Nov 19, 2009 6:00 pm

Dear Marco and Ivan

I have tried on a couple of systems (using rev 487 and enabling the double precision), and I did not met this problem.
Can you try with the latest svn snapshot to see whether the problem remains? If this is the case we then should investigate further. :roll:

Cheers,

m
Dr Myrta Grüning
School of Mathematics and Physics
Queen's University Belfast - Northern Ireland

http://www.researcherid.com/rid/B-1515-2009

marco.govoni
Posts: 35
Joined: Thu May 21, 2009 3:46 pm

Re: Self-Energy in double precision

Post by marco.govoni » Fri Nov 20, 2009 4:10 pm

Dear Myrta,

We have tried also the latest svn version of yambo code. The problem remains.
We have run tests on bulk GaAs using pw.
Do you need our input?

Regards,

Marco Govoni and Ivan Marri
Marco Govoni
Physics Department, University of Modena and Reggio Emilia (Italy)

User avatar
andrea marini
Posts: 325
Joined: Mon Mar 16, 2009 4:27 pm
Contact:

Re: Self-Energy in double precision

Post by andrea marini » Fri Nov 20, 2009 4:14 pm

marco.govoni wrote: Do you need our input?
Inputs, outputs and configure files (contents of config/ folder after configure). Tar everything in a single file and upload it here. We do need to reproduce the error to have some chance to find the bug.
Andrea MARINI
Istituto di Struttura della Materia, CNR, (Italy)

marco.govoni
Posts: 35
Joined: Thu May 21, 2009 3:46 pm

Re: Self-Energy in double precision

Post by marco.govoni » Fri Nov 20, 2009 4:46 pm

Here you are. We used pw-4.1
You find the input of PW in scf.in and nscf.in .
then we typed in the prefix.save directory created by PW:
$yambo_dir/bin/p2y -S -N -O ..
cd ..
$yambo_dir/bin/yambo
and finally we generate yambo.in
$yambo_dir/bin/yambo -x
yambo.in has been edited lowering the number of bands form 100 to 20.

Thanks.

Regards,

Marco Govoni and Ivan Marri
You do not have the required permissions to view the files attached to this post.
Marco Govoni
Physics Department, University of Modena and Reggio Emilia (Italy)

User avatar
myrta gruning
Posts: 240
Joined: Tue Mar 17, 2009 11:38 am
Contact:

Re: Self-Energy in double precision

Post by myrta gruning » Fri Nov 20, 2009 5:44 pm

Hallo!

We have rerun the calculations, but we could not reproduce the error. From the config.log appears you used the pgi fortran, so very likely it is a compiler dependent bug :? (our run was with an Intel compiled yambo).
On the machine where you are running (matrix2) there should be as well ifort, so you may try to recompile with ifort (hopefully the problem won't appear) in the meanwhile we fix the bug (it may take some time).

Regards,
Dr Myrta Grüning
School of Mathematics and Physics
Queen's University Belfast - Northern Ireland

http://www.researcherid.com/rid/B-1515-2009

Post Reply