Initial revision
This commit is contained in:
74
difrac/sysang.f
Normal file
74
difrac/sysang.f
Normal file
@@ -0,0 +1,74 @@
|
||||
C-----------------------------------------------------------------------
|
||||
C Decide on the crystal system based on the cell edges and angles
|
||||
C-----------------------------------------------------------------------
|
||||
SUBROUTINE ANGSYS (ABC,SANG,CANG,ISYS)
|
||||
DIMENSION ABC(3),SANG(3),CANG(3),ANG(3)
|
||||
EQUIVALENCE (ABC(1),A), (ABC(2),B), (ABC(3),C),
|
||||
$ (ANG(1),AL),(ANG(2),BE),(ANG(3),GA)
|
||||
DATA RA/57.2958/,TAN/0.1/,TED/0.01/
|
||||
C-----------------------------------------------------------------------
|
||||
C Make the angles from their sines and cosines
|
||||
C-----------------------------------------------------------------------
|
||||
DO 100 I = 1,3
|
||||
ANG(I) = RA*ATAN2(SANG(I),CANG(I))
|
||||
100 CONTINUE
|
||||
ISYS = 0
|
||||
IF (AMOD(AL - BE) .GT. TAN) THEN
|
||||
C-----------------------------------------------------------------------
|
||||
C Monoclinic or triclinic ?
|
||||
C-----------------------------------------------------------------------
|
||||
IF (AMOD(AL - GA) .GT. TAN) THEN
|
||||
C-----------------------------------------------------------------------
|
||||
C Triclinic
|
||||
C-----------------------------------------------------------------------
|
||||
ISYS = 1
|
||||
ELSE
|
||||
C-----------------------------------------------------------------------
|
||||
C Monoclinic
|
||||
C-----------------------------------------------------------------------
|
||||
ISYS = 2
|
||||
ENDIF
|
||||
ELSE
|
||||
C-----------------------------------------------------------------------
|
||||
C Cubic, rhombohedral, hexagonal, tetragonal, or orthorhombic
|
||||
C-----------------------------------------------------------------------
|
||||
IF (AMOD(AL - GA) .GT. TAN) THEN
|
||||
C-----------------------------------------------------------------------
|
||||
C Hexagonal
|
||||
C-----------------------------------------------------------------------
|
||||
ISYS = 5
|
||||
ELSE
|
||||
IF(AMOD(AL - 90.0) .GT. TAN) THEN
|
||||
C-----------------------------------------------------------------------
|
||||
C Rhombohedral
|
||||
C-----------------------------------------------------------------------
|
||||
ISYS = 6
|
||||
ELSE
|
||||
IF (AMOD(A - B) .GT. TED) THEN
|
||||
C-----------------------------------------------------------------------
|
||||
C Orthorhombic
|
||||
C-----------------------------------------------------------------------
|
||||
ISYS = 3
|
||||
ELSE
|
||||
IF (AMOD(B - C) .GT. TED) THEN
|
||||
C-----------------------------------------------------------------------
|
||||
C Tetragonal
|
||||
C-----------------------------------------------------------------------
|
||||
ISYS = 4
|
||||
C-----------------------------------------------------------------------
|
||||
C Cubic
|
||||
C-----------------------------------------------------------------------
|
||||
ELSE
|
||||
ISYS = 7
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
C-----------------------------------------------------------------------
|
||||
C Just in case !!
|
||||
C-----------------------------------------------------------------------
|
||||
IF (ISYS .EQ. 0) ISYS = 1
|
||||
RETURN
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user