Télécharger endom1.eso

Retour à la liste

Numérotation des lignes :

endom1
  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.  
  54. -INC PPARAM
  55. -INC CCOPTIO
  56. C
  57. DIMENSION SIGG(*),VARR(*),XMAT(*),XCAR(*),TRAC(*),R(*),S(*),
  58. 1XMU(*),QSI(*),SIGGD(*),W(*)
  59. DIMENSION DD(NSTRS,NSTRS),BB(NSTRS,NNVARI),F(NCOURB,2)
  60. DIMENSION DDINV(NSTRS,NSTRS)
  61. C
  62. C =================================
  63. C REMPLISSAGE DES MATRICES DD(HOOK)
  64. C =================================
  65. C
  66. CALL ELAST1(1,IFOURB,VARR,NNVARI,XMAT,NCOMAT,YUNGV,XNUV,
  67. 1 XCAR,ICARA,MFR,NSTRS,DD,DDINV,KERRE,INDIC,ITHHER)
  68. C
  69. C
  70. C (SI LA FORMULATION MECANIQUE EST NON DISPONIBLE OU S'IL Y A
  71. C INCOMPATIBILITE ENTRE IFOUR ET MFR, KERRE EST NON NUL:)
  72. IF (KERRE.NE.0) GOTO 100
  73. C
  74. C =======================
  75. C CALCUL DE LA MATRICE BB
  76. C =======================
  77. CALL ZERO(BB,NSTRS,NNVARI)
  78. XD=VARR(3)
  79. DO 10 I=1,NSTRS
  80. 10 BB(I,2)=-SIGG(I)/(1.D0-XD)
  81. C
  82. C =========================
  83. C CALCUL DES VECT. R ET XMU
  84. C =========================
  85. C
  86. XNU=XMAT(2)
  87. EPSD=XMAT(6)
  88. DC=XMAT(7)
  89. EPSR=XMAT(8)
  90. P=VARR(1)
  91. C --------------------
  92. C DEVIATEUR DES CONTR.
  93. C --------------------
  94. TRACE=SIGG(1)+SIGG(2)+SIGG(3)
  95. DO 30 I=1,NSTRS
  96. A=0.D0
  97. IF (I.LE.3) A=1.D0/3.D0
  98. SIGGD(I)=SIGG(I)-A*TRACE
  99. 30 CONTINUE
  100. C
  101. C -----------------------------------
  102. C CONTRAINTE EQUIVALENTE DE VON MISES
  103. C -----------------------------------
  104. SIGEQI=PROCON(SIGGD,SIGGD,NSTRS)
  105. SIGEQI=SQRT((3.D0/2.D0)*SIGEQI)
  106. DO 50 I=1,NSTRS
  107. A=1.D0
  108. IF (I.GT.3) A=2.D0
  109. R(I)=((3.D0*SIGGD(I))/(2.D0*(1.D0-XD)*SIGEQI))*A
  110. XMU(I)=R(I)
  111. 50 CONTINUE
  112. C
  113. C =================
  114. C CALCUL DU VECT. S
  115. C =================
  116. C
  117. S(1)=1.D0
  118. C
  119. TRIAXI=TRACE/(3.D0*SIGEQI)
  120. TRIAXI=TRIAXI*TRIAXI
  121. TRIAXI=3.D0*(1.D0-2.D0*XNU)*TRIAXI+(2.D0*(1.D0+XNU))/3.D0
  122. C
  123. C --------------------------------------
  124. C CALCUL DE LA CONSTANTE MATERIAU S0PRIM
  125. C --------------------------------------
  126. C
  127. C ..........................................................
  128. C CALCUL DES COEFF. K ET M A PARTIR DE LA COURBE DE TRACTION
  129. C XKM ATTEND LA COURBE DE TRACTION (SIGMA,EPSILON_PLASTIQUE)
  130. C OR TRAC CONTIENT (EPSILON_PLASTIQUE,SIGMA)
  131. C ..........................................................
  132. DO 70 I=1,NCOURB
  133. XTRAC=TRAC(2*I-1)
  134. TRAC(2*I-1)=TRAC(2*I)
  135. TRAC(2*I)=XTRAC
  136. 70 CONTINUE
  137. CALL XKM(NCOURB,TRAC,XK,XM,W,F)
  138. DO 80 I=1,NCOURB
  139. XTRAC=TRAC(2*I-1)
  140. TRAC(2*I-1)=TRAC(2*I)
  141. TRAC(2*I)=XTRAC
  142. 80 CONTINUE
  143. SIGY=TRAC(2)
  144. XM2=(2.D0+XM)/XM
  145. XM1=(1.D0+XM)/XM
  146. S0PRI1=(EPSR**XM2)-(EPSD**XM2)
  147. S0PRI1=(XK*XK*S0PRI1)/XM2
  148. S0PRI2=(EPSR**XM1)-(EPSD**XM1)
  149. S0PRI2=(2.D0*SIGY*XK*S0PRI2)/XM1
  150. S0PRI3=SIGY*SIGY*(EPSR-EPSD)
  151. S0PRIM=(S0PRI1+S0PRI2+S0PRI3)/DC
  152. C
  153. C -----------------------------------------------------------
  154. C "DERTRA" CALCULE LA DERIVEE DE LA COURBE DE TRACTION EN VIR
  155. C -----------------------------------------------------------
  156. VIR=VARR(2)
  157. N2COUR=2*NCOURB
  158. CALL DERTRA(N2COUR,TRAC,VIR,Y,RPRIM,RINF,RSUP)
  159. C
  160. C
  161. S(2)=((Y**2.D0)*TRIAXI)/(S0PRIM*(1.D0-XD))
  162. C
  163. C ---------------------------------------------
  164. C SI LE SEUIL D'ENDOMMAGEMENT N'EST PAS ATTEINT
  165. C ---------------------------------------------
  166. IF (INDIC.EQ.0) S(2)=0.D0
  167. C
  168. C ===================
  169. C CALCUL DU VECT. QSI
  170. C ===================
  171. C
  172. QSI(1)=-RPRIM
  173. QSI(2)=Y/(1.D0-XD)
  174. C
  175. 100 CONTINUE
  176. RETURN
  177. END
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  

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