[Wien] lapwdm angle.f
Peter Blaha
pblaha at theochem.tuwien.ac.at
Mon Jul 16 09:42:40 CEST 2012
Thank's for the hint for angle.f in SRC_lapwdm. Yes, I think the same fix should
be applied to this program. (Apparently both routines did not support a triclinic lattice).
The "logic" of these "if statements" should be such that
the first case handles a monoclinic lattice with angle gamma .ne. 90 (and the others are 90)
the second with beta.ne.90
the third case handles a triclinic lattice.
And yes, you are absolutely right, in the fix is a stupid misstype. It should be:
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(3)-PI/2.d0).LT.1.D-4)) THEN
^^^^^^^^^
PS: I'm not sure if all this is really necessary or one could stick to the last general formulae.
PPS: I'd like to thank you explicitly for your many valuable comments to the mailing list in the last months.
Thank you very much !!!
Am 02.07.2012 00:56, schrieb Gavin Abo:
> 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
>
>
> _______________________________________________
> Wien mailing list
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>
--
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/
--------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: angle.f
Type: text/x-fortran
Size: 2475 bytes
Desc: not available
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20120716/f9621f75/attachment.f>
More information about the Wien
mailing list