C NORMAL SOURCE CHAT 05/01/13 02:00:11 5004 SUBROUTINE NORMAL(A,B,C,SIGMA,ANOR,ALPHA,SELAS,IBOU,ITYP) C C CALCUL DE LA NORMNALE A LA SURFACE DE PLASTICITE C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION SIGMA(*),ANOR(*) C CALCUL DE M*SIGMA DO 1001 IA=1,IBOU 1001 ANOR(IA)=0. GO TO (1,2,2,4,5,6,7,8,9,10,99,99,99,14),ITYP 1 CONTINUE ANOR(1)=A*SIGMA(1)-B*(SIGMA(2)+SIGMA(3)) ANOR(2)=A*SIGMA(2)-B*(SIGMA(3)+SIGMA(1)) ANOR(3)=A*SIGMA(3)-B*(SIGMA(1)+SIGMA(2)) DO 1002 IA=1,3 1002 ANOR(IA+3)=C*SIGMA(3+IA) GO TO 1000 2 CONTINUE ANOR(1)=ALPHA*(SIGMA(1)*A-B*SIGMA(2)) ANOR(2)=ALPHA*(SIGMA(2)*A-B*SIGMA(1)) ANOR(4)= SIGMA(4)*A-B*SIGMA(5) ANOR(5)= SIGMA(5)*A-B*SIGMA(4) ANOR(3)=C*SIGMA(3)*ALPHA ANOR(6)=C*SIGMA(6) GO TO 1000 4 ANOR(3)=SIGMA(3) GO TO 1000 5 CONTINUE GO TO 1000 6 ANOR(1)=A*SIGMA(1)-B*SIGMA(2) ANOR(2)=A*SIGMA(2)-B*SIGMA(1) ANOR(4)=C*SIGMA(4) GO TO 1000 7 CONTINUE ANOR(1)=ALPHA*A*SIGMA(1) ANOR(4)= A*SIGMA(4) GO TO 1000 8 ANOR(1)=SIGMA(1) GO TO 1000 C= Modes de calcul UNIDIMENSIONNELs (1D) 14 ANOR(1)=A*SIGMA(1)-B*(SIGMA(2)+SIGMA(3)) ANOR(2)=A*SIGMA(2)-B*(SIGMA(3)+SIGMA(1)) ANOR(3)=A*SIGMA(3)-B*(SIGMA(1)+SIGMA(2)) C* GOTO 1000 9 CONTINUE 10 CONTINUE C NORMALISATION 1000 CONTINUE X=1./SELAS Y=0. DO 1003 IA=1,IBOU ANOR(IA)=ANOR(IA)*X 1003 Y=Y+ANOR(IA)*ANOR(IA) Y=1./SQRT(Y) DO 1004 IA=1,IBOU 1004 ANOR(IA)=ANOR(IA)*Y RETURN 99 WRITE(6,7999) 7999 FORMAT('0 NORMAL - CAS NON IMPLEMENTE ' /) RETURN END