Numérotation des lignes :

avan1
1. C AVAN1 SOURCE CHAT 05/01/12 21:29:47 5004
2. C----------------------------------------------------------------
3. SUBROUTINE AVAN1(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,
4. + EPSVPT,VARPT,XPM,DSPT,
5. + XMAT,NSTRS0,NVARI,NCOMAT,IFOUR,IVTEST,
6. + MFR)
7. C
8. IMPLICIT INTEGER(I-N)
9. IMPLICIT REAL*8(A-H,O-Z)
10. DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*)
11. DIMENSION EPSVPT(*),VARPT(*),XPM(*),DSPT(*),XMAT(*)
12. DIMENSION XX(6),EPSV0(6),EPSV00(6)
13. C----------------------------------------------------------------
14. C ====> connaissant l'{tat, c'est @ dire SIG, EPSV et VAR
15. C ainsi que les deriv{es EPSVPT, VARPT et DSPT
16. C on calcule l'{tat SIG1, EPSV1, VAR1 au temps T + TAU
17. C----------------------------------------------------------------
18. C
19. NSTRS=NSTRS0
20. C
21. C------ AFFECTATION DE QUELQUES VARIABLES
22. YOU = XMAT(1)
23. XNU = XMAT(2)
24. XM = XMAT(10)
25. AN = XMAT(17)
26. C
27. C------- MAJ DE EPSV
28. DO 30 I =1,NSTRS
29. EPSV1(I) = EPSV(I) + TAU*EPSVPT(I)
30. 30 CONTINUE
31. C
32. C------- MAJ DE SIG
33. C SIG1 = SIG + T.(E:EPSPT - E:EPSVPT ) , DSPT = E:EPSPT
34. C cas des contraintes planes
35. IF (IFOUR.EQ.-2) THEN
36. SIG(3) = 0.0
37. X2MU = YOU/(1.+XNU)
38. XCO = X2MU/(1.-XNU)
39. SIG1(1) =SIG(1) + TAU*(DSPT(1)- XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
40. SIG1(2) =SIG(2) + TAU*(DSPT(2)- XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
41. SIG1(4) =SIG(4) + TAU*(DSPT(4)- X2MU*EPSVPT(4))
42. SIG1(3) = 0.0
43. C cas tri dim
44. ELSEIF (IFOUR.EQ.2.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR.
45. & IFOUR.EQ.1.OR.IFOUR.EQ.-3) THEN
46. IF (MFR.EQ.5) THEN
47. X2MU=YOU/(1.0+XNU)
48. XCO = X2MU/(1.0-XNU)
49. SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
50. SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
51. SIG1(3)=SIG(3)+TAU*(DSPT(3)-X2MU*EPSVPT(3))
52. SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4))
53. SIG1(5)=SIG(5)+TAU*(DSPT(5)-X2MU*EPSVPT(5))
54. ELSE
55. TRACE = EPSVPT(1)+EPSVPT(2)+EPSVPT(3)
56. X2MU = YOU/(1+XNU)
57. XLAMB = X2MU*XNU/(1-2*XNU)
58. DO 31 I=1,NSTRS
59. A = 0.0
60. IF (I.LE.3) A=1.0
61. SIG1(I) = SIG(I) + TAU*(DSPT(I)-XLAMB*A*TRACE-X2MU*EPSVPT(I))
62. 31 CONTINUE
63. ENDIF
64. C= Modes de calcul 1D contraintes planes suivant z (DYCZ et GYCZ)
65. ELSE IF (IFOUR.EQ.4.OR.IFOUR.EQ.8) THEN
66. SIG(3) = 0.
67. XCO = YOU/(1.-XNU*XNU)
68. SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
69. SIG1(2) = SIG(2) + TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
70. SIG1(3) = 0.
71. C= Modes de calcul 1D contraintes planes suivant y (CYDZ et CYGZ) et
72. C= 1D axisymetrique contraintes axiales nulles (AXCZ)
73. ELSE IF (IFOUR.EQ.5.OR.IFOUR.EQ.10.OR.IFOUR.EQ.13) THEN
74. SIG(2) = 0.
75. XCO = YOU/(1.-XNU*XNU)
76. SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(3)))
77. SIG1(2) = 0.
78. SIG1(3) = SIG(3) + TAU*(DSPT(3)-XCO*(EPSVPT(3)+XNU*EPSVPT(1)))
79. C= Modes de calcul 1D contraintes planes suivant y et z (CYCZ)
80. ELSE IF (IFOUR.EQ.6) THEN
81. SIG(2) = 0.
82. SIG(3) = 0.
83. SIG1(1) = SIG(1) + TAU*(DSPT(1)-YOU*EPSVPT(1))
84. SIG1(2) = 0.
85. SIG1(3) = 0.
86. C= Autres modes de calcul 1D deformations planes (DYDZ GYDZ DYGZ GYGZ)
87. C= 1D axisymetrique (AXDZ AXGZ) et 1D spherique
88. ELSE IF (IFOUR.EQ. 3.OR.IFOUR.EQ. 7.OR.IFOUR.EQ. 9.OR.IFOUR.EQ.11
89. . .OR.IFOUR.EQ.12.OR.IFOUR.EQ.14.OR.IFOUR.EQ.15) THEN
90. X2MU = YOU/(1.+XNU)
91. TRACE = EPSVPT(1)+EPSVPT(2)+EPSVPT(3)
92. XCO = X2MU*XNU*TRACE/(1.-XNU)
93. SIG1(1) = SIG(1) + TAU*(DSPT(1)-X2MU*EPSVPT(1)-XCO)
94. SIG1(2) = SIG(2) + TAU*(DSPT(2)-X2MU*EPSVPT(2)-XCO)
95. SIG1(3) = SIG(3) + TAU*(DSPT(3)-X2MU*EPSVPT(3)-XCO)
96. ELSE
97. WRITE(*,*) 'CAS NON PREVU DANS AVAN1 (GUIONNET)'
98. STOP
99. ENDIF
100. C
101. C------ SAUVEGARDE DE VAR, MEMOIRE COMPRISE
102. DO 32 I=1,NVARI,1
103. VAR1(I) = VAR(I)
104. 32 CONTINUE
105. C
106. C il n'y a que 4+NSTRS valeurs dans VARPT,
107. C
108. C------ MAJ DE VAR(1..4)
109. IF (MFR.EQ.5) THEN
110. NSTRS=NSTRS0+1
111. EPSV0(1)=EPSV1(1)
112. EPSV0(2)=EPSV1(2)
113. EPSV0(3)=-1.*(EPSV0(1)+EPSV0(2))
114. EPSV0(4)=EPSV1(3)
115. EPSV0(5)=EPSV1(4)
116. EPSV0(6)=EPSV1(5)
117. EPSV00(1)=EPSV(1)
118. EPSV00(2)=EPSV(2)
119. EPSV00(3)=-1.*(EPSV00(1)+EPSV00(2))
120. EPSV00(4)=EPSV(3)
121. EPSV00(5)=EPSV(4)
122. EPSV00(6)=EPSV(5)
123. ELSE
124. NSTRS=NSTRS0
125. DO 01 I=1,NSTRS
126. EPSV0(I)=EPSV1(I)
127. EPSV00(I)=EPSV(I)
128. 01 CONTINUE
129. ENDIF
130. VAR1(1) = VAR(1) + TAU*VARPT(1)
131. VAR1(2) = VAR(2) + TAU*VARPT(2)
132. C Chargement cyclique ?
133. IF (VAR(2).LT.VAR(5+NSTRS)) THEN
134. VAR1(3) = VAR(3) + TAU*VARPT(3)
135. VAR1(4) = VAR(4) + TAU*VARPT(4)
136. ELSE
137. DPN = VAR1(2)**AN - VAR(2)**AN
138. VAR1(3) = VAR(3) + DPN
139. VAR1(4) = VAR(4) + DPN
140. ENDIF
141. C
142. C------ MAJ DE VAR(4+1..NSTRS)
143. C D X = XPM * D P**XM + XPT * D T
144. C P1 = VAR(2)
145. DPM = VAR1(2)**XM - VAR(2)**XM
146. DO 34 I=1,NSTRS,1
147. VAR1(4+I) = VAR(4+I) + XPM(I)*DPM + VARPT(4+I)*TAU
148. 34 CONTINUE
149. C
150. C CRITERE D'INVERSION : EXTREMUM D'UNE DES COMPOSANTES DU TENSEUR
151. C DES DEFORMATIONS VISCOPLASTIQUES
152. C
153. CALL GIOCRT(EPSV0,EPSV00,NSTRS,VAR1,NVARI,IVTEST)
154. C
155. RETURN
156. END
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.

© Cast3M 2003 - Tous droits réservés.
Mentions légales