carsym
C CARSYM SOURCE CHAT 05/01/12 21:49:26 5004 C C SET UP SYMMETRY CONDITIONS FOR THE CARTESIAN (X,Y) COORDINATES C----------------------------------------------------------------------- C C PROBLEM CONSTANTS IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC CCREEL C C C CONSTANTS DESCRIBING SYMMETRY CONDITIONS C segment EDICON integer KSTRT, KSTEP, NMIR, is real*8 crot, srot, symfct LOGICAL LREAL, LIMAG endsegment C----------------------------------------------------------------------- C IF(ITYPE .GE. 10) GO TO 100 IF(ITYPE .LE. 0) GO TO 10 C C "ITYPE" LESS THAN 10 --- PREDEFINED SYMMETRY CODE C GO TO (10, 20, 30, 40, 50, 60, 70, 80, 90), ITYPE C 10 KSTRT = 1 KSTEP = 1 LREAL = .TRUE. LIMAG = .TRUE. GO TO 200 C 20 KSTRT = 1 KSTEP = 1 LREAL = .TRUE. LIMAG = .FALSE. GO TO 200 C 30 KSTRT = 2 KSTEP = 2 LREAL = .TRUE. LIMAG = .FALSE. GO TO 200 C 40 KSTRT = 2 KSTEP = 4 LREAL = .TRUE. LIMAG = .FALSE. GO TO 200 C 50 KSTRT = 2 KSTEP = 4 LREAL = .FALSE. LIMAG = .TRUE. GO TO 200 C 60 KSTRT = 1 KSTEP = 2 LREAL = .TRUE. LIMAG = .FALSE. GO TO 200 C 70 KSTRT = 3 KSTEP = 6 LREAL = .TRUE. LIMAG = .FALSE. GO TO 200 C 80 KSTRT = 2 KSTEP = 2 LREAL = .TRUE. LIMAG = .FALSE. GO TO 200 C 90 KSTRT = 4 KSTEP = 8 LREAL = .TRUE. LIMAG = .FALSE. GO TO 200 C C "ITYPE" MUST BE DECODED C 100 KSTRT = ITYPE / 100 KSTEP = (ITYPE - 100 * KSTRT) / 10 MEDIAN = ITYPE - 100 * KSTRT - 10 * KSTEP LREAL = MEDIAN .GT. 0 LIMAG = MEDIAN .NE. 1 C C COEFFICIENTS FOR ROTATIONAL SYMMETRY C 200 PHI = 2. * XPI / FLOAT(KSTEP) CROT = COS(PHI) SROT = SIN(PHI) NMIR = 2 IF(LREAL .AND. LIMAG) NMIR = 1 SYMFCT = 1.0 IF(KSTEP .GT. KSTRT) SYMFCT = - 1.0 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales