Télécharger cmvmmm.eso

Retour à la liste

Numérotation des lignes :

  1. C CMVMMM SOURCE BP208322 17/03/01 21:15:57 9325
  2. SUBROUTINE CMVMMM(WRK52,WRK53,WRK54,NVARI,iecou,necou,xecou)
  3. C MVMMM SOURCE PV 02/11/04 21:34:10 4472
  4. C MAZZZ SOURCE AM 00/12/13 21:39:54 4045
  5. c SUBROUTINE MVMMM(WRK0,WRK1,WRK5,NSTRS,NVARI,NMATT,ISTEP,
  6. c 1 ICARA,KERRE,MFR)
  7. *======================================================================
  8. * BCN
  9. * New source: one nonlocal damage material model added:
  10. * Modified Von Mises
  11. * This routine is very similar to MAZZZ.ESO
  12. *======================================================================
  13. C
  14. C calcule la deformation initiale et l'increment de deformation
  15. C a partir de la contrainte initiale et l'increment de contrainte
  16. C elastique puis appelle la subroutine MAZARS
  17. C
  18. C
  19. C variables en entree
  20. C
  21. C
  22. C NSTRS1 nombre de composantes dans les vecteurs des contraintes
  23. C et les vecteurs des deformations
  24. C
  25. C NVARI nombre de variables internes (doit etre egal a 2)
  26. C
  27. C NMATT nombre de constantes du materiau
  28. C
  29. C ISTEP flag utilise pour separer les etapes dans un calcul non local
  30. C ISTEP=0 -----> calcul local
  31. C ISTEP=1 -----> calcul non local etape 1 on calcule les seuils
  32. C ISTEP=2 -----> calcul non local etape 2 on continue le calcul
  33. C a partir des seuils moyennes
  34. C
  35. C
  36. C variables en sortie
  37. C
  38. C VARF variables internes finales dans WRK0
  39. C
  40. C SIGF contraintes finales dans WRK0
  41. C
  42. C Modif L.Bode - 09/10/92 - Traitement particulier des coques
  43. C Modif L.Bode - 14/10/92 - Modifications complementaires
  44. C
  45. IMPLICIT INTEGER(I-N)
  46. IMPLICIT REAL*8(A-H,O-Z)
  47. -INC CCOPTIO
  48. -INC DECHE
  49. SEGMENT IECOU
  50. * COMMON/IECOU/NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK,
  51. INTEGER icow1,icow2,icow3,icow4,icow5,icow6,icow7,
  52. C INTEGER NYOG, NYNU, NYALFA,NYSMAX,NYN, NYM, NYKK,
  53. 1 icow8,icow9,icow10,icow11,icow12,icow13,icow14,icow15,icow16,
  54. C . NYALF1,NYBET1,NYR, NYA, NYRHO,NSIGY, NNKX, NYKX, IND,
  55. 2 icow17,icow18,icow19,icow20,icow21,icow22,icow23,icow24,
  56. C . NSOM, NINV, NINCMA,NCOMP, JELEM, LEGAUS,INAT, NCXMAT,
  57. 3 icow25,icow26,icow27,icow28,icow29,icow30,ICARA,
  58. C . LTRAC, MFR, IELE, NHRM, NBNN, NBELEM,ICARA,
  59. 4 icow32,icow33,NSTRS1,MFR1,icow36,icow37,icow38,
  60. C . LW2, NDEF, NSTRSS,MFR1, NBGMAT,NELMAT,MSOUPA,
  61. 5 icow39,icow40,icow41,icow42,icow43,icow44
  62. C . NUMAT1,LENDO, NBBB, NNVARI,KERR1, MELEME
  63. INTEGER icow45,icow46,icow47,icow48,icow49,icow50,
  64. . icow51,icow52,icow53,icow54,icow55,icow56
  65. . icow57,icow58
  66. ENDSEGMENT
  67. SEGMENT NECOU
  68. * COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  69. INTEGER ncow(6), IFOURB,ncow1(14)
  70. ENDSEGMENT
  71. SEGMENT XECOU
  72. * COMMON/XECOU/DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00
  73. REAL*8 DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00
  74. ENDSEGMENT
  75. *
  76. SEGMENT WRKK2
  77. REAL*8 EPSILI(NSTRSV)
  78. END SEGMENT
  79. *
  80. SEGMENT WRK6
  81. REAL*8 SIG0S(NSTRS1),DEPSTS(NSTRS1)
  82. END SEGMENT
  83. *
  84. * INTEGER KCAS,IRTD
  85. * REAL*8 PREC,EPAI,FAC,AUX,AUX1,AUX2,YOUN,XNU
  86. * REAL*8 UN
  87. PARAMETER (UN=1.D0)
  88. KERRE=0
  89. YOUN = XMAT(1)
  90. XNU = XMAT(2)
  91. C
  92. C ON CALCULE LES CONTRAINTES VRAIES DANS LE CAS DES COQUES
  93. C
  94. C print*,'dans mazzzz MFR=', mfr
  95. IF (MFR .EQ. 9) THEN
  96. EPAI=xcarb(1)
  97. SEGINI WRK6
  98. DO 101 ISTRS=1,nstrs1
  99. SIG0S(ISTRS)=SIG0(ISTRS)
  100. DEPSTS(ISTRS)=DEPST(ISTRS)
  101. 101 CONTINUE
  102. nstrsV=4
  103. IFOUR2=-2
  104. C Modif L.Bode - 14/10/92
  105. C Dans le cas des coques, on force la dimension a 2 pour MAZARS
  106. C ie on travaille en contraintes planes
  107. JDIM =2
  108. C Fin modif L.Bode
  109. DO 102 ISTRS=1,2
  110. SIG0(ISTRS)=SIG0S(ISTRS)/EPAI
  111. 102 CONTINUE
  112. DEPST(3)=0.D0
  113. DEPST(4)=DEPSTS(3)
  114. SIG0(3)=0.D0
  115. SIG0(4)=SIG0S(3)/EPAI
  116. ELSE IF (MFR .EQ. 1) THEN
  117. nstrsV=nstrs1
  118. IFOUR2=IFOUR
  119. C Modif L.Bode - 14/10/92
  120. C Pour les elts massifs, on utilise la vraie dimension
  121. JDIM = IDIM
  122. C Fin modif L.Bode
  123. ELSE
  124. PRINT*,'MFR=',MFR
  125. KERRE=57
  126. RETURN
  127. END IF
  128. SEGINI WRKK2
  129.  
  130.  
  131. C
  132. C calcul de la matrice elastique
  133. C
  134. CMATE = 'ISOTROPE'
  135. KCAS=1
  136. * print*,'increment de deformation elastique'
  137. CALL DOHMAS(XMAT,CMATE,IFOUR2,nstrsV,KCAS,DDHOOK,IRTD)
  138. * DO ISTRS=1,nstrs1
  139. * print*,(DDHOOK(ISTRS,J),j=1,nstrs1)
  140. * print*,DEPST(ISTRS)
  141. * END DO
  142. IF ( IRTD .EQ. 1) THEN
  143. C
  144. C calcul de l'increment de contrainte
  145. C
  146. CALL MATVE1 (DDHOOK,DEPST,NSTRSV,NSTRSV,DSIGT,1)
  147. C
  148. C
  149. C inversion de cette matrice
  150. C
  151. PREC=1.D-08
  152. CALL DOHMAS(XMAT,CMATE,IFOUR2,NSTRSV,2,DDHOOK,IRTD)
  153. * DO ISTRS=1,NSTRSV
  154. * print*,(DDHOOK(ISTRS,J),j=1,nstrsv)
  155. * END DO
  156. * print*,'appel a invalm'
  157. CALL INVALM(DDHOOK,NSTRSV,NSTRSV,IRTD,PREC)
  158. IF (IRTD.EQ.0)THEN
  159. C
  160. C calcul des deformations du materiau elastique lineaire
  161. C
  162. * print*,'appel a matve1'
  163. CALL MATVE1 (DDHOOK,SIG0,NSTRSV,NSTRSV,EPSILI,1)
  164. C
  165. C modification pour tenir compte de l'endommagement
  166. C
  167. DO 100 ISTRS=1,NSTRSV
  168. EPSILI(ISTRS)=EPSILI(ISTRS)+EPIN0(ISTRS)
  169. 100 CONTINUE
  170.  
  171. C
  172. C appel a la routine MAZARS
  173. C
  174. C Modif L.Bode - 14/10/92
  175. C On envoie la dimension et le numero de la formulation
  176. C ( Elts Coques JDIM =2 , IFOUR2 = -2 => contraintes planes
  177. C Elts Massifs JDIM = IDIM ,IFOUR2 = IFOUR)
  178. * print*,'appel a mazars'
  179. *
  180. * BCN
  181. C CALL MAZARS (WRK0,WRK1,WRKK2,WRK5,NSTRSV,NVARI,NMATT,
  182. C 1 ISTEP,ICARA,JDIM,IFOUR2)
  183. c CALL MODVONMISES (WRK0,WRK1,WRKK2,WRK5,NSTRSV,NVARI,NMATT,
  184. c 1 ISTEP,ICARA,JDIM,IFOUR2)
  185. icarbi=icara
  186. CALL CODVMS (WRK52,WRK53,WRK54,WRKK2,NSTRSV,NVARI,ICARBI,
  187. $ jdim,ifour2)
  188. * BCN
  189. *
  190. C Fin modif L.Bode
  191. C
  192. C ON RECALCULE LES CONTRAINTES EFFECTIVES POUR LES COQUES
  193. C
  194. * print*,'apres mazars'
  195. IF (MFR .EQ. 9) THEN
  196.  
  197.  
  198. C
  199. C ON MET A JOUR DE FACON NON LINEAIRE LA PARTIE MEMBRANE
  200. C ET LES PARTIES FLEXION ET EFFORTS
  201. C TRANCHANTS LE CAS ECHEANT
  202. C
  203. FAC=(EPAI**3)/12.D0
  204. AUX =FAC*YOUN/(1.D0-XNU*XNU)
  205. AUX1=FAC*YOUN*.5D0/(1.D0+XNU)
  206. AUX2=EPAI*YOUN*.5D0/(1.d0+XNU)/1.2d0
  207. DO 103 ISTRS=1,nstrs1
  208. SIG0(ISTRS)=SIG0S(ISTRS)
  209. DEPST(ISTRS)=DEPSTS(ISTRS)
  210. 103 CONTINUE
  211.  
  212. DO 104 ISTRS=1,2
  213. SIGF (ISTRS)=SIGF(ISTRS)*EPAI
  214. 104 CONTINUE
  215. SIGF(3)=SIGF(4)*EPAI
  216. SIGF(4)=SIG0(4)+AUX*(DEPST(4)+XNU*DEPST(5))
  217. SIGF(5)=SIG0(5)+AUX*(DEPST(5)+XNU*DEPST(4))
  218. SIGF(6)=SIG0(6)+AUX1*DEPST(6)
  219. SIGF(7)=SIG0(7)+AUX2*DEPST(7)
  220. SIGF(8)=SIG0(8)+AUX2*DEPST(8)
  221. SEGSUP WRK6
  222. END IF
  223. ELSE
  224. print*,'erreur dans invalm'
  225. KERRE=56
  226. END IF
  227. ELSE
  228. print*,'erreur dans dohmas'
  229. KERRE=56
  230. END IF
  231. SEGSUP WRKK2
  232. RETURN
  233. END
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  

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