Télécharger cfattt.eso

Retour à la liste

Numérotation des lignes :

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

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