Download ricbetf2.eso

Back to the list

   1 : C RICBETF2  SOURCE    BR232186  12/08/01    22:53:39     7456           
   2 :       SUBROUTINE RICBETF2(XMAT,DEPS,SIG0,VAR0,SIGF,VARF)
   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 pour representer
   7 : C                le comportement simplifie d'un beton ordinaire sous                 
   8 : C                sollicitations cycliques
   9 : C
  10 : C Traits       : - Endommagement scalaire 
  11 : C                - Glissement frottant
  12 : C                - multifibre
  13 : C                - Monotone et cyclique
  14 : C                - Effet unilatteral
  15 : C                - Comportement lineaire en compression
  16 : C
  17 : C Auteurs      : B. Richard
  18 : C              : CEA-DEN/DANS/DM2S/SEMT/EMSI
  19 : C              : Benjamin.Richard@cea.fr
  20 : C
  21 : C Date         : Mars 2011
  22 : C====&===1=========2=========3=========4=========5=========6=========7==
  23 : C
  24 : C-----DECLARATION GENERALE----------------------------------------------
  25 : C
  26 :       IMPLICIT INTEGER(I-N)
  27 :       IMPLICIT REAL*8(A-H,O-Z)
  28 : C
  29 : C-----DECLARATION DES VARIABLES-----------------------------------------
  30 : C
  31 :       DIMENSION XMAT(*),DEPS(3),SIG0(3),VAR0(*),SIGF(3),VARF(*)
  32 :       REAL*8 VAR1(10),DEPS1(3)
  33 : 
  34 : C     Parametre pour le nombre d iteration locales internes
  35 :       IMAX = 500
  36 : 
  37 : C     Parametre pour le nombre de sous pas lie au sub-steeping
  38 :       NENTIER = 50
  39 : C
  40 : C-----DONNEES MATERIAUX-------------------------------------------------
  41 : C       
  42 :       XYG  = XMAT(1)
  43 :       XGC  = XMAT(1)/2.0D0/(XMAT(2)+1.0D0)
  44 :       XNU  = XMAT(2)
  45 :       XY0  = 0.5D0*XYG*(XMAT(5)/XMAT(1))**2.0D0
  46 :       XAT  = XMAT(6)
  47 :       XGAM = XMAT(7)
  48 :       XAA  = XMAT(8)
  49 :       XSIGF= XMAT(9)
  50 :       
  51 :       XFC = XMAT(10)
  52 :       XAF = XMAT(11)
  53 :       XAG = XMAT(12)
  54 :       XAC = XMAT(13)
  55 :       XBC = XMAT(14)
  56 :       XSIGU = XMAT(15)
  57 :       
  58 :       SXX = SIG0(1)
  59 : C
  60 : C-----PREPARATION SUBSTEPPING-------------------------------------------
  61 : C
  62 :       DO I=1,10
  63 :       
  64 :          VAR1(I) = VAR0(I)
  65 :       
  66 :       ENDDO
  67 :       
  68 :       DO I=1,3
  69 :       
  70 :          DEPS1(I) = DEPS(I)/NENTIER
  71 :       
  72 :       ENDDO
  73 : C
  74 : C-----LANCEMENT DU SUBSTEPPING------------------------------------------
  75 : C
  76 :       DO IQ=1,NENTIER
  77 :       
  78 : C
  79 : C-----VARIABLES INTERNES------------------------------------------------
  80 : C
  81 :       EPSXX = VAR1(1)+DEPS1(1)
  82 :       EPSXY = (VAR1(2)+DEPS1(2))/2.0D0
  83 :       EPSXZ = (VAR1(3)+DEPS1(3))/2.0D0
  84 : C
  85 :       XD = VAR1(4)
  86 :       XZ = VAR1(5)
  87 :       EPSPI = VAR1(6)
  88 :       XEC = VAR1(7)
  89 : C
  90 :       RECO = VAR1(8)
  91 :       DEFN = VAR1(9)
  92 :       DEFP = VAR1(10)
  93 : C
  94 : C-----ENDOMMAGEMENT-----------------------------------------------------
  95 : C
  96 : 
  97 : C     Partie positive de la deformation
  98 :       EPSXXP = 0.5D0*(DABS(EPSXX-DEFN)+(EPSXX-DEFN))
  99 : 
 100 : C     Seuil en energie
 101 :       XYE=0.5D0*XYG*EPSXXP*EPSXXP
 102 : 
 103 : C     Calcul du seuil
 104 :       XENDO = XYE - (XY0 + XZ)
 105 : 
 106 :       IF ((XENDO.GT.0.0D0).AND.(SXX.GE.0.0D0)) THEN
 107 :          XD=1.0D0-1.0D0/(1.0D0+XAT*(XYE-XY0))
 108 :          XZ=XYE-XY0
 109 :       ENDIF
 110 : C
 111 : C-----GLISSEMENT INTERNE------------------------------------------------
 112 : C
 113 : 
 114 : C     La contrainte de frottement
 115 :       SPI = XD*XYG*((EPSXX-DEFN)-EPSPI)
 116 : 
 117 : C     Verification du seuil de glissement interne
 118 :       IF ((DABS(SPI-XEC).GT.0.0D0).AND.(EPSXX.GE.0.0D0)) THEN
 119 : 
 120 : C       Valeur initiale du seuil pour critere relatif   
 121 :         XF0=DABS(SPI-XEC)
 122 :         
 123 : C       Initialisation du multiplicateur de Lagrange
 124 :         XDLAM=1.0D0
 125 :   
 126 : C       Debut des iterations internes
 127 :         DO I=1,IMAX
 128 :   
 129 : C          Calcul du critere relatif
 130 :            SEUIL=DABS(SPI-XEC)/XF0
 131 : 
 132 : C          Calcul de la derive du critere           
 133 :            XSG=DABS(SPI-XEC)/(SPI-XEC)
 134 : 
 135 : C          Calcul du multiplicateur de Lagrange            
 136 :            XDLAM=DABS(SPI-XEC)/(XYG*XD-XSG*XGAM*(-XSG+XAA*XEC))
 137 : 
 138 : C          Actualisation des variables internes
 139 :            XEC=XEC-XGAM*XDLAM*(-XSG+XAA*XEC)
 140 :          
 141 :            SPI=SPI-XD*XYG*XDLAM*XSG
 142 : 
 143 : C          Calcul de la deformation de glissement
 144 :            EPSPI=-SPI/(XD*XYG)+(EPSXX-DEFN)
 145 : 
 146 : C          Recalcul du seuil pour eventuel arret           
 147 :            SEUIL=DABS(SPI-XEC)/XF0
 148 :            
 149 : C          Critere d arret       
 150 :            IF ((SEUIL.LE.1.0D-8).OR.(XDLAM.LE.1.0D-10)) THEN
 151 :    
 152 :               GOTO 900
 153 :            
 154 :            ENDIF
 155 :          
 156 :         ENDDO
 157 : 
 158 :       ENDIF
 159 : 
 160 : C     Balise de sortie
 161 :  900  CONTINUE 
 162 :         
 163 :         
 164 :       IF (EPSXX.GE.0.0D0) THEN  
 165 :       SXX=XYG*(EPSXX-XD*EPSPI)
 166 :       ELSE
 167 :       SXX=SIG0(1) + XYG*DEPS(1)
 168 :       ENDIF
 169 :           
 170 : C
 171 : C-----MISE A JOUR DE VAR1-----------------------------------------------
 172 : C
 173 :       VAR1(1 ) = EPSXX
 174 :       VAR1(2 ) = 2.0D0*EPSXY
 175 :       VAR1(3 ) = 2.0D0*EPSXZ
 176 :       VAR1(4 ) = XD
 177 :       VAR1(5 ) = XZ
 178 :       VAR1(6 ) = EPSPI
 179 :       VAR1(7 ) = XEC
 180 :       VAR1(8 ) = RECO
 181 :       VAR1(9 ) = DEFN
 182 :       VAR1(10) = DEFP
 183 : C
 184 : C-----FIN DU SUBSTEPPING------------------------------------------------
 185 : C
 186 :       ENDDO
 187 : C
 188 : C-----SOCKAGE EN SORTIE-------------------------------------------------
 189 : C
 190 : 
 191 : C     Les variables internes
 192 :       VARF(1) = EPSXX
 193 :       VARF(2) = 2.0D0*EPSXY
 194 :       VARF(3) = 2.0D0*EPSXZ
 195 :       VARF(4) = XD
 196 :       VARF(5) = XZ
 197 :       VARF(6) = EPSPI
 198 :       VARF(7) = XEC
 199 :       VARF(8) = RECO
 200 :       VARF(9) = DEFN
 201 :       VARF(10) = DEFP
 202 : 
 203 : C     Les contraintes
 204 :       SIGF(1) = SXX
 205 :       SIGF(2) = SIG0(2)+XGC*DEPS(2)*(1.0D0-XD)
 206 :       SIGF(3) = SIG0(3)+XGC*DEPS(3)*(1.0D0-XD)
 207 : 
 208 : C     Fin de l integration
 209 :       RETURN
 210 :       END
 211 : 
 212 : 
 213 : 
 214 : 
 215 : 
 216 : 
 217 : 
 218 :  

© Cast3M 2003 - All rights reserved.
Disclaimer