Download ecoin0.eso

Back to the list

   1 : C ECOIN0    SOURCE    CHAT      05/01/12    23:24:48     5004           
   2 :       SUBROUTINE ECOIN0(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL,
   3 :      . N2PTEL,VARIN0,VAREX0,VAREXF,XMAT,PRECIS,WORK,CARAC,TRAC,            
   4 :      . SIGF,VARINF,DEFP,KERRE,MFR,IB,IGAU,NSTRS,EPAIST,MELE,NPINT,            
   5 :      . NBPGAU,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,
   6 :      .              ROTHOO,DDHOMU,CRIGI,DSIGT,INPLAS,LTRAC,IFOURB) 
   7 : 
   8 : 
   9 : C-----------------------------------------------------------------------         
  10 : C               ECOULEMENT PLASTIQUE POUR UN POINT                              
  11 : C               ALGORITHME ORTIZ ET SIMO          
  12 : C                                                                               
  13 : C      EN ENTREE :                                                              
  14 : C                                                                               
  15 : C                  SIG0       CONTRAINTES AU DEBUT DU PAS                       
  16 : C                  DEPST      INCREMENT DE DEFORMATIONS TOTALES                  
  17 : C                               ( THERMIQUE ENLEVEE )                           
  18 : C                  VARIN0     VARIABLES INTERNES DEDUT DU PAS                   
  19 : C                  VAREX0     VARIABLES EXTERNES DEBUT DU PAS                   
  20 : C                  VAREXF     VARIABLES EXTERNES FIN DU PAS                     
  21 : C                  XMAT       COEFFICIENTS DU MATERIAU                          
  22 : C                  PRECIS     PRECISION POUR ITERATIONS INTERNES                
  23 : C                  CARAC      DES CARACTERISTIQUES                              
  24 : C                  TRAC       COURBE DE TRACTION                                
  25 : C                  MFR        INDICE DE FORMULATION                             
  26 : C                  NSTRS      NOMBRE DE CONTRAINTES CA2000                      
  27 : C                  INPLAS     NUMERO DU MODELE DE PLASTICITE                    
  28 : C                  DDAUX = MATRICE DE HOOKE ELASTIQUE
  29 : C                  CMATE = NOM DU MATERIAU
  30 : C                  VALMAT= TABLEAU DE CARACTERISTIQUES DU MATERIAU
  31 : C                  VALCAR= TABLEAU DE CARACTERISTIQUES GEOMETRIQUES
  32 : C                  N2EL  = NBRE D ELEMENTS DANS SEGMENT DE HOOKE
  33 : C                  N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE
  34 : C                  IFOU  = OPTION DE CALCUL
  35 : C                  IB    = NUMERO DE L ELEMENT COURANT
  36 : C                  IGAU  = NUMERO DU POINT COURANT
  37 : C                  EPAIST= EPAISSEUR
  38 : C                  NBPGAU= NBRE DE POINTS DE GAUSS
  39 : C                  MELE  = NUMERO DE L ELEMENT FINI
  40 : C                  NPINT = NBRE DE POINTS D INTEGRATION
  41 : C                  NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES
  42 : C                  NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES
  43 : C                  SECT  = SECTION
  44 : C                  LHOOK = TAILLE DE LA MATRICE DE HOOKE
  45 : C                  TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI = TABLEAUX UTILISES
  46 : C                  UTILISES POUR LE CALCUL DE LA MATRICE DE HOOKE
  47 : C                                                                               
  48 : C     EN SORTIE :                                                               
  49 : C                                                                               
  50 : C                  SIGF        CONTRAINTES A LA FIN DU PAS
  51 : C                  VARINF      VARIABLES INTERNES FIN DU PAS
  52 : C                  DEFP        INCR. DE DEFORMATIONS PLASTIQUES
  53 : C                  KERRE       CODE D'ERREUR
  54 : C                   = 0  SI TOUT OK
  55 : C                   = 99 SI FORMULATION NON DISPONIBLE
  56 : C    EN PLASTICITE
  57 : C                   = 1  SI DEPS EST NEGATIF
  58 : C                   = 2  SI NOMBRE MAX D'ITERATIONS INTERNES DEPASSE
  59 : C
  60 : C         IFOUR : OPTION DE CALCUL
  61 : C 
  62 : C         IFOUR = -3   DEFORMATION PLANE GENERALISEE
  63 : C         IFOUR = -2   CONTRAINTES PLANES                     
  64 : C         IFOUR = -1   DEFORMATIONS PLANES
  65 : C         IFOUR =  0   AXISYMETRIQUE
  66 : C         IFOUR =  1   SERIE DE FOURIER
  67 : C         IFOUR =  2   TRIDIMENSIONNEL
  68 : C
  69 : C         MFR : NUMERO DE LA FORMULATION ELEMENT FINI
  70 : C
  71 : C         MFR = 1     MASSIF
  72 : C         MFR = 3     COQUE
  73 : C         MFR = 5     COQUE EPAISSE
  74 : C         MFR = 7     POUTRE
  75 : C         MFR = 9     COQUE AVEC CISAILLEMENT TRANSVERSE
  76 : C
  77 : C         INPLAS : NUMERO DU MODELE DE PLASTICITE
  78 : C
  79 : C         INPLAS = 1      PARFAIT
  80 : C         INPLAS = 4      CINEMATIQUE
  81 : C         INPLAS = 5      ISOTROPE
  82 : C         INPLAS = 7      CHABOCHE1
  83 : C         INPLAS = 12     CHABOCHE2
  84 : C
  85 : C-----------------------------------------------------------------------        
  86 : C         CONVENTION DE REMPLISSAGE DES MEMOIRES                                
  87 : C-----------------------------------------------------------------------        
  88 : C                                                                               
  89 : C     XMAT(1)    MODULE D'YOUNG                                                 
  90 : C     XMAT(2)    COEFFICIENT DE POISSON                                         
  91 : C                                                                               
  92 : C     TRAC(1 A 2*LTRAC) COURBE DE TRACTION                                     
  93 : C     CARAC(  " +1) ALFAH POUR COQUES PLASTICITE GLOBALE                        
  94 : C     CARAC(  " +..) DONNEES POUR CRITERE POUTRES GLOBALES                      
  95 : C                                                                               
  96 : C    MODELE ISOTROPE                                                            
  97 : C            VARIN0(1)  EPS*                                                    
  98 : C                                                                               
  99 : C    MODELE CINEMATIQUE LINEAIRE                                                
 100 : C            VARIN0(1)  EPS*                                                    
 101 : C            VARIN0(2) A VARIN0(1+NSTRS)  DEPLACEMENT DE LA SPHERE               
 102 : C                                                                               
 103 : C    MODELE CHABOCHE                                                            
 104 : C            XMAT(5) ....      COEFFICIENTS A,C,...                             
 105 : C            VARIN0(1)  EPS*                                                    
 106 : C            VARIN0(2) A VARIN0(1+NSTRS) DEPLACEMENT DE LA SPHERE 1              
 107 : C            VARIN0(2+NSTRS) A VARIN0(1+2*NSTRS) "    "  "   "    2                                                   
 108 : C
 109 : C-----------------------------------------------------------------------
 110 :                                                   
 111 :       IMPLICIT INTEGER(I-N)
 112 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
 113 : -INC CCOPTIO       
 114 :       DIMENSION SIG0(*),SIG(130),EPS(130),SIGF(*),DEFP(*)
 115 :       DIMENSION DDAUX(LHOOK,*),VARIN0(*),VARINF(*),DEPST(*),TRAC(*)    
 116 :       DIMENSION XMAT(*),VALMAT(*),VALCAR(*),DDHOMU(LHOOK,*) 
 117 :       DIMENSION CARAC(*),DSIGT(*)
 118 :       DIMENSION S(8),SX(8),DS(8),DSIG(8),SPHER(8),SPHER1(8),SPHER2(8)    
 119 :       DIMENSION DSPHER1(8),DSPHER2(8),DEPSE(8),DEPSP(8),DDEPSE(8)
 120 :       DIMENSION F(8),W1(8),W2(8),SIGB(8),Z1(8),DIV(8),DDA(8,8)
 121 :       DIMENSION TXR(IDIM,*),CRIGI(*),XLOC(IDIM,*),XGLOB(IDIM,*)
 122 :       DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*) 
 123 :       CHARACTER*8 CMATE                 
 124 : 
 125 : C-----------------------------------------------------------------------
 126 :       DO I=1,NSTRS
 127 :         S(I)=0.D0
 128 :         SPHER(I)=0.D0
 129 :         SPHER1(I)=0.D0
 130 :         SPHER2(I)=0.D0
 131 :       ENDDO
 132 :       KERRE=0
 133 :       YUNG=XMAT(1)
 134 :       XNU=XMAT(2)
 135 : 
 136 : C---------CARACTERISTIQUES GEOMETRIQUES---------------------------------
 137 : C
 138 : C         COQUES
 139 : C
 140 :       ALFAH=1.D0 
 141 :       IF(MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
 142 :         EP1=CARAC(1)
 143 :         IF(MFR.NE.5) ALFAH=CARAC(2)**2
 144 :       ENDIF
 145 : 
 146 : C---------COEFFICIENTS CHABOCHE-----------------------------------------
 147 : 
 148 :       IF(INPLAS.EQ.7) THEN
 149 :         A1=XMAT(5)
 150 :         C1=XMAT(6)
 151 :         SI=XMAT(7)
 152 :         PSI=XMAT(8)
 153 :         OME=XMAT(9)
 154 :         RM=XMAT(10)
 155 :         B=XMAT(11)
 156 :         A2=0.D0
 157 :         C2=0.D0
 158 :       ELSE IF(INPLAS.EQ.12) THEN
 159 :         A1=XMAT(5)
 160 :         C1=XMAT(6)
 161 :         A2=XMAT(7)
 162 :         C2=XMAT(8)      
 163 :         SI=XMAT(9)
 164 :         PSI=XMAT(10)
 165 :         OME=XMAT(11)
 166 :         RM=XMAT(12)
 167 :         B=XMAT(13)              
 168 :       ELSE
 169 :         DO I=1,LTRAC
 170 :           SIG(I)=TRAC(2*I-1)
 171 :           EPS(I)=TRAC(2*I)
 172 :         ENDDO
 173 :       ENDIF
 174 : 
 175 :       EPST=VARIN0(1)
 176 : C---------ECROUISSAGE CINEMATIQUE---------------------------------------   
 177 : 
 178 :       IF(INPLAS.EQ.4.OR.INPLAS.EQ.7.OR.INPLAS.EQ.12) THEN
 179 :         DO I=1,NSTRS
 180 :           SPHER1(I)=VARIN0(I+1)
 181 :         ENDDO
 182 :         IF(INPLAS.EQ.12) THEN
 183 :           DO I=1,NSTRS
 184 :             SPHER2(I)=VARIN0(NSTRS+1+I)
 185 :           ENDDO
 186 :         ENDIF
 187 :         DO I=1,NSTRS
 188 :           SPHER(I)=SPHER1(I)+SPHER2(I)
 189 :         ENDDO
 190 :       ENDIF
 191 : C-----------------------------------------------------------------------
 192 : C         PREDICTEUR ELASTIQUE
 193 : C         S     : CONTRAINTE
 194 : C         SPHER : VARIABLE D'ECROUISSAGE CINEMATIQUE
 195 : C         SX = S - X
 196 : C-----------------------------------------------------------------------
 197 : 
 198 : *  en elastique non lineaire on annule les contraintes initiales 
 199 : * mais on cumule les epsilons elastiques
 200 :       IF(INPLAS.EQ.87) THEN
 201 :         EPST=0.D0
 202 :         DO I=1,NSTRS
 203 :           SIG0(I)=0.D0
 204 :           DEPST(I)=DEPST(I) + VARIN0(I+1)
 205 :         ENDDO
 206 :       ENDIF
 207 : 
 207 :       CALL CALSIG(DEPST,DDAUX,NSTRS,CMATE,VALMAT,VALCAR,
 208 :      &        N2EL,N2PTEL,MFR,IFOURB,IB,IGAU,EPAIST,
 209 :      &      NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,
 210 :      &    XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
 211 : 
 212 :       IF(IRTD.NE.1) THEN
 213 :          KERRE=69
 214 :          GOTO 1000
 215 :       ENDIF     
 216 : 
 217 :       DO I=1,NSTRS
 218 :         S(I)=SIG0(I)+DSIGT(I)
 219 :         SIGB(I)=S(I)
 220 :         SX(I)=S(I)-SPHER(I) 
 221 : 
 222 :       ENDDO
 223 : C---------COQUES AVEC CT------------------------------------------------
 224 : C         ON NE TRAVAILLE QUE SUR LES 6 PREMIERES COMPOSANTES
 225 :       
 226 :       IF(MFR.EQ.9) THEN
 227 :         NCONT=6
 228 :       ELSE
 229 :         NCONT=NSTRS
 230 :       ENDIF
 231 : 
 232 : C---------CAS DES POUTRES-----------------------------------------------
 233 : 
 234 :       IF(MFR.EQ.7) THEN
 235 :         DIV(1)=1.D0/CARAC(4)   
 236 :         DIV(2)=1.D0
 237 :         DIV(3)=1.D0
 238 :         DIV(4)=CARAC(10)/CARAC(1)
 239 :         DIV(5)=CARAC(11)/CARAC(2)
 240 :         DIV(6)=CARAC(12)/CARAC(3)
 241 :         IF(DIV(4).EQ.0.D0) DIV(4)=1.D-10/SQRT(CARAC(1)*CARAC(4))
 242 :         IF(DIV(5).EQ.0.D0) DIV(5)=1.D-10/SQRT(CARAC(2)*CARAC(4))
 243 :         IF(DIV(6).EQ.0.D0) DIV(6)=1.D-10/SQRT(CARAC(3)*CARAC(4))
 244 :         DO I=1,NCONT
 245 :           S(I)=S(I)*DIV(I)
 246 :           SX(I)=SX(I)*DIV(I)
 247 :         ENDDO
 248 :       ENDIF
 249 : 
 250 : C-----------------------------------------------------------------------
 251 : C         CALCUL DE LA LIMITE ELASTIQUE SI
 252 : C-----------------------------------------------------------------------
 253 : 
 254 :       IF(INPLAS.EQ.1.OR.INPLAS.EQ.4) THEN
 255 :         SI=TRAC(1)
 256 :       ELSE IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
 256 :         CALL TRACTI(SI,EPST,SIG,EPS,LTRAC,2,IBI)
 257 :         IF(IBI.EQ.1) THEN
 258 :           KERRE=75
 259 :         GOTO 1000
 260 :         ENDIF
 261 :       ENDIF
 262 : 
 263 : C-----------------------------------------------------------------------
 264 : C         CALCUL DE LA CONTRAINTE EQUIVALENTE SEQ
 265 : C-----------------------------------------------------------------------
 266 : 
 267 :       SEQ=VONMIS0(SX,NSTRS,MFR,IFOURB,EP1,ALFAH)
 268 : 
 269 : C-----------------------------------------------------------------------
 270 : C         LE CRITERE EST-IL VERIFIE
 271 : C-----------------------------------------------------------------------
 272 : 
 273 :       PHI=SEQ-SI
 274 :       NITER=0
 275 :       PETI=1.1D0*0.5D0*PRECIS*SEQ
 275 :       CALL EPSPRE(SEQ,SI,PETI,ITRY)
 276 :       IF((ITRY.EQ.1).OR.(SEQ.LE.SI)) THEN
 277 : 
 278 :         IF(MFR.EQ.7) THEN
 279 :           DO I=1,NCONT
 280 :             S(I)=S(I)/DIV(I)
 281 :           ENDDO
 282 :         ENDIF
 283 :         DO I=1,NCONT
 284 :           SIGF(I)=S(I)
 285 :           DEFP(I)=0.D0
 286 :         ENDDO
 287 :         IF(MFR.EQ.9) THEN
 288 :           DEFP(7)=0.D0
 289 :           DEFP(8)=0.D0
 290 :           SIGF(7)=S(7)
 291 :           SIGF(8)=S(8)       
 292 :         ENDIF
 293 :                    
 294 :         VARINF(1)=VARIN0(1)
 295 :         IF(INPLAS.EQ.4.OR.INPLAS.EQ.7) THEN
 296 :           DO I=1,NSTRS
 297 :             VARINF(I+1)=VARIN0(I+1)
 298 :           ENDDO
 299 :         ELSE IF(INPLAS.EQ.12) THEN
 300 :           DO I=1,2*NSTRS
 301 :             VARINF(I+1)=VARIN0(I+1)
 302 :           ENDDO
 303 :         ELSE IF(INPLAS.EQ.87) THEN
 304 :           DO I=1,NSTRS
 305 :             VARINF(I+1)=DEPST(I)
 306 :           ENDDO
 307 :         ENDIF
 308 :         RETURN
 309 :       ENDIF
 310 :   231 CONTINUE
 311 : C-----------------------------------------------------------------------
 312 : C         ON A PLASTIFIE
 313 : C-----------------------------------------------------------------------  
 314 : 
 315 :         PHI0=PHI
 316 :         SI0=SI
 317 :         RR=0.D0
 318 : 
 319 :         DO I=1,NCONT
 320 :           DSIG(I)=0.D0
 321 :           DEPSP(I)=0.D0
 322 :           DSPHER1(I)=0.D0
 323 :           DSPHER2(I)=0.D0
 324 :         ENDDO
 325 : 
 326 : C-----------------------------------------------------------------------
 327 : C         DEBUT DE LA BOUCLE D'ITERATIONS INTERNES
 328 : C-----------------------------------------------------------------------
 329 : 
 330 : 10      NITER=NITER+1
 331 : 
 332 : C---------CALCUL DE W1=DF/D(SIGMA)--------------------------------------        
 333 :          
 334 : C---------ELEMENTS MASSIFS----------------------------------------------        
 335 : 
 336 :         IF(MFR.EQ.1) THEN
 337 : 
 338 :           F(1)=(2.D0*SX(1)-SX(2)-SX(3))/3.D0
 339 :           F(2)=(2.D0*SX(2)-SX(1)-SX(3))/3.D0
 340 :           F(3)=(2.D0*SX(3)-SX(1)-SX(2))/3.D0
 341 :           DO I=4,NSTRS
 342 :             F(I)=SX(I)
 343 :           ENDDO          
 344 :           DO I=1,3
 345 :             W1(I)=1.5D0*F(I)/SEQ
 346 :             Z1(I)=W1(I)
 347 :           ENDDO
 348 :           DO I=4,NSTRS
 349 :             W1(I)=3.D0*F(I)/SEQ
 350 :             Z1(I)=1.5D0*F(I)/SEQ
 351 :           ENDDO   
 352 : 
 353 : C---------COQUES MINCES-------------------------------------------------
 354 : 
 355 :         ELSE IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
 356 : 
 357 :           AUX=EP1*EP1*EP1*EP1
 358 : 
 359 :           IF(IFOURB.GE.1) THEN          
 360 :             W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1)
 361 :             W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1)
 362 :             W1(3)=3.D0*SX(3)/(SEQ*EP1*EP1)
 363 :             W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(5))/(SEQ*AUX)
 364 :             W1(5)=18.D0*ALFAH*(2.D0*SX(5)-SX(4))/(SEQ*AUX)
 365 :             W1(6)=108.D0*ALFAH*SX(6)/(SEQ*AUX)            
 366 :           ELSE           
 367 :             W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1)
 368 :             W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1)
 369 :             W1(3)=18.D0*ALFAH*(2.D0*SX(3)-SX(4))/(SEQ*AUX)
 370 :             W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(3))/(SEQ*AUX)              
 371 :           ENDIF
 372 :           
 373 : C---------COQUES EPAISSES-----------------------------------------------          
 374 :           
 375 :         ELSE IF(MFR.EQ.5) THEN
 376 :           F(1)=(2.D0*SX(1)-SX(2))/3.D0
 377 :           F(2)=(2.D0*SX(2)-SX(1))/3.D0
 378 :           DO I=3,5
 379 :             F(I)=SX(I)
 380 :           ENDDO          
 381 :           DO I=1,2
 382 :             W1(I)=1.5D0*F(I)/SEQ
 383 :             Z1(I)=W1(I)
 384 :           ENDDO
 385 :           DO I=3,5
 386 :             W1(I)=3.D0*F(I)/SEQ
 387 :             Z1(I)=1.5D0*F(I)/SEQ
 388 :           ENDDO 
 389 : 
 390 : C---------POUTRES-------------------------------------------------------
 391 : 
 392 :         ELSE IF(MFR.EQ.7) THEN
 393 :         
 394 :           DO I=1,NCONT
 395 :             DO J=1,NCONT
 396 :               DDA(I,J)=0.D0
 397 :             ENDDO
 398 :           ENDDO 
 399 :           DDA(1,1)=YUNG 
 400 :           DDA(4,4)=0.5*YUNG/(1.+XNU)
 401 :           DDA(5,5)=YUNG 
 402 :           DDA(6,6)=YUNG                       
 403 : 
 404 :           W1(1)=SX(1)/SEQ
 405 :           W1(2)=0.D0
 406 :           W1(3)=0.D0      
 407 :           W1(4)=SX(4)/SEQ
 408 :           W1(5)=SX(5)/SEQ
 409 :           W1(6)=SX(6)/SEQ
 410 :         ENDIF
 411 : 
 412 :         IF(MFR.EQ.7) THEN  
 413 :           DO I=1,NCONT
 414 :             W2(I)=0.D0
 415 :             DO J=1,NCONT
 416 :               W2(I)=W2(I)+DDA(I,J)*W1(J)
 417 :             ENDDO
 418 :           ENDDO 
 419 :         ELSE
 420 :           DO I=1,NCONT
 421 :             W2(I)=0.D0
 422 :             DO J=1,NCONT
 423 :               W2(I)=W2(I)+DDAUX(I,J)*W1(J)
 424 :             ENDDO
 425 :           ENDDO
 426 :         ENDIF
 427 : 
 428 :         COEF=0.D0
 429 :         DO I=1,NCONT
 430 :           COEF=COEF+W1(I)*W2(I)
 431 :         ENDDO
 432 : 
 433 : C-----------------------------------------------------------------------
 434 : C     PLASTICITE PARFAITE, ECROUISSAGE ISOTROPE ET CINEMATIQUE ZIEGLER
 435 : C-----------------------------------------------------------------------
 436 : 
 437 :         IF(INPLAS.EQ.1.OR.INPLAS.EQ.4.OR.INPLAS.EQ.5
 438 :      $     .OR.INPLAS.EQ.87) THEN
 438 :           CALL TRACTI(PENTE,EPST,SIG,EPS,LTRAC,1,IBI)
 439 : *          write(6,*) ' pente  epst', pente,epst
 440 :           IF(IBI.EQ.1) THEN
 441 :             KERRE=75
 442 :             GOTO 1000
 443 :           ENDIF   
 444 :          
 445 :           IF(INPLAS.EQ.1) THEN
 446 :             RP=0.D0
 447 :             C=0.D0
 448 :           ELSE IF(INPLAS.EQ.4) THEN
 449 :             RP=0.D0
 450 :             C=PENTE
 451 :           ELSE IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
 452 :             RP=PENTE
 453 :             C=0.D0
 454 :           ENDIF
 455 :           
 456 :           IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
 457 :             DENOM=COEF+C+(RP/EP1)
 458 :           ELSE
 459 :             DENOM=COEF+C+RP
 460 :           ENDIF   
 461 : 
 462 :           DELTA=PHI/DENOM
 463 :           DMU=C*DELTA/SEQ
 464 : 
 465 :           DO I=1,NCONT
 466 :             DSIG(I)=-DELTA*W2(I)
 467 :             DSPHER1(I)=DMU*SX(I)         
 468 :           ENDDO
 469 :           IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
 470 :             DP=DELTA/EP1
 471 :           ELSE
 472 :             DP=DELTA
 473 :           ENDIF
 474 :           DR=RP*DP
 475 :          
 476 :         ELSE
 477 : 
 478 : C-----------------------------------------------------------------------
 479 : C         MODELE DE CHABOCHE
 480 : C-----------------------------------------------------------------------
 481 : 
 482 : C---------UNIQUEMENT POUR LES ELEMENTS MASSIFS--------------------------
 483 : 
 484 :           XPRO1=0.D0
 485 :           XPRO2=0.D0
 486 :           DO I=1,NCONT
 487 :             XPRO1=XPRO1+W1(I)*SPHER1(I)
 488 :             XPRO2=XPRO2+W1(I)*SPHER2(I)
 489 :           ENDDO
 490 : 
 491 :           FIP=1.D0+(PSI-1.D0)*EXP(-OME*EPST)
 492 : 
 493 :           DENOM=COEF+(A1*C1+A2*C2)*FIP-C1*XPRO1-C2*XPRO2+B*(RM-RR)
 494 :           DELTA=PHI/DENOM
 495 : 
 496 :           DO I=1,NCONT
 497 :             DSIG(I)=-DELTA*W2(I)
 498 :             DSPHER1(I)=(2.D0*A1*FIP*Z1(I)/3.D0-SPHER1(I))*C1*DELTA
 499 :             DSPHER2(I)=(2.D0*A2*FIP*Z1(I)/3.D0-SPHER2(I))*C2*DELTA
 500 :           ENDDO
 501 : 
 502 :           DR=B*(RM-RR)*DELTA
 503 :           DP=DELTA
 504 :         ENDIF
 505 : 
 506 :         RR=RR+DR        
 507 :         EPST=EPST+DP    
 508 :         DO I=1,NCONT
 509 :           S(I)=S(I)+DSIG(I)
 510 :           SPHER1(I)=SPHER1(I)+DSPHER1(I)
 511 :           SPHER2(I)=SPHER2(I)+DSPHER2(I)
 512 :           SPHER(I)=SPHER1(I)+SPHER2(I)
 513 :           SX(I)=S(I)-SPHER(I)
 514 :         ENDDO
 515 :      
 516 :         SEQ=VONMIS0(SX,NSTRS,MFR,IFOURB,EP1,ALFAH)
 517 : 
 518 : C---------CONTRAINTES PLANES--------------------------------------------
 519 : 
 520 :         IF(IFOURB.EQ.-2) THEN
 521 :         
 522 :           IF(MFR.EQ.1) THEN     
 523 :             F(1)=(2.D0*SX(1)-SX(2)-SX(3))/3.D0
 524 :             F(2)=(2.D0*SX(2)-SX(1)-SX(3))/3.D0
 525 :             F(3)=(2.D0*SX(3)-SX(1)-SX(2))/3.D0
 526 :             DO I=4,NSTRS
 527 :               F(I)=SX(I)
 528 :             ENDDO
 529 :             DO I=1,3
 530 :               W1(I)=1.5D0*F(I)/SEQ
 531 :             ENDDO
 532 :             DO I=4,NSTRS
 533 :               W1(I)=3.D0*F(I)/SEQ
 534 :             ENDDO         
 535 :           ELSE IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
 536 :             AUX=EP1*EP1*EP1*EP1       
 537 :             W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1)
 538 :             W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1)
 539 :             W1(3)=18.D0*ALFAH*(2.D0*SX(3)-SX(4))/(SEQ*AUX)
 540 :             W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(3))/(SEQ*AUX)              
 541 :           ENDIF   
 542 : 
 543 :           DO I=1,NSTRS
 544 :             DEPSP(I)=DEPSP(I)+DELTA*W1(I) 
 545 :           ENDDO 
 546 :         ENDIF
 547 : 
 548 : C-----------------------------------------------------------------------
 549 : C         TEST
 550 : C         CALCUL DE LA NOUVELLE VALEUR DE PHI
 551 : C-----------------------------------------------------------------------
 552 :         IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
 552 :            CALL TRACTI(SI,EPST,SIG,EPS,LTRAC,2,IBI)
 553 :         ELSE
 554 :            SI=RR+SI0
 555 :         ENDIF
 556 :         PHI=SEQ-SI
 557 : 
 558 :         PETI=1.E-7
 559 :         APHI=ABS(PHI)
 560 :         APHI0=ABS(PHI0)
 561 :         TEST=PETI*APHI0
 562 : 
 563 :         IF(NITER.GT.50) THEN
 564 :           KERRE=2
 565 :           GO TO 1000
 566 :         ENDIF
 567 : 
 568 :         IF(APHI.LE.TEST) THEN
 569 :         
 570 :           IF(MFR.EQ.7) THEN
 571 :             DO I=1,NCONT
 572 :               S(I)=S(I)/DIV(I)
 573 :             ENDDO
 574 :           ENDIF
 575 :           
 576 : C---------TOUTES FORMULATIONS SAUF CONTRAINTES PLANES-------------------
 577 :         
 578 :           IF(IFOURB.NE.-2) THEN
 579 :             DO I=1,NCONT
 580 :               DS(I)=S(I)-SIGB(I)
 581 :             ENDDO
 581 :             CALL EPSIG0(DS,DDEPSE,MFR,IFOURB,YUNG,XNU,CARAC,NSTRS)
 582 :             DO I=1,NCONT
 583 :               DEPSE(I)=DEPST(I)+DDEPSE(I)
 584 :               DEPSP(I)=DEPST(I)-DEPSE(I)
 585 :             ENDDO     
 586 :           ENDIF
 587 : 
 588 :           DO I=1,NSTRS
 589 :             SIGF(I)=S(I)
 590 :             DEFP(I)=DEPSP(I)
 591 :           ENDDO
 592 : 
 593 : C---------COQUES AVEC CISAILLEMENT TRANSVERSE---------------------------
 594 :           
 595 :           IF(MFR.EQ.9) THEN
 596 :             DEFP(7)=0.D0
 597 :             DEFP(8)=0.D0
 598 :             SIGF(7)=SIGB(7)
 599 :             SIGF(8)=SIGB(8)       
 600 :           ENDIF         
 601 : 
 602 :           VARINF(1)=EPST
 603 :           IF(INPLAS.EQ.4.OR.INPLAS.EQ.7.OR.INPLAS.EQ.12) THEN
 604 :             DO I=1,NSTRS
 605 :               VARINF(I+1)=SPHER1(I)
 606 :             ENDDO
 607 :             IF(INPLAS.EQ.12) THEN
 608 :               DO I=1,NSTRS
 609 :                 VARINF(NSTRS+1+I)=SPHER2(I)
 610 :               ENDDO
 611 :             ENDIF
 612 :           ENDIF
 613 :           IF(INPLAS.EQ.87) THEN
 614 :               DO I=1,NSTRS
 615 :                 VARINF(1+I)=DEPST(I)
 616 :               ENDDO 
 617 : *        write(6,*) ' sortie ecoin0'
 618 : *        write(6,*) 'depst',(depst(I),i=1,nstrs)
 619 : *        write(6,*) 'depsp',(depsp(i),i=1,nstrs)
 620 :           ENDIF     
 621 :           KERRE=0
 622 :           RETURN
 623 : 
 624 :         ELSE
 625 :           GOTO 10
 626 :         ENDIF
 627 : C      ENDIF
 628 : 1000  RETURN
 629 :       END
 630 :  
 631 :  
 632 :  
 633 :  
 634 :  

© Cast3M 2003 - All rights reserved.
Disclaimer