[Wien] NaN output in lapw3 17.1
Georg Eickerling
georg.eickerling at physik.uni-augsburg.de
Sat Jun 2 21:43:18 CEST 2018
On 01.06.2018 16:17, Peter Blaha wrote:
> A bit strange, but it seems it can happen for certain cases.
Yes, I agree.
> b) Therefore my expectations are that this is due to a different
> compiler ?? and in the older version all variables were initialized to
> zero, while they are not with the new compilation.
>
There were definitely different ifort versions involved, as 17.1 was
compiled with intels compiler-suite 2018 and I did not recompile the old
WIEN versions. So that's probably the simple explanation.
> d) I would, however, suggest a different fix, because in case there was
> no jump out (I don't know if it can happen, but anyway), you would miss
> the last contribution (probably very small anyway). Instead, put
>
> rhouse=0.d0 right after the allocate statement.
>
That's obviously a better solution than just skipping a term, so I'll
use that.
> Thanks for the report and the analysis.
Thank you for the immediate response!
>
>
> On 06/01/2018 03:40 PM, Georg Eickerling wrote:
>> 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:
>
>> 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
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Wien mailing list
>> Wien at zeus.theochem.tuwien.ac.at
>> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>> SEARCH the MAILING-LIST at:
>> http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
>>
>
--
============================
PD Dr. Georg Eickerling
Universitaet Augsburg
Institut fuer Physik
Lehrstuhl fuer Chemische Physik und Materialwissenschaften
Universitaetsstr. 1
86159 Augsburg
E-Mail: georg.eickerling at physik.uni-augsburg.de
Phone: +49-821-598-3362
FAX: +49-821-598-3227
WWW: http://www.physik.uni-augsburg.de/cpm/
=====================================================
More information about the Wien
mailing list