Télécharger epsig.eso

Retour à la liste

Numérotation des lignes :

  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.  
  154.  

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