[Wien] a possible bug in hamilt.F (local-local part)

Guo-ping Zhang gpzhang at femto.indstate.edu
Fri May 3 16:23:18 CEST 2013


Dear Peter and Wien users,

Thanks a lot for your great help!

I am sorry that I did not state the line numbers clearly in my previous 
email.

Let me stick with _12 version.


Lines:  866 - 869.

----------------------------------code---------------
                                 jlop_loop: do  jlop=1,jlo
                                     DO J_g = NV + NNLO - (MO1+L) - &
                                          (2*L+1)*(JEQO-1) - 
(jlo-jlop)*(2*l+1)*mult(jneq), NV + NNLO & 
-(jlo-jlop)*(MO1+L+1)-(jlo-jlop)*(JEQO-1)*(2*l+1)

-------------problem--------------------------------
the lower limit is incorrect after the second run

(see my prior email for the example)

-------------------debug--code------------------------------
In my debug code, I printed those overlap elements out by adding the 
following in the same loop but after the spanel gets the value.

!_COMPLEX                              SPANEL(J,IHELP) = SPANEL(J,IHELP) + 
&
!_COMPLEX                                     CIMAG * 
(CABCR*DIMAG(PHSC(J_g)) + &
!_COMPLEX 
CABCI*DBLE(PHSC(J_g)))
!
!        CABC = DCONJG(C6)*C11 + DCONJG(C7)*C12 + DCONJG(C8)*C13
!
!                   if(switch(5)) &
                 write(6,1008)J_g,I_g,IHELP,JNEQ,spanel(J,Ihelp),&
                       'J_g,I_g,IHELP,JNEQ, local-local 2  '
!_REAL 1008    format(4I6,2x,1(d16.10,2x),a)
!_COMPLEX 1008    format(4I6,2x,2(d16.10,2x),a)

-------------my understanding----------------------------

Correct me if I am wrong.

This part is the overlap between local and local orbitals, so the indices
should be continuous, but it jumps from 642 to 644.

    642   645     5     1  -.1208880510D-01  0.0000000000D+00  J_g,I_g,IHELP,JNEQ, sphere-local
    644   645     5     1  0.1686004765D+00  0.0000000000D+00  J_g,I_g,IHELP,JNEQ, local-local 2
    645   645     5     1  0.7680685947D+00  0.0000000000D+00  J_g,I_g,IHELP,JNEQ, local-local 2

Here is another example.

    642   646     6     1  0.5744023151D-02  0.5057356247D-02  J_g,I_g,IHELP,JNEQ, sphere-local
    644   646     6     1  -.2049642349D+00  0.2186285172D+00  J_g,I_g,IHELP,JNEQ, local-local 2
    645   646     6     1  -.2049642349D+00  0.2186285172D+00  J_g,I_g,IHELP,JNEQ, local-local 2
    646   646     6     1  0.3835239952D+00  -.3398719701D-18  J_g,I_g,IHELP,JNEQ, local-local 2


Wien2k_06 already has this problem.


I greatly appreciate it if you could help me on this.

Thanks!

Best regards,
Guoping




> I'm not sure I understand your message correctly.
>
> You are saying in WIEN2k_06 there was this error and the first local orbital 
> was not taken into account properly ???
>
> What about WIEN2k_12 ?? Is the error still present or not ??
>
> At least in _12 I do not have a do-loop 278  and lines 901-4 do not have a 
> do-loop either .... ????
>
> Regards
>
> On 10/22/2003 03:14 PM, Guo-ping Zhang wrote:
>> Dear Peter and Wien users,
>> 
>> I noticed a potential bug  in hamilt.F. The matrix misses one row.
>> 
>> In _06  version, (same with _12 version (Line 901-904)
>>
>>    DO 278 J = NV + NNLO - (MO1+L) - &
>>               (2*L+1)*(JEQO-1) - (jlo-jlop)*(2*l+1)*mult(jneq), NV + NNLO &
>>               -(jlo-jlop)*(MO1+L+1)-(jlo-jlop)*(JEQO-1)*(2*l+1)
>> 
>> the low limit jumps incorrectly.
>> 
>> Here is an example of case.output1 of _06 version.
>>
>>     642   644     4     1  -.1874358827D-03  0.0000000000D+00
>> J,I,IHELP,JNEQ  sphere-local Line 891
>>     642   644     4     1  -.1874358827D-03  -.5997948246D-02
>> J,I,IHELP,JNEQ  sphere-local Line 955
>>     644   644     4     1  0.0000000000D+00  0.0000000000D+00
>> J,I,IHELP,JNEQ, local-local 1
>>     644   644     4     1  0.2341672678D+00  0.0000000000D+00
>> J,I,IHELP,JNEQ, local-local 2
>>     644   644     4     1  0.2341672678D+00  0.0000000000D+00
>> J,I,IHELP,JNEQ, local-local 3
>> 
>> See J index just runs from 642 to 644, without 643. In this case, from 1
>> to 642 is planewave, from 643 on is local orbital.
>> 
>> This is the _12 results.
>> 
>> Here is correct.
>>
>>     641   643     3     1  -.1200259258D-01  0.0000000000D+00
>> J_g,I_g,IHELP,JNEQ, sphere-local
>>     642   643     3     1  -.1200259258D-01  0.0000000000D+00
>> J_g,I_g,IHELP,JNEQ, sphere-local
>>     643   643     3     1  0.2560228649D+00  0.0000000000D+00
>> J_g,I_g,IHELP,JNEQ, local-local 2
>> 
>> Then, wrong ( 643 is missing ).
>>
>>     641   644     4     1  -.1867862609D-03  -.5977160350D-02
>> J_g,I_g,IHELP,JNEQ, sphere-local
>>     642   644     4     1  -.1867862609D-03  -.5977160350D-02
>> J_g,I_g,IHELP,JNEQ, sphere-local
>>     644   644     4     1  0.2341672678D+00  -.1179069863D-17
>> J_g,I_g,IHELP,JNEQ, local-local 2
>> 
>> 
>> Would you please look into this?
>> 
>> I can send you my debug code and case.struct file, if necessary.
>> 
>> Thanks a lot!
>> 
>> Best regards,
>> Guoping
>> _______________________________________________
>> 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
>
> -- 
>
>                                      P.Blaha
> --------------------------------------------------------------------------
> Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
> Phone: +43-1-58801-165300             FAX: +43-1-58801-165982
> Email: blaha at theochem.tuwien.ac.at    WWW: http://info.tuwien.ac.at/theochem/
> --------------------------------------------------------------------------
> _______________________________________________
> 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
>


More information about the Wien mailing list