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
  49. * TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI = TABLEAUX UTILISES
  50. * POUR LE CALCUL DE LA MATRICE DE HOOKE
  51. C
  52. C SORTIES:
  53. C -------
  54. C SIGF(NSTRS)= CONTR. A LA FIN DU PAS D'INTEGRATION
  55. C VARF(NVARI)= VARIABLES INTERNES A LA FIN DU PAS D'INTEGRATION
  56. C DEFP(NSTRS)= INCREMENT DES DEFORM. PLASTIQUES A LA FIN DU PAS
  57. C D'INTEGRATION
  58. C KERRE = INDICE QUI REGIT LES ERREURS
  59. C = 77 SI LA DEFORM. PLAST. CUMULEE ENDOMMAGEE (2IEME VAR.
  60. C INT.) EST EN DEHORS DE LA COURBE DE TRACTION, DS.
  61. C LE CAS DE L'ECROUISSAGE ET DE L'ENDOMM. ISOTROPES.
  62. C CECI PEUT SE PRODUIRE SUITE A L'APPEL A "CRIDAM"
  63. C = 99 SI LA FORMULATION MECANIQUE N'EST PAS DISPONIBLE
  64. C POUR LE MODELE CONSIDERE OU S'IL Y A INCOMPATIBILITE
  65. C ENTRE MFR ET IFOUR
  66. C ==================================================================
  67. C ICI IL FAUT PROGRAMMER EN FORTRAN PUR
  68. C ===================================================================
  69. C
  70. IMPLICIT INTEGER(I-N)
  71. IMPLICIT REAL*8(A-H,O-Z)
  72. -INC CCOPTIO
  73. DIMENSION SIG0(*),DEPST(*),VAR0(*),XMAT(*),XCAR(*),SIGF(*),
  74. & VARF(*),DEFP(*)
  75. DIMENSION RSIG0(6),RDSIGT(6),RDEFP(6),RSIGF(6),DSIGT(*)
  76. DIMENSION VALMAT(*),VALCAR(*)
  77. DIMENSION TXR(IDIM,*),CRIGI(12)
  78. DIMENSION DDAUX(LHOOK,*),DDHOMU(LHOOK,*)
  79. DIMENSION XLOC(3,3),XGLOB(3,3)
  80. DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*)
  81. CHARACTER*8 CMATE
  82. C
  83. C CALCUL DE L'INCREMENT DE CONTRAINTES
  84. C
  85. CALL CALSIG(DEPST,DDAUX,NSTRS,CMATE,VALMAT,VALCAR,
  86. 1 N2EL,N2PTEL,MFR1,IFOU,IB,IGAU,EPAIST,NBPGAU,
  87. 2 MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,
  88. 3 XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
  89. *
  90. IF(IRTD.NE.1) THEN
  91. KERRE=69
  92. GOTO 1000
  93. ENDIF
  94. *
  95. C
  96. C ADAPTATION DE L'OPTION DE CACUL VERS LE 3D MASSIF DE SIG0 A RSIG0
  97. C
  98. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  99. C 1 formulation massive
  100. C 2 formulation quasi incompressible
  101. C MASSIF 3D
  102. IF (NSTRS .EQ. 6) THEN
  103. DO 10 I=1,NSTRS
  104. RSIG0(I)=SIG0(I)
  105. RDSIGT(I)=DSIGT(I)
  106. 10 CONTINUE
  107. ELSE IF ( NSTRS .EQ. 4 .AND. ((IFOUR .EQ. 0)
  108. & .OR. (IFOUR .EQ. -1))) THEN
  109. C calcul en mode contraintes planes ou axisymetrique
  110. DO 15 I=1,NSTRS
  111. RSIG0(I)=SIG0(I)
  112. RDSIGT(I)=DSIGT(I)
  113. 15 CONTINUE
  114. RSIG0(5)=0.D0
  115. RSIG0(6)=0.D0
  116. RDSIGT(5)=0.D0
  117. RDSIGT(6)=0.D0
  118. ENDIF
  119. ELSE
  120. KERRE = 99
  121. RETURN
  122. ENDIF
  123. C
  124. C DONNE MATERIAU
  125. C
  126. YOUNG = XMAT(1)
  127. POISSON = XMAT(2)
  128. Y = XMAT(5)
  129. CK = XMAT(7)
  130. CN = XMAT(6)
  131. *
  132. * SIGBAR=XMAT(7)
  133. * SY0=XMAT(5)
  134. * phi0=XMAT(8)
  135. * G=XMAT(1)/2.D0/(1.D0+XMAT(2))
  136. * B=XMAT(1)/3.D0/(1.D0-2.D0*XMAT(2))
  137. * H=XMAT(6)
  138. * RHO0=1.D0
  139.  
  140. C
  141. C WRITE (*,*) '------------------------------'
  142. C WRITE (*,100) 'sig=' ,(RSIG0(I),I=1,6)
  143. C WRITE (*,*) 'P=',RP
  144. C WRITE (*,100) 'dsig=' ,(DSIGT(I),I=1,6)
  145. C WRITE (*,100) 'dept=' ,(RDEF(I),I=1,6)
  146. C WRITE (*,*) 'YOUNG=',YOUNG
  147. C WRITE (*,*) 'NU=' , POISSON
  148. C WRITE (*,*) 'epse=',VAR0(1), ' phi=',VAR0(2),' dens=',VAR0(3)
  149.  
  150. C
  151. C NOUVEL ETAT APRES L'INCREMENT DE DEFORMATION
  152. C
  153. CALL VPARF(YOUNG,POISSON,Y,CK,CN,RSIG0,RDSIGT,RDEFP,RSIGF,DT)
  154. C
  155. C WRITE (*,100) 'sig=' ,(RSIGF(I),I=1,6)
  156. C WRITE (*,*) 'P=',RP
  157. C WRITE (*,*) 'epse=',VAR0(1),' phi0=',VAR0(2),' dens=',VAR0(3)
  158. C
  159.  
  160. C VARIABLES INTERNES
  161. C
  162. DO 50 I=1,NVARI
  163. VARF(I)=VAR0(I)
  164. 50 CONTINUE
  165. C
  166. C PASSAGE A L'OPTION DE CALCUL POUR LES CONTRAINTES
  167. C
  168. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  169. IF (NSTRS .EQ. 6) THEN
  170. C MASSIF 3D
  171. DO 70 I=1,NSTRS
  172. SIGF(I)=RSIGF(I)
  173. DEFP(I)=RDEFP(I)
  174. 70 CONTINUE
  175. ELSE IF ( NSTRS .EQ. 4 ) THEN
  176. C CALCUL AXYSYMETRQUE OU CONTRAINTE PLANES
  177. DO 80 I=1,NSTRS
  178. SIGF(I)=RSIGF(I)
  179. DEFP(I)=RDEFP(I)
  180. 80 CONTINUE
  181. IF ( RSIGF(5) .GT. 1.E-6 .OR. RSIGF(6) .GT. 1.E-6) THEN
  182. WRITE (*,*) 'Dans la routine prvpar
  183. & SMRT OU SMTZ NON NULLES APRES ECOUL'
  184. ENDIF
  185. ENDIF
  186. ENDIF
  187. c ajustement de l'ecrouissage
  188. GAMMA = 0.D0
  189. DO 90 I=1,NSTRS
  190. GAMMA = GAMMA+DEFP(I)*DEFP(I)
  191. 90 CONTINUE
  192. GAMMA = SQRT(2.D0/3.D0*GAMMA)
  193. VARF(1)=VAR0(1)+GAMMA
  194. C
  195. C WRITE (*,100) 'sig=' ,(SIGF(I),I=1,6)
  196. C WRITE (*,100) 'var=' ,(VARF(I),I=1,3)
  197. C WRITE (*,100) 'dep=' ,(DEFP(I),I=1,6)
  198. C
  199. 100 FORMAT (A,6(1PE12.5,1X))
  200. 1000 RETURN
  201. END
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  

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