[Wien] lapwdm angle.f

Gavin Abo gsabo at crimson.ua.edu
Mon Jul 2 00:56:32 CEST 2012


Dear Dr. Blaha and developers,

Fixes to angle.f in SRC_qtl was reported:

http://zeus.theochem.tuwien.ac.at/pipermail/wien/2012-June/017085.html

It suggested changes to the if statements.
*
IF (ABS(ALPHA(3)-PI/2.d0).GT.1.D-4) THEN*

to

*IF 
((ABS(ALPHA(3)-PI/2.d0).GT.1.D-4).and.(ABS(ALPHA(2)-PI/2.d0).LT.1.D-4).and.(ABS(ALPHA(1)-PI/2.d0).LT.1.D-4)) 
THEN*

and

*ELSE IF (ABS(ALPHA(2)-PI/2.d0).GT.1.D-4) THEN*

to

*ELSE IF 
((ABS(ALPHA(2)-PI/2.d0).GT.1.D-4).and.(ABS(ALPHA(1)-PI/2.d0).LT.1.D-4).and.(ABS(ALPHA(2)-PI/2.d0).LT.1.D-4)) 
THEN*

The angle.f in SRC_lapwdm is almost the same.  Should these fixes be 
applied to it too?

Can you confirm that the absolute values such as on 
"ABS(ALPHA(3)-PI/2.d0).GT.1.D-4" are correct? It may be correct, but it 
looks suspicious to me.  The left side argument will always be positive 
because of the absolute value.  Therefore, the if statements may never 
have a different result (true or false) unless the left argument is 
almost zero.

P.S., Kateryna, your ORBxxx and SPIxxx results might change if a fix is 
needed.  However, that is only if the code needs to select a different 
set of crystal geometry equations in angle.f for your crystal structure 
instead of:

     IF (ABS(ALPHA(3)-PI/2.d0).GT.1.D-4) THEN
         XA=XMS(1)*AA*SIN(ALPHA(3))
         XB=XMS(1)*AA*COS(ALPHA(3))+BB*XMS(2)
         XC=CC*XMS(3)

Kind Regards,

Gavin Abo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20120701/1407fe4b/attachment.htm>


More information about the Wien mailing list