Télécharger prvpar.eso

Retour à la liste

Numérotation des lignes :

  1. C PRVPAR SOURCE BP208322 17/03/01 21:18:02 9325
  2. SUBROUTINE PRVPAR(SIG0,NSTRS,DEPST,VAR0,XMAT,NCOMAT,XCAR,ICARA,
  3. 1NVARI,SIGF,VARF,DEFP,MFR1,DDAUX,CMATE,VALMAT,VALCAR,N2EL,N2PTEL,
  4. 2 NBPGAU,IFOU,IB,IGAU,EPAIST,MELE,NPINT,NBGMAT,NELMAT,SECT,
  5. 3 LHOOK,TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,KERRE,DT)
  6. C
  7. C ==================================================================
  8. C CE SOUS-PROGRAMME EST APPELE DANS "ECOUL2".
  9. C IL PREPARE L'INTEGRATION DE LA LOI DE GURSON
  10. C
  11. C ENTREES:
  12. C -------
  13. C NSTRS = NBR. DE COMPOSANTES DES CONTR. OU DES DEFORM.
  14. C SIG0(NSTRS) = CONTR. AU DEBUT DU PAS D'INTEGRATION
  15. C DEPST(NSTRS) = INCREMENT DES DEFORM. CALCULE ELASTIQUEMENT
  16. C A PARTIR DE L'INCREMENT DES DEFORM. TOTALES
  17. C NVARI = NBR. DE VARIABLES INTERNES
  18. C VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION
  19. C CE TABLEAU CONTIENT DANS L'ORDRE:
  20. C - LA DEFORM. PLASTIQUE CUMULEE
  21. C - LA FRACTION DE VIDE INTERNE
  22. C - LA DENSITE
  23. C - LES DEFORM. PLASTIQUES
  24. C NCOMAT = NBR. DE CARACTERISTIQUES MECANIQUES DU MATERIAU
  25. C XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU
  26. C MFR = INDICE DE LA FORMULATION MECANIQUE; SEULEMENT
  27. C MASSIF OU COQUE POUR LES MATERIAUX ENDOMMAGEABLES
  28. C ICARA = NBR. DE CARACT. GEOMETRIQUES DES ELEMENTS FINIS
  29. C XCAR(ICARA) = CARACT. GEOMETRIQUES DES ELEMENTS FINIS
  30. * DDAUX = MATRICE DE HOOKE ELASTIQUE
  31. * NSTRS = NBRE DE COMPOSANTES DES DEFORMATIONS
  32. * CMATE = NOM DU MATERIAU
  33. * VALMAT= TABLEAU DE CARACTERISTIQUES DU MATERIAU
  34. * VALCAR= TABLEAU DE CARACTERISTIQUES GEOMETRIQUES
  35. * N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE
  36. * N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE
  37. * MFR = NUMERO DE LA FORMULATION
  38. * IFOU = OPTION DE CALCUL
  39. * IB = NUMERO DE L ELEMENT COURANT
  40. * IGAU = NUMERO DU POINT COURANT
  41. * EPAIST= EPAISSEUR
  42. * NBPGAU= NBRE DE POINTS DE GAUSS
  43. * MELE = NUMERO DE L ELEMENT FINI
  44. * NPINT = NBRE DE POINTS D INTEGRATION
  45. * NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES
  46. * NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES
  47. * SECT = SECTION
  48. * LHOOK = TAILLE DE LA MATRICE DE HOOKE
    =/li¾
    * TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI = TABLEAUX UTILISES
  49. * POUR LE CALCUL DE LA MATRICE DE HOOKE
  50. C
  51. C SORTIES:
  52. C -------
  53. C SIGF(NSTRS)= CONTR. A LA FIN DU PAS D'INTEGRATION
  54. C VARF(NVARI)= VARIABLES INTERNES A LA FIN DU PAS D'INTEGRATION
  55. C DEFP(NSTRS)= INCREMENT DES DEFORM. PLASTIQUES A LA FIN DU PAS
  56. C D'INTEGRATION
  57. C KERRE = INDICE QUI REGIT LES ERREURS
  58. C = 77 SI LA DEFORM. PLAST. CUMULEE ENDOMMAGEE (2IEME VAR.
  59. C INT.) EST EN DEHORS DE LA COURBE DE TRACTION, DS.
  60. C LE CAS DE L'ECROUISSAGE ET DE L'ENDOMM. ISOTROPES.
  61. C CECI PEUT SE PRODUIRE SUITE A L'APPEL A "CRIDAM"
  62. C = 99 SI LA FORMULATION MECANIQUE N'EST PAS DISPONIBLE
  63. C POUR LE MODELE CONSIDERE OU S'IL Y A INCOMPATIBILITE
  64. C ENTRE MFR ET IFOUR
  65. C ==================================================================
  66. C ICI IL FAUT PROGRAMMER EN FORTRAN PUR
  67. C ===================================================================
  68. C
  69. IMPLICIT INTEGER(I-N)
  70. IMPLICIT REAL*8(A-H,O-Z)
  71. -INC CCOPTIO
  72. DIMENSION SIG0(*),DEPST(*),VAR0(*),XMAT(*),XCAR(*),SIGF(*),
  73. & VARF(*),DEFP(*)
  74. DIMENSION RSIG0(6),RDSIGT(6),RDEFP(6),RSIGF(6),DSIGT(*)
  75. DIMENSION VALMAT(*),VALCAR(*)
  76. DIMENSION TXR(IDIM,*),CRIGI(12)
  77. DIMENSION DDAUX(LHOOK,*),DDHOMU(LHOOK,*)
  78. DIMENSION XLOC(3,3),XGLOB(3,3)
  79. DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*)
  80. CHARACTER*8 CMATE
  81. C
  82. C CALCUL DE L'INCREMENT DE CONTRAINTES
  83. C
  84. CALL CALSIG(DEPST,DDAUX,NSTRS,CMATE,VALMAT,VALCAR,
  85. 1 N2EL,N2PTEL,MFR1,IFOU,IB,IGAU,EPAIST,NBPGAU,
  86. 2 MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,
  87. 3 XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
  88. *
  89. IF(IRTD.NE.1) THEN
  90. KERRE=69
  91. GOTO 1000
  92. ENDIF
  93. *
  94. C
  95. C ADAPTATION DE L'OPTION DE CACUL VERS LE 3D MASSIF DE SIG0 A RSIG0
  96. C
  97. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  98. C 1 formulation massive
  99. C 2 formulation quasi incompressible
  100. C MASSIF 3D
  101. IF (NSTRS .EQ. 6) THEN
  102. DO 10 I=1,NSTRS
  103. RSIG0(I)=SIG0(I)
  104. RDSIGT(I)=DSIGT(I)
  105. 10 CONTINUE
  106. ELSE IF ( NSTRS .EQ. 4 .AND. ((IFOUR .EQ. 0)
  107. & .OR. (IFOUR .EQ. -1))) THEN
  108. C calcul en mode contraintes planes ou axisymetrique
  109. DO 15 I=1,NSTRS
  110. RSIG0(I)=SIG0(I)
  111. RDSIGT(I)=DSIGT(I)
  112. 15 CONTINUE
  113. RSIG0(5)=0.D0
  114. RSIG0(6)=0.D0
  115. RDSIGT(5)=0.D0
  116. RDSIGT(6)=0.D0
  117. ENDIF
  118. ELSE
  119. KERRE = 99
  120. RETURN
  121. ENDIF
  122. C
  123. C DONNE MATERIAU
  124. C
  125. YOUNG = XMAT(1)
  126. POISSON = XMAT(2)
  127. Y = XMAT(5)
  128. CK = XMAT(7)
  129. CN = XMAT(6)
  130. *
  131. * SIGBAR=XMAT(7)
  132. * SY0=XMAT(5)
  133. * phi0=XMAT(8)
  134. * G=XMAT(1)/2.D0/(1.D0+XMAT(2))
  135. * B=XMAT(1)/3.D0/(1.D0-2.D0*XMAT(2))
  136. * H=XMAT(6)
  137. * RHO0=1.D0
  138.  
  139. C
  140. C WRITE (*,*) '------------------------------'
  141. C WRITE (*,100) 'sig=' ,(RSIG0(I),I=1,6)
  142. C WRITE (*,*) 'P=',RP
  143. C WRITE (*,100) 'dsig=' ,(DSIGT(I),I=1,6)
  144. C WRITE (*,100) 'dept=' ,(RDEF(I),I=1,6)
  145. C WRITE (*,*) 'YOUNG=',YOUNG
  146. C WRITE (*,*) 'NU=' , POISSON
  147. C WRITE (*,*) 'epse=',VAR0(1), ' phi=',VAR0(2),' dens=',VAR0(3)
  148.  
  149. C
  150. C NOUVEL ETAT APRES L'INCREMENT DE DEFORMATION
  151. C
  152. CALL VPARF(YOUNG,POISSON,Y,CK,CN,RSIG0,RDSIGT,RDEFP,RSIGF,DT)
  153. C
  154. C WRITE (*,100) 'sig=' ,(RSIGF(I),I=1,6)
  155. C WRITE (*,*) 'P=',RP
  156. C WRITE (*,*) 'epse=',VAR0(1),' phi0=',VAR0(2),' dens=',VAR0(3)
  157. C
  158.  
  159. C VARIABLES INTERNES
  160. C
  161. DO 50 I=1,NVARI
  162. VARF(I)=VAR0(I)
  163. 50 CONTINUE
  164. C
  165. C PASSAGE A L'OPTION DE CALCUL POUR LES CONTRAINTES
  166. C
  167. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  168. IF (NSTRS .EQ. 6) THEN
  169. C MASSIF 3D
  170. DO 70 I=1,NSTRS
  171. SIGF(I)=RSIGF(I)
  172. DEFP(I)=RDEFP(I)
  173. 70 CONTINUE
  174. ELSE IF ( NSTRS .EQ. 4 ) THEN
  175. C CALCUL AXYSYMETRQUE OU CONTRAINTE PLANES
  176. DO 80 I=1,NSTRS
  177. SIGF(I)=RSIGF(I)
  178. DEFP(I)=RDEFP(I)
  179. 80 CONTINUE
  180. IF ( RSIGF(5) .GT. 1.E-6 .OR. RSIGF(6) .GT. 1.E-6) THEN
  181. WRITE (*,*) 'Dans la routine prvpar
  182. & SMRT OU SMTZ NON NULLES APRES ECOUL'
  183. ENDIF
  184. ENDIF
  185. ENDIF
  186. c ajustement de l'ecrouissage
  187. GAMMA = 0.D0
  188. DO 90 I=1,NSTRS
  189. GAMMA = GAMMA+DEFP(I)*DEFP(I)
  190. 90 CONTINUE
  191. GAMMA = SQRT(2.D0/3.D0*GAMMA)
  192. VARF(1)=VAR0(1)+GAMMA
  193. C
  194. C WRITE (*,100) 'sig=' ,(SIGF(I),I=1,6)
  195. C WRITE (*,100) 'var=' ,(VARF(I),I=1,3)
  196. C WRITE (*,100) 'dep=' ,(DEFP(I),I=1,6)
  197. C
  198. 100 FORMAT (A,6(1PE12.5,1X))
  199. 1000 RETURN
  200. END
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  

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