1 : C EPSIG SOURCE CHAT 05/01/12 23:42:34 5004
2 : SUBROUTINE EPSIG(SIGMA,EPS,IFOUR,YUNG,XNU,ITYP,ORMAT,CARAC)
3 : C
4 : C TRANSFORMATION DE SIGMA EN EPSILON
5 : C
6 : C ITYP=1 ELEMENT MASSIF DP AXIS
7 : C ITYP=2 ELEMENT COQUE
8 : C ITYP=3 ELEMENT MEMBRANE
9 : C ITYP=4 ELEMENT CABLE
10 : C ITYP=5 ORTHOTROPE
11 : C ITYP=6 ELEMENT MASSIF CP
12 : C ITYP=7 COQUE CONTRAINTES PLANES
13 : C ITYP=8 MEMBRANE CONTRAINTES PLANES
14 : C ITYP=11 POUTRES
15 : C ITYP=12 TUYAUX
16 : C ITYP=13 CONTRAINTES AVEC TOUS LES CISAILLEMENTS
17 : C ITYP=14 CAS DES ELEMENTS MASSIFS EN 1D (UNID)
18 : C
19 : IMPLICIT INTEGER(I-N)
20 : IMPLICIT REAL*8 (A-H,O-Z)
21 : DIMENSION SIGMA(*),EPS(*),ORMAT(*),CARAC(*)
22 : C
23 : DIMENSION NNN(14)
24 : DATA NNN / 6,6,3,3,6,4,6,1,6,3,6,6,6,3 /
25 : C
26 : IBOU=NNN(ITYP)
27 : DO 1 IA=1,IBOU
28 : 1 EPS(IA)=0.
29 : IF(ITYP.NE.5) E=1.D0/YUNG
30 : GO TO (61,62,63,64,65,61,62,63,99,99,71,72,73,74),ITYP
31 : C
32 : C CONTRAINTES PLANES AVEC TOUS LES CISAILLEMENTS
33 : 73 CONTINUE
34 : EPS(1)=(SIGMA(1)-XNU*SIGMA(2))*E
35 : EPS(2)=(SIGMA(2)-XNU*SIGMA(1))*E
36 : EPS(3)=-(SIGMA(1)+SIGMA(2))*XNU*E
37 : EPS(4)=2.*(1.+XNU)*E*SIGMA(4)
38 : EPS(5)=2.*(1.+XNU)*E*SIGMA(5)
39 : EPS(6)=2.*(1.+XNU)*E*SIGMA(6)
40 : GO TO 1000
41 : C
42 : 72 CONTINUE
43 : C TUYAUX
44 : 71 CONTINUE
45 : C POUTRES
46 : CISA=YUNG/2.D00/(1.D00+XNU)
47 : IF(CARAC(4).NE.0.D0) EPS(1)=SIGMA(1)/(YUNG*CARAC(4))
48 : IF(CARAC(5).NE.0.D0) EPS(2)=SIGMA(2)/(CISA*CARAC(5))
49 : IF(CARAC(6).NE.0.D0) EPS(3)=SIGMA(3)/(CISA*CARAC(6))
50 : IF(CARAC(1).NE.0.D0) EPS(4)=SIGMA(4)/(CISA*CARAC(1))
51 : IF(CARAC(2).NE.0.D0) EPS(5)=SIGMA(5)/(YUNG*CARAC(2))
52 : IF(CARAC(3).NE.0.D0) EPS(6)=SIGMA(6)/(YUNG*CARAC(3))
53 : GO TO 1000
54 : C
55 : 61 CONTINUE
56 : IF(IFOUR.EQ.-2) GO TO 3
57 : C DEFORMATIONS PLANES
58 : EPS(1)=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))*E
59 : EPS(2)=(SIGMA(2)-XNU*(SIGMA(3)+SIGMA(1)))*E
60 : EPS(3)=(SIGMA(3)-XNU*(SIGMA(1)+SIGMA(2)))*E
61 : UNSG=2.*(1+XNU)*E
62 : LA=4
63 : LB=4
64 : IF (IFOUR.GT.0) LB=6
65 : DO 2 IA=LA,LB
66 : 2 EPS(IA)=SIGMA(IA)*UNSG
67 : RETURN
68 : C CONTRAINTES PLANES
69 : 3 CONTINUE
70 : EPS(1)=(SIGMA(1)-XNU*SIGMA(2))*E
71 : EPS(2)=(SIGMA(2)-XNU*SIGMA(1))*E
72 : EPS(4)=2.*(1.+XNU)*E*SIGMA(4)
73 : EPS(3)=-(SIGMA(1)+SIGMA(2))*XNU*E
74 : 1000 RETURN
75 : 62 JB=2
76 : JA=0
77 : C COQUES
78 : 621 CONTINUE
79 : DO 620 IA=1,JB
80 : EPS(JA+1)=(SIGMA(JA+1)-XNU*SIGMA(JA+2))*E
81 : EPS(JA+2)=(SIGMA(JA+2)-XNU*SIGMA(JA+1))*E
82 : EPS(JA+3)=2.*(1.+XNU)*E*SIGMA(JA+3)
83 : 620 JA=JA+3
84 : GO TO 1000
85 : 63 JB=1
86 : JA=0
87 : GO TO 621
88 : 64 EPS(3)=E*SIGMA(3)/CARAC(1)
89 : GO TO 1000
90 : 65 CONTINUE
91 : C MATERIAU QUELCONQUE
92 : E1=1./ORMAT(1)
93 : E2=1./ORMAT(2)
94 : E3=1./ORMAT(3)
95 : F1=1./ORMAT(7)
96 : F2=1./ORMAT(8)
97 : F3=1./ORMAT(9)
98 : EPS(1)=E1*SIGMA(1)-ORMAT(4)*E2*SIGMA(2)-ORMAT(5)*E3*SIGMA(3)
99 : EPS(2)=SIGMA(2)*E2-ORMAT(4)*E1*SIGMA(1)-ORMAT(6)*E3*SIGMA(3)
100 : EPS(3)=SIGMA(3)*E3-ORMAT(5)*E1*SIGMA(1)-ORMAT(6)*E2*SIGMA(2)
101 : EPS(4)=F1*SIGMA(4)
102 : IF(IFOUR.LE.0) GO TO 1000
103 : EPS(5)=F2*SIGMA(5)
104 : EPS(6)=F3*SIGMA(6)
105 : GO TO 1000
106 : C
107 : C= Modes de calcul UNIDIMENSIONNELs (1D)
108 : C= Les deformations sont initialisees au debut du sousprogramme.
109 : 74 CONTINUE
110 : C= Mode de calcul 1D UNID PLAN DYDZ
111 : IF (IFOUR.EQ.3) THEN
112 : EPS(1)=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))*E
113 : ELSE IF (IFOUR.EQ.4) THEN
114 : EPS(1)=(SIGMA(1)-XNU*SIGMA(2))*E
115 : EPS(3)=-XNU*(SIGMA(1)+SIGMA(2))*E
116 : ELSE IF (IFOUR.EQ.5) THEN
117 : EPS(1)=(SIGMA(1)-XNU*SIGMA(3))*E
118 : EPS(2)=-XNU*(SIGMA(1)+SIGMA(3))*E
119 : ELSE IF (IFOUR.EQ.6) THEN
120 : EPS(1)=SIGMA(1)*E
121 : EPS(2)=-XNU*SIGMA(1)*E
122 : EPS(3)=EPS(2)
123 : ELSE IF (IFOUR.EQ.7) THEN
124 : EPS(1)=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))*E
125 : EPS(2)=(SIGMA(2)-XNU*(SIGMA(1)+SIGMA(3)))*E
126 : ELSE IF (IFOUR.EQ.8) THEN
127 : EPS(1)=(SIGMA(1)-XNU*SIGMA(2))*E
128 : EPS(2)=(SIGMA(2)-XNU*SIGMA(1))*E
129 : EPS(3)=-XNU*(SIGMA(1)+SIGMA(2))*E
130 : ELSE IF (IFOUR.EQ.9.OR.IFOUR.EQ.12) THEN
131 : EPS(1)=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))*E
132 : EPS(3)=(SIGMA(3)-XNU*(SIGMA(1)+SIGMA(2)))*E
133 : ELSE IF (IFOUR.EQ.10.OR.IFOUR.EQ.13) THEN
134 : EPS(1)=(SIGMA(1)-XNU*SIGMA(3))*E
135 : EPS(2)=-XNU*(SIGMA(1)+SIGMA(3))*E
136 : EPS(3)=(SIGMA(3)-XNU*SIGMA(1))*E
137 : C** ELSE IF (IFOUR.EQ.11.OR.IFOUR.EQ.14.OR.IFOUR.EQ.15) THEN
138 : ELSE
139 : EPS(1)=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))*E
140 : EPS(2)=(SIGMA(2)-XNU*(SIGMA(1)+SIGMA(3)))*E
141 : EPS(3)=(SIGMA(3)-XNU*(SIGMA(1)+SIGMA(2)))*E
142 : ENDIF
143 : RETURN
144 : C GOTO 1000
145 :
146 : 99 WRITE(6,299)
147 : 299 FORMAT('0 EPSIG - CAS NON IMPLEMENTE '/)
148 : STOP
149 : END
150 :
151 :
152 :
153 :
© Cast3M 2003 - All rights reserved.
Disclaimer