Télécharger prvpar.eso

Retour à la liste

Numérotation des lignes :

prvpar
  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.  
  73. -INC PPARAM
  74. -INC CCOPTIO
  75. DIMENSION SIG0(*),DEPST(*),VAR0(*),XMAT(*),XCAR(*),SIGF(*),
  76. & VARF(*),DEFP(*)
  77. DIMENSION RSIG0(6),RDSIGT(6),RDEFP(6),RSIGF(6),DSIGT(*)
  78. DIMENSION VALMAT(*),VALCAR(*)
  79. DIMENSION TXR(IDIM,*),CRIGI(12)
  80. DIMENSION DDAUX(LHOOK,*),DDHOMU(LHOOK,*)
  81. DIMENSION XLOC(3,3),XGLOB(3,3)
  82. DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*)
  83. CHARACTER*8 CMATE
  84. C
  85. C CALCUL DE L'INCREMENT DE CONTRAINTES
  86. C
  87. CALL CALSIG(DEPST,DDAUX,NSTRS,CMATE,VALMAT,VALCAR,
  88. 1 N2EL,N2PTEL,MFR1,IFOU,IB,IGAU,EPAIST,NBPGAU,
  89. 2 MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,
  90. 3 XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
  91. *
  92. IF(IRTD.NE.1) THEN
  93. KERRE=69
  94. GOTO 1000
  95. ENDIF
  96. *
  97. C
  98. C ADAPTATION DE L'OPTION DE CACUL VERS LE 3D MASSIF DE SIG0 A RSIG0
  99. C
  100. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  101. C 1 formulation massive
  102. C 2 formulation quasi incompressible
  103. C MASSIF 3D
  104. IF (NSTRS .EQ. 6) THEN
  105. DO 10 I=1,NSTRS
  106. RSIG0(I)=SIG0(I)
  107. RDSIGT(I)=DSIGT(I)
  108. 10 CONTINUE
  109. ELSE IF ( NSTRS .EQ. 4 .AND. ((IFOUR .EQ. 0)
  110. & .OR. (IFOUR .EQ. -1))) THEN
  111. C calcul en mode contraintes planes ou axisymetrique
  112. DO 15 I=1,NSTRS
  113. RSIG0(I)=SIG0(I)
  114. RDSIGT(I)=DSIGT(I)
  115. 15 CONTINUE
  116. RSIG0(5)=0.D0
  117. RSIG0(6)=0.D0
  118. RDSIGT(5)=0.D0
  119. RDSIGT(6)=0.D0
  120. ENDIF
  121. ELSE
  122. KERRE = 99
  123. RETURN
  124. ENDIF
  125. C
  126. C DONNE MATERIAU
  127. C
  128. YOUNG = XMAT(1)
  129. POISSON = XMAT(2)
  130. Y = XMAT(5)
  131. CK = XMAT(7)
  132. CN = XMAT(6)
  133. *
  134. * SIGBAR=XMAT(7)
  135. * SY0=XMAT(5)
  136. * phi0=XMAT(8)
  137. * G=XMAT(1)/2.D0/(1.D0+XMAT(2))
  138. * B=XMAT(1)/3.D0/(1.D0-2.D0*XMAT(2))
  139. * H=XMAT(6)
  140. * RHO0=1.D0
  141.  
  142. C
  143. C WRITE (*,*) '------------------------------'
  144. C WRITE (*,100) 'sig=' ,(RSIG0(I),I=1,6)
  145. C WRITE (*,*) 'P=',RP
  146. C WRITE (*,100) 'dsig=' ,(DSIGT(I),I=1,6)
  147. C WRITE (*,100) 'dept=' ,(RDEF(I),I=1,6)
  148. C WRITE (*,*) 'YOUNG=',YOUNG
  149. C WRITE (*,*) 'NU=' , POISSON
  150. C WRITE (*,*) 'epse=',VAR0(1), ' phi=',VAR0(2),' dens=',VAR0(3)
  151.  
  152. C
  153. C NOUVEL ETAT APRES L'INCREMENT DE DEFORMATION
  154. C
  155. CALL VPARF(YOUNG,POISSON,Y,CK,CN,RSIG0,RDSIGT,RDEFP,RSIGF,DT)
  156. C
  157. C WRITE (*,100) 'sig=' ,(RSIGF(I),I=1,6)
  158. C WRITE (*,*) 'P=',RP
  159. C WRITE (*,*) 'epse=',VAR0(1),' phi0=',VAR0(2),' dens=',VAR0(3)
  160. C
  161.  
  162. C VARIABLES INTERNES
  163. C
  164. DO 50 I=1,NVARI
  165. VARF(I)=VAR0(I)
  166. 50 CONTINUE
  167. C
  168. C PASSAGE A L'OPTION DE CALCUL POUR LES CONTRAINTES
  169. C
  170. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  171. IF (NSTRS .EQ. 6) THEN
  172. C MASSIF 3D
  173. DO 70 I=1,NSTRS
  174. SIGF(I)=RSIGF(I)
  175. DEFP(I)=RDEFP(I)
  176. 70 CONTINUE
  177. ELSE IF ( NSTRS .EQ. 4 ) THEN
  178. C CALCUL AXYSYMETRQUE OU CONTRAINTE PLANES
  179. DO 80 I=1,NSTRS
  180. SIGF(I)=RSIGF(I)
  181. DEFP(I)=RDEFP(I)
  182. 80 CONTINUE
  183. IF ( RSIGF(5) .GT. 1.E-6 .OR. RSIGF(6) .GT. 1.E-6) THEN
  184. WRITE (*,*) 'Dans la routine prvpar
  185. & SMRT OU SMTZ NON NULLES APRES ECOUL'
  186. ENDIF
  187. ENDIF
  188. ENDIF
  189. c ajustement de l'ecrouissage
  190. GAMMA = 0.D0
  191. DO 90 I=1,NSTRS
  192. GAMMA = GAMMA+DEFP(I)*DEFP(I)
  193. 90 CONTINUE
  194. GAMMA = SQRT(2.D0/3.D0*GAMMA)
  195. VARF(1)=VAR0(1)+GAMMA
  196. C
  197. C WRITE (*,100) 'sig=' ,(SIGF(I),I=1,6)
  198. C WRITE (*,100) 'var=' ,(VARF(I),I=1,3)
  199. C WRITE (*,100) 'dep=' ,(DEFP(I),I=1,6)
  200. C
  201. 100 FORMAT (A,6(1PE12.5,1X))
  202. 1000 RETURN
  203. END
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  

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