Download advddi.eso

Back to the list

   1 : C ADVDDI    SOURCE    CHAT      05/01/12    21:18:51     5004           
   2 :        SUBROUTINE ADVDDI(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,DSPT,                 
   3 :      &            EPSVPT,VARPT,XMAT,NSTRS,NVARI,IFOUR,INPLAS,NCOMAT
   4 :      &            ,MFR)            
   5 :       IMPLICIT INTEGER(I-N)
   6 :        IMPLICIT REAL*8(A-H,O-Z)                                                 
   7 :        DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*)                 
   8 :        DIMENSION DSPT(*),EPSVPT(*),VARPT(*),XMAT(*)                             
   9 : C ____________________________________________________________________          
  10 : C                                                                               
  11 : C    THIS ROUTINE UPDATES THE STRAINS ,STRESSES & INTERNAL VARIABLES            
  12 : C ____________________________________________________________________          
  13 : C                                                                               
  14 :        DETIER=2.0D0/3.0D0
  15 : C  STEP-1 : UPDATING STRAINS                                                    
  16 : C ----------------------------                                                  
  17 :        YOU  =XMAT(1)                                                            
  18 :        XNU  =XMAT(2)                                                            
  19 :        DO 10 I=1,NSTRS                                                          
  20 :        EPSV1(I)=EPSV(I)+TAU*EPSVPT(I)                                           
  21 :   10   CONTINUE                                                                 
  22 : C                                                                               
  23 : C  STEP-2 : UPDATING STESSES                                                    
  24 : C ----------------------------                                                  
  25 :        IF(IFOUR.EQ.-2) THEN                                                     
  26 :        SIG(3)=0.0D0                                                             
  27 :        X2MU=YOU/(1.0+XNU)                                                       
  28 :        XCO = X2MU/(1.0-XNU)                                                     
  29 :        SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))               
  30 :        SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))               
  31 :        SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4))                              
  32 :        SIG1(3)=0.0D0                                                            
  33 :        ELSEIF (IFOUR.EQ.2.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR.
  34 :      &         IFOUR.EQ.1.OR.IFOUR.EQ.-3) THEN
  35 :        X2MU = YOU/(1+XNU)
  36 :        ALMB = X2MU*XNU/(1-2*XNU)
  37 :        IF (MFR.EQ.5) THEN 
  38 :        X2MU=YOU/(1.0+XNU)
  39 :        XCO = X2MU/(1.0-XNU) 
  40 :        SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  41 :        SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1))) 
  42 :        SIG1(3)=SIG(3)+TAU*(DSPT(3)-X2MU*EPSVPT(3)) 
  43 :        SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4)) 
  44 :        SIG1(5)=SIG(5)+TAU*(DSPT(5)-X2MU*EPSVPT(5)) 
  45 :        ELSE 
  46 :         TRACE=EPSVPT(1)+EPSVPT(2)+EPSVPT(3)                                
  47 :         DO 20 I=1,NSTRS,1                                                       
  48 :         A = 0.0                                                                 
  49 :         IF (I.LE.3) A=1.0                                                       
  50 :         SIG1(I) = SIG(I) + 
  51 :      &  TAU*(DSPT(I)-ALMB*A*TRACE-X2MU*EPSVPT(I))             
  52 :    20   CONTINUE                                                                
  53 :        ENDIF 
  54 : C= Modes de calcul 1D contraintes planes suivant z (DYCZ et GYCZ)
  55 :        ELSE IF (IFOUR.EQ.4.OR.IFOUR.EQ.8) THEN
  56 :          SIG(3) = 0.
  57 :          XCO = YOU/(1.-XNU*XNU)
  58 :          SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  59 :          SIG1(2) = SIG(2) + TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
  60 :          SIG1(3) = 0.
  61 : C= Modes de calcul 1D contraintes planes suivant y (CYDZ et CYGZ) et
  62 : C=                 1D axisymetrique contraintes axiales nulles (AXCZ)
  63 :        ELSE IF (IFOUR.EQ.5.OR.IFOUR.EQ.10.OR.IFOUR.EQ.13) THEN
  64 :          SIG(2) = 0.
  65 :          XCO = YOU/(1.-XNU*XNU)
  66 :          SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(3)))
  67 :          SIG1(2) = 0.
  68 :          SIG1(3) = SIG(3) + TAU*(DSPT(3)-XCO*(EPSVPT(3)+XNU*EPSVPT(1)))
  69 : C= Modes de calcul 1D contraintes planes suivant y et z (CYCZ)
  70 :        ELSE IF (IFOUR.EQ.6) THEN
  71 :          SIG(2) = 0.
  72 :          SIG(3) = 0.
  73 :          SIG1(1) = SIG(1) + TAU*(DSPT(1)-YOU*EPSVPT(1))
  74 :          SIG1(2) = 0.
  75 :          SIG1(3) = 0.
  76 : C= Autres modes de calcul 1D deformations planes (DYDZ GYDZ DYGZ GYGZ)
  77 : C=                        1D axisymetrique (AXDZ AXGZ) et 1D spherique
  78 :        ELSE IF (IFOUR.EQ. 3.OR.IFOUR.EQ. 7.OR.IFOUR.EQ. 9.OR.IFOUR.EQ.11
  79 :      .      .OR.IFOUR.EQ.12.OR.IFOUR.EQ.14.OR.IFOUR.EQ.15) THEN
  80 :          X2MU = YOU/(1.+XNU)
  81 :          TRACE = EPSVPT(1)+EPSVPT(2)+EPSVPT(3)
  82 :          XCO = X2MU*XNU*TRACE/(1.-XNU)
  83 :          SIG1(1) = SIG(1) + TAU*(DSPT(1)-X2MU*EPSVPT(1)-XCO)
  84 :          SIG1(2) = SIG(2) + TAU*(DSPT(2)-X2MU*EPSVPT(2)-XCO)
  85 :          SIG1(3) = SIG(3) + TAU*(DSPT(3)-X2MU*EPSVPT(3)-XCO)
  86 :        ENDIF                                                                    
  87 : C                                                                               
  88 : C  STEP-3 : UPDATING THE INTERNAL VARIABLES                                     
  89 : C------------------------------------------                                     
  90 :        IF (MFR.EQ.5) THEN 
  91 :          NSTRS0=NSTRS+1  
  92 :        ELSE 
  93 :          NSTRS0=NSTRS 
  94 :        ENDIF  
  95 :        DO 50 I=1,NVARI
  96 :        VAR1(I)=VAR(I)+TAU*VARPT(I)                                                         
  97 :    50  CONTINUE
  98 :        DO 60 I=1,NSTRS0
  99 :        VAR1(I)=DETIER*(XMAT(8)*VAR1(2*NSTRS+I)+XMAT(21)*VAR1(7*NSTRS+I))
 100 :        VAR1(NSTRS+I)=DETIER*(XMAT(9)*VAR1(3*NSTRS+I)+
 101 :      &                       XMAT(22)*VAR1(8*NSTRS+I))
 102 :        VAR1(5*NSTRS+I)=DETIER*(XMAT(17)*VAR1(7*NSTRS+I)+
 103 :      &                       XMAT(21)*VAR1(2*NSTRS+I))
 104 :        VAR1(6*NSTRS+I)=DETIER*(XMAT(18)*VAR1(8*NSTRS+I)+
 105 :      &                       XMAT(22)*VAR1(3*NSTRS+I))
 106 :  60    CONTINUE
 107 :        VAR1(10*NSTRS+2)=XMAT(6)*(1.D0-DEXP(-XMAT(7)*VAR1(10*NSTRS+1)))
 108 :        VAR1(10*NSTRS+4)=XMAT(15)*(1.D0-DEXP(-XMAT(16)*VAR1(10*NSTRS+3)))
 109 : C                                                                               
 110 : C _____________________________________________________________________         
 111 :        RETURN                                                                   
 112 :        END                                                                      
 113 :  
 114 :  
 115 :  

© Cast3M 2003 - All rights reserved.
Disclaimer