[Wien] NaN output in lapw3 17.1

Georg Eickerling georg.eickerling at physik.uni-augsburg.de
Fri Jun 1 15:40:08 CEST 2018


Dear WIEN users,

I found a possible issue with lapw3 in WIEN 17.1.

The bottom line is, that in some cases lapw3 from 17.1 instead of values for
Fs produces this in the output:


 X - RAY STRUCTURFACTORS

  K-VECTOR     SIN O/L (A-1)        F

    0    0    0   0.0000000                 NaN
    0   -1    0   0.0490923                 NaN
   -1    0    0   0.0951928                 NaN
    0   -2    0   0.0981846                 NaN


This happens only in some special cases as it seems:


1. lapw3 from WIEN 14.2 on the same set of files:
=================================================

 X - RAY STRUCTURFACTORS

  K-VECTOR     SIN O/L (A-1)        F

    0    0    0   0.0000000      171.9999994533
    0   -1    0   0.0490923        0.0000000000
   -1    0    0   0.0951928        0.0000000000
    0   -2    0   0.0981846      -15.8811296486

=> the clmsum seems to be "intact", there are indeed 172 electrons in my cell.


2. lapw3 from 17.1 for a 17.1 calculation on diamond:
=========================================================

 X - RAY STRUCTURFACTORS

  K-VECTOR     SIN O/L (A-1)        F

    0    0    0   0.0000000       11.9999999251
   -1   -1   -1   0.2427814       -4.6602717246
    0    0   -2   0.2803398       -0.0000000000
    0   -2   -2   0.3964603       -3.9467736723
   -1   -1   -3   0.4648909       -2.3980119816
   -2   -2   -2   0.4855627        0.2291402630

=> my lapw3 binary from 17.1 is working in this case


3. run lapw3 from 17.1 on 13.1 calculation of the same compound:
================================================================

 X - RAY STRUCTURFACTORS

  K-VECTOR     SIN O/L (A-1)        F

    0    0    0   0.0000000      171.9999994164
    0   -1    0   0.0494237       -0.0000000000
   -1    0    0   0.0960836       -0.0000000000
    0   -2    0   0.0988474      -15.6330077799

=> cross-check on my lapw3 binary also works



What I can also tell is, that the atomic contributions in output3 from my 17_1
calculation also look OK:

0  0  0  0.0000  19.4565  19.4565 => that's a scandium atom

or

0  0  0  0.0000   4.1588   4.1588 => that's a carbon atom

and the values compare quite well with the ones from the "old" lapw3, but
starting from here:

STRUCTURFACTORS FOR OUT:

Number of hkl trimmed down to       21889
   0    0    0                     NaN      0.0000000000000000
   0   -1    0                     NaN      0.0490922829131512
  -1    0    0                     NaN      0.0951927607312776
   0   -2    0                     NaN      0.0981845658263024


things break in the output.


My debugging results:
======================

I found that the problem is triggered when the trimming of the INDMAX values
happens in fourir.frc starting from line 170.

In my particular case, INDMAX = 36353
this gets trimmed down to nuse = 21889

However, the last value for rhouse(NUSE) I saw created in line 195

 rhouse(NUSE)=RHOK(IIZ)/INST(IIZ)*TAUK(KP)

was

  NUSE        rhouse(NUSE)
 21888 -1.357441708557500E-010

so that later

DO 35 KP=1,NUSE
 F=F+RHOUSE(KP)*U
35    ENDDO

yields NaN, because RHOUSE(21889) is missing.

On the other hand, in line 175 I see

allocate(rhouse(INDMAX))

so I assume the array is initialized large enough and lapw3 can read
"something" from it for the N+1 element?

I.e., for my diamond case, the according numbers are
indmax 2229
nuse   1105

the last rhouse created in 195:

  NUSE        rhouse(NUSE)
 1104  7.021053333129166E-010

so that in this case (by conincidence?):

rhouse(nuse) = 0.000000000000000E+000

and the case works.


The fix for me up to now was a

DO 35 KP=1,NUSE-1

to make it work for my original case with 17.1.

Any thoughts on this from the experts?


best regards,


Georg Eickerling














More information about the Wien mailing list