1 : C PRINC SOURCE CHAT 05/01/13 02:27:24 5004 2 : C PRINC SOURCE INSL 24/10/96 3 : SUBROUTINE PRINC(S,T,NSTRS) 4 : C 5 : C CALCUL DES CONTRAINTES ET DIRECTIONS PRINCIPALES 6 : C L'ANGLE PHI=T(4) : EST EN DEGRE 7 : C 8 : IMPLICIT INTEGER(I-N) 9 : IMPLICIT REAL*8(A-H,O-Z) 10 : DIMENSION S(4),T(4) 11 : PI=4.D0*DATAN(1.D0) 12 : A1=S(1)+S(2) 13 : A2=S(1)-S(2) 14 : A3=S(3) 15 : A4=S(3) 16 : IF(NSTRS.EQ.4.OR.NSTRS.EQ.6) A4=S(4) 17 : IF(DABS(A4) .GE. 1.D-8) GOTO 11 18 : IF(A2 .LT. 1.D-8) GOTO 121 19 : T(1)=S(1) 20 : T(2)=S(2) 21 : T(3)=S(3) 22 : T(4)=0.0D+00 23 : GO TO 10 24 : 121 T(1)=S(2) 25 : T(2)=S(1) 26 : T(3)=S(3) 27 : T(4)=90.0D+00 28 : GO TO 10 29 : 11 IF(DABS(A2) .GE. 1.D-8) GOTO 111 30 : T(1)=S(1)+DABS(A4) 31 : T(2)=S(2)-DABS(A4) 32 : T(3)=S(3) 33 : T(4)=45.0D+00*DABS(A4)/A4 34 : GO TO 10 35 : 111 A5=DSQRT(A2*A2+4.0D+00*A4*A4) 36 : T(1)=(A1+A5)/2.0D+00 37 : T(2)=(A1-A5)/2.0D+00 38 : T(3)=S(3) 39 : T(4)=DATAN(2.0D+00*A4/A2)*90.0D+00/PI 40 : IF(A2 .GE. 1.D-8) GOTO 10 41 : T(4)=T(4)+90.0D+00*DABS(A4)/A4 42 : 10 CONTINUE 43 : IF(NSTRS.EQ.3.OR.NSTRS.EQ.5) T(3)=0.D0 44 : RETURN 45 : END 46 : 47 :
© Cast3M 2003 - All rights reserved.
Disclaimer