Télécharger ricbet.eso

Retour à la liste

Numérotation des lignes :

ricbet
  1. C RICBET SOURCE OF166741 25/11/04 21:16:04 12349
  2. SUBROUTINE RICBET(wrk52,wrk53,wrk54,nvari)
  3. C
  4. C====&===1=========2=========3=========4=========5=========6=========7==
  5. C Commentaires : Subroutine permettant de mettre en oeuvre le
  6. C modele RICBET (B. Richard) pour representer
  7. C le comportement 2D/3D d'un beton ordinaire sous
  8. C sollicitations cycliques
  9. C
  10. C Traits : - Endommagement scalaire
  11. C - Boucles hysteresis
  12. C - Deformations permanentes
  13. C - Refermeture lineaire des fissures
  14. C - Effet unilatteral complet
  15. C - Non localite portant sur le seuil d'endommagement (Fd)
  16. C
  17. C Auteur : B. Richard
  18. C
  19. C Co-auteur : F. Ragueneau
  20. C
  21. C Date : 2010 - 2011
  22. C====&===1=========2=========3=========4=========5=========6=========7==
  23. C
  24. C-----DECLARATION GENERALE----------------------------------------------
  25. C
  26. IMPLICIT REAL*8(A-H,O-Z)
  27. REAL*8 DEPST2(4),DEPST3(6),VAR1(42)
  28. C
  29. C-----LISTE DES INCLUDES A CHARGER--------------------------------------
  30. C
  31. -INC PPARAM
  32. -INC CCOPTIO
  33. -INC DECHE
  34. C
  35. C-----DEFINITION DE L ISOTROPIE-----------------------------------------
  36. C
  37. CMATE = 'ISOTROPE'
  38. C
  39. C-----PARAMETERES-------------------------------------------------------
  40. C
  41.  
  42. C Dans le cas d'un calcul local :
  43. C --> NSUB = NSUB0
  44. C
  45. C Dans le cas d'un calculs non local :
  46. C --> calcul du seuil : NSUB = 1
  47. C --> calcul moyenne : NSUB = NSUB0
  48.  
  49.  
  50. C Choix de NSUB0 de maniere adaptative
  51. XTEMP = 0.0D0
  52.  
  53. DO I=1,(2*IDIM)
  54. XTEMP = MAX(ABS(DEPST(I)),XTEMP)
  55. ENDDO
  56.  
  57. IF (XTEMP.LE.1.0D-5) THEN
  58. NSUB0 = 10
  59. ELSEIF ((XTEMP.GT.1.0D-5).AND.(XTEMP.LE.1.0D-4)) THEN
  60. NSUB0 = 100
  61. ELSEIF ((XTEMP.GT.1.0D-4).AND.(XTEMP.LE.1.0D-3)) THEN
  62. NSUB0 = 1000
  63. ELSEIF (XTEMP.GT.1.0D-3) THEN
  64. NSUB0 = 1000
  65. ENDIF
  66.  
  67. IF (ISTEP.EQ.0) THEN
  68. NSUB = NSUB0
  69. ELSEIF (ISTEP.EQ.1) THEN
  70. NSUB = 1
  71. ELSEIF (ISTEP.EQ.2) THEN
  72. NSUB = NSUB0
  73. ENDIF
  74. C
  75. C-----SWITCH SELON LA DIMENSION-----------------------------------------
  76. C
  77. IF (IDIM.EQ.2) THEN
  78.  
  79. PRINT*,'Pas operationnel... a travailler'
  80. STOP
  81.  
  82. C RICBET2D
  83. C-----------------------------------------------------------------------
  84. C
  85. C On forme le vecteur des increments de deformations subdivisees
  86. DO K=1,4
  87. DEPST2(K)=DEPST(K)/NSUB
  88. ENDDO
  89.  
  90. C On retient les varibles internes de depart
  91. DO K=1,42
  92. VAR1(K)=VAR0(K)
  93. ENDDO
  94.  
  95. C On commence le substepping
  96. DO J=1,NSUB
  97.  
  98. ** CALL RICBET2D(XMAT,SIG0,SIGF,VAR1,VARF,DEPST2,ISTEP)
  99.  
  100. DO I=1,42
  101. VAR1(I)=VARF(I)
  102. ENDDO
  103.  
  104. ENDDO
  105.  
  106. ELSE
  107.  
  108. C RICBET3D
  109. C-----------------------------------------------------------------------
  110. C
  111. C On forme le vecteur des increments de deformations subdivisees
  112. DO K=1,6
  113. DEPST3(K)=DEPST(K)/NSUB
  114. ENDDO
  115.  
  116. C On retient les varibles internes de depart
  117. DO K=1,42
  118. VAR1(K)=VAR0(K)
  119. ENDDO
  120.  
  121. C On commence le substepping
  122. DO J=1,NSUB
  123.  
  124. CALL RICBET3D(XMAT,SIG0,SIGF,VAR1,VARF,DEPST3,ISTEP)
  125.  
  126. C CALL RICBET3D2(XMAT,SIG0,SIGF,VAR1,VARF,DEPST3,ISTEP)
  127.  
  128. DO I=1,42
  129. VAR1(I)=VARF(I)
  130. ENDDO
  131.  
  132. ENDDO
  133.  
  134. ENDIF
  135.  
  136. RETURN
  137. END
  138.  
  139.  
  140.  

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