Page 1 of 1

Self-Energy in double precision

Posted: Thu Nov 19, 2009 5:29 pm
by marco.govoni
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

Re: Self-Energy in double precision

Posted: Thu Nov 19, 2009 6:00 pm
by myrta gruning
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

Re: Self-Energy in double precision

Posted: Fri Nov 20, 2009 4:10 pm
by marco.govoni
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

Re: Self-Energy in double precision

Posted: Fri Nov 20, 2009 4:14 pm
by andrea marini
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.

Re: Self-Energy in double precision

Posted: Fri Nov 20, 2009 4:46 pm
by marco.govoni
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

Re: Self-Energy in double precision

Posted: Fri Nov 20, 2009 5:44 pm
by myrta gruning
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,