Télécharger endom1.eso

Retour à la liste

Numérotation des lignes :

  1. C ENDOM1 SOURCE CB215821 16/04/21 21:16:37 8920
  2. SUBROUTINE ENDOM1(SIGG,NSTRS,VARR,XMAT,NCOMAT,XCAR,ICARA,
  3. 1NCOURB,TRAC,NNVARI,MFR,IFOURB,DD,DDINV,BB,R,S,XMU,
  4. 2QSI,KERRE,SIGGD,W,F,INDIC,ITHHER,YUNGV,XNUV)
  5. C
  6. C
  7. C ===================================================================
  8. C CE SOUS-PROGRAMME EST APPELE DANS "LOIS".
  9. C IL CALCULE LES MATR. DD ET BB, LES VECT. R,S,XMU ET QSI DS.
  10. C LE CAS DE L'ECROUISSAGE ET DE L'ENDOMMAGEMENT ISOTROPES.
  11. C EN REGIME ANISOTHERME.
  12. C
  13. C ENTREES:
  14. C -------
  15. C NSTRS = NBR. DE COMPOSANTES DES CONTR. OU DES DEFORM.
  16. C SIGG(NSTRS) = CONTR.
  17. C NNVARI = NBR. DE VARIABLES INTERNES PILOTANT LES EQUATIONS
  18. C DU MODELE (VAUT 2)
  19. C VARR(2)... = VARIABLES INTERNES PILOTANT LES EQUATIONS DU MODELE
  20. C ...VARR(1+NNVARI) (r ET D)
  21. C NCOMAT = NBR. DE CARACTERISTIQUES MECANIQUES DU MATERIAU
  22. C XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU
  23. C MFR = INDICE DE LA FORMULATION MECANIQUE; SEULEMENT
  24. C MASSIF OU COQUE POUR LES MATERIAUX ENDOMMAGEABLES
  25. C ICARA = NBR. DE CARACT. GEOMETRIQUES DES ELEMENTS FINIS
  26. C XCAR(ICARA) = CARACT. GEOMETRIQUES DES ELEMENTS FINIS
  27. C NCOURB = NBR. DE PTS. DE LA COURBE DE TRACTION
  28. C TRAC(2NCOURB)= COURBE DE TRACTION
  29. C YUNGV = DERIVEE DU MODULE D'YOUNG / TEMPERATURE
  30. C XNUV = DERIVEE DU COEFFICIENT DE POISSON / TEMPERATURE
  31. C
  32. C SORTIES:
  33. C -------
  34. C DD(NSTRS,NSTRS) = MATRICE DE HOOK ENDOMMAGEE
  35. C BB(NSTRS,NNVARI)= MATRICE DEFINIE DS. LA RELATION SUIVANTE:
  36. C . . .
  37. C SIG = DD*EPSELAS + BB*Q AVEC:
  38. C - SIG = CONTR.
  39. C - EPSELAS = DEFORM. ELASTIQUES
  40. C - Q = VAR. INT. PILOTANT LES LOIS DU MODELE
  41. C R(NSTRS) = LOI D'ECOULEMENT PLASTIQUE
  42. C S(NNVARI) = LOIS D'EVOLUTION DES VARIABLES Q
  43. C XMU(NSTRS) = DERIVEE DU CRITERE PAR RAPPORT AUX CONTR.
  44. C QSI(NNVARI) = DERIVEE DU CRITERE PAR RAPPORT AUX VARIABLES Q
  45. C KERRE = INDICE QUI REGIT LES ERREURS
  46. C = 99 SI LA FORMULATION MECANIQUE N'EST PAS
  47. C DISPONIBLE POUR LE MODELE CONSIDERE OU S'IL Y
  48. C A INCOMPATIBILITE ENTRE MFR ET IFOUR
  49. C ====================================================================
  50. IMPLICIT INTEGER(I-N)
  51. IMPLICIT REAL*8 (A-H,O-Z)
  52.  
  53. -INC CCOPTIO
  54. C
  55. DIMENSION SIGG(*),VARR(*),XMAT(*),XCAR(*),TRAC(*),R(*),S(*),
  56. 1XMU(*),QSI(*),SIGGD(*),W(*)
  57. DIMENSION DD(NSTRS,NSTRS),BB(NSTRS,NNVARI),F(NCOURB,2)
  58. DIMENSION DDINV(NSTRS,NSTRS)
  59. C
  60. C =================================
  61. C REMPLISSAGE DES MATRICES DD(HOOK)
  62. C =================================
  63. C
  64. CALL ELAST1(1,IFOURB,VARR,NNVARI,XMAT,NCOMAT,YUNGV,XNUV,
  65. 1 XCAR,ICARA,MFR,NSTRS,DD,DDINV,KERRE,INDIC,ITHHER)
  66. C
  67. C
  68. C (SI LA FORMULATION MECANIQUE EST NON DISPONIBLE OU S'IL Y A
  69. C INCOMPATIBILITE ENTRE IFOUR ET MFR, KERRE EST NON NUL:)
  70. IF (KERRE.NE.0) GOTO 100
  71. C
  72. C =======================
  73. C CALCUL DE LA MATRICE BB
  74. C =======================
  75. CALL ZERO(BB,NSTRS,NNVARI)
  76. XD=VARR(3)
  77. DO 10 I=1,NSTRS
  78. 10 BB(I,2)=-SIGG(I)/(1.D0-XD)
  79. C
  80. C =========================
  81. C CALCUL DES VECT. R ET XMU
  82. C =========================
  83. C
  84. XNU=XMAT(2)
  85. EPSD=XMAT(6)
  86. DC=XMAT(7)
  87. EPSR=XMAT(8)
  88. P=VARR(1)
  89. C --------------------
  90. C DEVIATEUR DES CONTR.
  91. C --------------------
  92. TRACE=SIGG(1)+SIGG(2)+SIGG(3)
  93. DO 30 I=1,NSTRS
  94. A=0.D0
  95. IF (I.LE.3) A=1.D0/3.D0
  96. SIGGD(I)=SIGG(I)-A*TRACE
  97. 30 CONTINUE
  98. C
  99. C -----------------------------------
  100. C CONTRAINTE EQUIVALENTE DE VON MISES
  101. C -----------------------------------
  102. SIGEQI=PROCON(SIGGD,SIGGD,NSTRS)
  103. SIGEQI=SQRT((3.D0/2.D0)*SIGEQI)
  104. DO 50 I=1,NSTRS
  105. A=1.D0
  106. IF (I.GT.3) A=2.D0
  107. R(I)=((3.D0*SIGGD(I))/(2.D0*(1.D0-XD)*SIGEQI))*A
  108. XMU(I)=R(I)
  109. 50 CONTINUE
  110. C
  111. C =================
  112. C CALCUL DU VECT. S
  113. C =================
  114. C
  115. S(1)=1.D0
  116. C
  117. TRIAXI=TRACE/(3.D0*SIGEQI)
  118. TRIAXI=TRIAXI*TRIAXI
  119. TRIAXI=3.D0*(1.D0-2.D0*XNU)*TRIAXI+(2.D0*(1.D0+XNU))/3.D0
  120. C
  121. C --------------------------------------
  122. C CALCUL DE LA CONSTANTE MATERIAU S0PRIM
  123. C --------------------------------------
  124. C
  125. C ..........................................................
  126. C CALCUL DES COEFF. K ET M A PARTIR DE LA COURBE DE TRACTION
  127. C XKM ATTEND LA COURBE DE TRACTION (SIGMA,EPSILON_PLASTIQUE)
  128. C OR TRAC CONTIENT (EPSILON_PLASTIQUE,SIGMA)
  129. C ..........................................................
  130. DO 70 I=1,NCOURB
  131. XTRAC=TRAC(2*I-1)
  132. TRAC(2*I-1)=TRAC(2*I)
  133. TRAC(2*I)=XTRAC
  134. 70 CONTINUE
  135. CALL XKM(NCOURB,TRAC,XK,XM,W,F)
  136. DO 80 I=1,NCOURB
  137. XTRAC=TRAC(2*I-1)
  138. TRAC(2*I-1)=TRAC(2*I)
  139. TRAC(2*I)=XTRAC
  140. 80 CONTINUE
  141. SIGY=TRAC(2)
  142. XM2=(2.D0+XM)/XM
  143. XM1=(1.D0+XM)/XM
  144. S0PRI1=(EPSR**XM2)-(EPSD**XM2)
  145. S0PRI1=(XK*XK*S0PRI1)/XM2
  146. S0PRI2=(EPSR**XM1)-(EPSD**XM1)
  147. S0PRI2=(2.D0*SIGY*XK*S0PRI2)/XM1
  148. S0PRI3=SIGY*SIGY*(EPSR-EPSD)
  149. S0PRIM=(S0PRI1+S0PRI2+S0PRI3)/DC
  150. C
  151. C -----------------------------------------------------------
  152. C "DERTRA" CALCULE LA DERIVEE DE LA COURBE DE TRACTION EN VIR
  153. C -----------------------------------------------------------
  154. VIR=VARR(2)
  155. N2COUR=2*NCOURB
  156. CALL DERTRA(N2COUR,TRAC,VIR,Y,RPRIM,RINF,RSUP)
  157. C
  158. C
  159. S(2)=((Y**2.D0)*TRIAXI)/(S0PRIM*(1.D0-XD))
  160. C
  161. C ---------------------------------------------
  162. C SI LE SEUIL D'ENDOMMAGEMENT N'EST PAS ATTEINT
  163. C ---------------------------------------------
  164. IF (INDIC.EQ.0) S(2)=0.D0
  165. C
  166. C ===================
  167. C CALCUL DU VECT. QSI
  168. C ===================
  169. C
  170. QSI(1)=-RPRIM
  171. QSI(2)=Y/(1.D0-XD)
  172. C
  173. 100 CONTINUE
  174. RETURN
  175. END
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  

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