C EPSIG SOURCE CHAT 05/01/12 23:42:34 5004 SUBROUTINE EPSIG(SIGMA,EPS,IFOUR,YUNG,XNU,ITYP,ORMAT,CARAC) C C TRANSFORMATION DE SIGMA EN EPSILON C C ITYP=1 ELEMENT MASSIF DP AXIS C ITYP=2 ELEMENT COQUE C ITYP=3 ELEMENT MEMBRANE C ITYP=4 ELEMENT CABLE C ITYP=5 ORTHOTROPE C ITYP=6 ELEMENT MASSIF CP C ITYP=7 COQUE CONTRAINTES PLANES C ITYP=8 MEMBRANE CONTRAINTES PLANES C ITYP=11 POUTRES C ITYP=12 TUYAUX C ITYP=13 CONTRAINTES AVEC TOUS LES CISAILLEMENTS C ITYP=14 CAS DES ELEMENTS MASSIFS EN 1D (UNID) C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION SIGMA(*),EPS(*),ORMAT(*),CARAC(*) C DIMENSION NNN(14) DATA NNN / 6,6,3,3,6,4,6,1,6,3,6,6,6,3 / C IBOU=NNN(ITYP) DO 1 IA=1,IBOU 1 EPS(IA)=0. IF(ITYP.NE.5) E=1.D0/YUNG GO TO (61,62,63,64,65,61,62,63,99,99,71,72,73,74),ITYP C C CONTRAINTES PLANES AVEC TOUS LES CISAILLEMENTS 73 CONTINUE EPS(1)=(SIGMA(1)-XNU*SIGMA(2))*E EPS(2)=(SIGMA(2)-XNU*SIGMA(1))*E EPS(3)=-(SIGMA(1)+SIGMA(2))*XNU*E EPS(4)=2.*(1.+XNU)*E*SIGMA(4) EPS(5)=2.*(1.+XNU)*E*SIGMA(5) EPS(6)=2.*(1.+XNU)*E*SIGMA(6) GO TO 1000 C 72 CONTINUE C TUYAUX 71 CONTINUE C POUTRES CISA=YUNG/2.D00/(1.D00+XNU) IF(CARAC(4).NE.0.D0) EPS(1)=SIGMA(1)/(YUNG*CARAC(4)) IF(CARAC(5).NE.0.D0) EPS(2)=SIGMA(2)/(CISA*CARAC(5)) IF(CARAC(6).NE.0.D0) EPS(3)=SIGMA(3)/(CISA*CARAC(6)) IF(CARAC(1).NE.0.D0) EPS(4)=SIGMA(4)/(CISA*CARAC(1)) IF(CARAC(2).NE.0.D0) EPS(5)=SIGMA(5)/(YUNG*CARAC(2)) IF(CARAC(3).NE.0.D0) EPS(6)=SIGMA(6)/(YUNG*CARAC(3)) GO TO 1000 C 61 CONTINUE IF(IFOUR.EQ.-2) GO TO 3 C DEFORMATIONS PLANES EPS(1)=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))*E EPS(2)=(SIGMA(2)-XNU*(SIGMA(3)+SIGMA(1)))*E EPS(3)=(SIGMA(3)-XNU*(SIGMA(1)+SIGMA(2)))*E UNSG=2.*(1+XNU)*E LA=4 LB=4 IF (IFOUR.GT.0) LB=6 DO 2 IA=LA,LB 2 EPS(IA)=SIGMA(IA)*UNSG RETURN C CONTRAINTES PLANES 3 CONTINUE EPS(1)=(SIGMA(1)-XNU*SIGMA(2))*E EPS(2)=(SIGMA(2)-XNU*SIGMA(1))*E EPS(4)=2.*(1.+XNU)*E*SIGMA(4) EPS(3)=-(SIGMA(1)+SIGMA(2))*XNU*E 1000 RETURN 62 JB=2 JA=0 C COQUES 621 CONTINUE DO 620 IA=1,JB EPS(JA+1)=(SIGMA(JA+1)-XNU*SIGMA(JA+2))*E EPS(JA+2)=(SIGMA(JA+2)-XNU*SIGMA(JA+1))*E EPS(JA+3)=2.*(1.+XNU)*E*SIGMA(JA+3) 620 JA=JA+3 GO TO 1000 63 JB=1 JA=0 GO TO 621 64 EPS(3)=E*SIGMA(3)/CARAC(1) GO TO 1000 65 CONTINUE C MATERIAU QUELCONQUE E1=1./ORMAT(1) E2=1./ORMAT(2) E3=1./ORMAT(3) F1=1./ORMAT(7) F2=1./ORMAT(8) F3=1./ORMAT(9) EPS(1)=E1*SIGMA(1)-ORMAT(4)*E2*SIGMA(2)-ORMAT(5)*E3*SIGMA(3) EPS(2)=SIGMA(2)*E2-ORMAT(4)*E1*SIGMA(1)-ORMAT(6)*E3*SIGMA(3) EPS(3)=SIGMA(3)*E3-ORMAT(5)*E1*SIGMA(1)-ORMAT(6)*E2*SIGMA(2) EPS(4)=F1*SIGMA(4) IF(IFOUR.LE.0) GO TO 1000 EPS(5)=F2*SIGMA(5) EPS(6)=F3*SIGMA(6) GO TO 1000 C C= Modes de calcul UNIDIMENSIONNELs (1D) C= Les deformations sont initialisees au debut du sousprogramme. 74 CONTINUE C= Mode de calcul 1D UNID PLAN DYDZ IF (IFOUR.EQ.3) THEN EPS(1)=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))*E ELSE IF (IFOUR.EQ.4) THEN EPS(1)=(SIGMA(1)-XNU*SIGMA(2))*E EPS(3)=-XNU*(SIGMA(1)+SIGMA(2))*E ELSE IF (IFOUR.EQ.5) THEN EPS(1)=(SIGMA(1)-XNU*SIGMA(3))*E EPS(2)=-XNU*(SIGMA(1)+SIGMA(3))*E ELSE IF (IFOUR.EQ.6) THEN EPS(1)=SIGMA(1)*E EPS(2)=-XNU*SIGMA(1)*E EPS(3)=EPS(2) ELSE IF (IFOUR.EQ.7) THEN EPS(1)=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))*E EPS(2)=(SIGMA(2)-XNU*(SIGMA(1)+SIGMA(3)))*E ELSE IF (IFOUR.EQ.8) THEN EPS(1)=(SIGMA(1)-XNU*SIGMA(2))*E EPS(2)=(SIGMA(2)-XNU*SIGMA(1))*E EPS(3)=-XNU*(SIGMA(1)+SIGMA(2))*E ELSE IF (IFOUR.EQ.9.OR.IFOUR.EQ.12) THEN EPS(1)=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))*E EPS(3)=(SIGMA(3)-XNU*(SIGMA(1)+SIGMA(2)))*E ELSE IF (IFOUR.EQ.10.OR.IFOUR.EQ.13) THEN EPS(1)=(SIGMA(1)-XNU*SIGMA(3))*E EPS(2)=-XNU*(SIGMA(1)+SIGMA(3))*E EPS(3)=(SIGMA(3)-XNU*SIGMA(1))*E C** ELSE IF (IFOUR.EQ.11.OR.IFOUR.EQ.14.OR.IFOUR.EQ.15) THEN ELSE EPS(1)=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))*E EPS(2)=(SIGMA(2)-XNU*(SIGMA(1)+SIGMA(3)))*E EPS(3)=(SIGMA(3)-XNU*(SIGMA(1)+SIGMA(2)))*E ENDIF RETURN C GOTO 1000 99 WRITE(6,299) 299 FORMAT('0 EPSIG - CAS NON IMPLEMENTE '/) STOP END