Télécharger cmvmmm.eso

Retour à la liste

Numérotation des lignes :

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

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