Download hinte.eso

Back to the list

   1 : C HINTE     SOURCE    CHAT      05/01/13    00:24:25     5004           
   2 :  C*************************************************************  
   3 :        SUBROUTINE HINTE(SIG0,NSTRS,DSIGT,VAR0,NVARI,XMAT,NCOMAT, 
   4 :      . XCAR,SIGF,VARF,DEFP,PRECIS,MFR,KERRE) 
   5 : C************************************************************* 
   6 : C      L GORNET  VERSION DL/LG MacNu  modif 97 ECNantes 
   7 : C       Version 1D de interface (ginte.eso) 
   8 : C      ENTREES 
   9 : C      ------- 
  10 : C      SIG0   (NSTRS) :Contraintes initiales 
  11 : C      DSIGT  (NSTRS) :Increment de(deformations 97) 
  12 : C      VAR0   (NVARI) :Variables internes 
  13 : C 
  14 : C      XMAT (NCOMAT)  :Composantes materiaux 
  15 : C      PRECIS         : Prec integration locale 
  16 : C 
  17 : C      SORTIES 
  18 : C      ------- 
  19 : C      SIGF           :Contraintes finales 
  20 : C      VARF           : V Interne a t + dt 
  21 : C      DEFP           : Def Plastiques t + dt 
  22 : C      MFR            : 
  23 : C      KERRE          : 
  24 : C 
  25 : C*********************************************************************** 
  26 :       IMPLICIT INTEGER(I-N)
  27 : -INC CCOPTIO                                                 
  28 :       REAL*8 SIG0(*),VAR0(*),XMAT(*),XCAR(*) 
  29 :       REAL*8 SIGF(*),VARF(*),DEFP(*),DSIGT(*)                                              
  30 :       REAL*8 PRECIS,ZOB,AL 
  31 :       INTEGER NSTRS,NVARI,NCOMAT,KERRE,MFR 
  32 : C++++++++  VARIABLES COMPORTEMENT +++++++++++++ 
  33 :  
  34 :        REAL*8 DSIGTL(6),SIG0L(6),SIGFL(6) 
  35 :        REAL*8 SIG0T(6),DSIGTT(6),SIGFT(6) 
  36 :        
  37 : C NVARI =10 
  38 : C NCOMAT=10 
  39 : C cos directeur de la premiere direction 
  40 : C XMAT(6) cos tet sur x 
  41 : C XMAT(7) sin tet sur y 
  42 :  
  43 :  
  44 :        REAL*8  d3R,d1R,YDBR,d3,d1,YDB, WWY   
  45 :        REAL*8  K10,K30 
  46 :        REAL*8  SU3,SU1,SUD3,SUD1 
  47 :        REAL*8  GA1,GA2 
  48 :        REAL*8  ann,Y0,YC,YDBPR,YDBP 
  49 :        REAL*8  ZX1,ZX3 
  50 :        REAL*8  Y0P,YCP 
  51 :        REAL*8  YD1,YD3,DCRI 
  52 : C  
  53 : C       PRINT*,'+++++++++ HINTE ++++++++++++' 
  54 : C      PRINT*,'                            ' 
  55 : C       PRINT*,' NSTRS= ',NSTRS,' NVARI= ',NVARI 
  56 : C      PRINT*,' NCOMAT= ',NCOMAT,' PRECIS= ',PRECIS 
  57 : C      PRINT*,' MFR= ',MFR,' KERRE= ',KERRE 
  58 : C    
  59 : C        DO I= 1,NCOMAT 
  60 : C            PRINT*,'XMAT(',I,') :',XMAT (I)  
  61 : C         
  62 : C        END DO 
  63 : C +++++++++++++++++++ INTERGRATION LOCALE ++++++++ 
  64 : C VERIF DE LA RUPTURE 
  65 : C234567 
  66 :       d3   = VAR0(2)      
  67 :       d1   = VAR0(4)    
  68 :       YDB  = VAR0(5)  
  69 :  
  70 :       YDBPR  = VAR0(5) 
  71 :       d3R   = VAR0(2)    
  72 :       d1R   = VAR0(4)      
  73 :       
  74 :  
  75 :        IF ( (d3. eq. 1.0D0 ) )   THEN 
  76 :             DO I= 1,NSTRS 
  77 :                 SIGF(I)= 1.0D-15  
  78 :             END DO 
  79 :             DO I= 2,NVARI 
  80 :                 VARF(I)= VAR0(I)  
  81 :             END DO 
  82 : C      PRINT*,'>>>> SORTIE GINTE RUPTURE 1<<<<<'  
  83 :  
  84 :  
  85 :       RETURN 
  86 :       ENDIF 
  87 :       
  88 :       K10 = XMAT(1)     
  89 :       K30 = XMAT(2) 
  90 :       GA1 = XMAT(5) 
  91 :       AL  = XMAT(6) 
  92 :       DCRI = XMAT(7)  
  93 : C Parametre utile pour une rupture fragile <1 
  94 :       ann = XMAT(8) 
  95 :       Y0  = XMAT(9) 
  96 :       YC  = XMAT(10) 
  97 : C 
  98 :       Y0P  =  Y0**ann  
  99 :       YCP  =  YC**ann    
 100 :  
 101 : C SAUT DE U 
 102 :       SU3 = SIG0(2) / (  K30 * (1.0D0 - d3)) 
 103 :        
 104 :       SU1 = SIG0(1) / (  K10 * (1.0D0 - d1)) 
 105 : C SAUT DE DU  Prediction 
 106 :  
 107 :  
 108 : CVersion 97  DSIGT est la deformation a l appel 
 109 : C apres DSIGT est la contrainte!!!!!    
 110 :       DSIGT(2)  =  K30 * (1.0D0 - d3) * DSIGT(2)       
 111 :       DSIGT(1)  =  K10 * (1.0D0 - d1) * DSIGT(1) 
 112 :        
 113 :  
 114 : C Version 96  DSIGT contrainte 
 115 : C Version classique 
 116 :  
 117 :  
 118 :       SUD3 = DSIGT(2) / (  K30 * (1.0D0 - d3))       
 119 :       SUD1 = DSIGT(1) / (  K10 * (1.0D0 - d1)) 
 120 :        
 121 : C       
 122 :       ZX1 = SU1 + SUD1     
 123 :       ZX3 = SU3 + SUD3 
 124 :  
 125 :        
 126 : C Variable pilotes99-5 
 127 :       IF(( (DABS( ZX1 ) ) .le. 1.0D-15)) THEN  
 128 :         YD1 = 0.0D0 
 129 :          ELSE  
 130 :            YD1 = 0.5D0 * K10  *  ( ZX1 )**(2.) 
 131 :       ENDIF  
 132 : C99-5 
 133 :       IF( (( DABS( ZX3 ) ) .le. 1.0D-15).OR.(ZX3 .lt .0.D0)) THEN  
 134 :          YD3 = 1.0D-15 
 135 :           ELSE  
 136 :            YD3  = 0.5D0 * K30 * ( ZX3 )**(2.) 
 137 :        ENDIF  
 138 : C     
 139 : C      print*, ' K30, K20,K10', K30, K20,K10 
 140 : C      print*,'SU3 SU2 SU1',SU3   , SU2 ,   SU1 
 141 : C      print*,' SUD3 ,  SUD2, SUD1',SUD3 ,  SUD2, SUD1  
 142 : C      print*,' YD1 YD2 YD3', YD1, YD2, YD3 
 143 : C      print*,'GA1 GA2', GA1, GA2 
 144 : C COMPRESSION NORMALE 
 145 :       IF (  YD3   .le. 0.0D0) THEN 
 146 :          YD3 = 0.0D0  
 147 :          YDB =  (GA1 * YD1 )**AL  
 148 :            ELSE          
 149 :              YDB = YD3**AL + (GA1 * YD1 )**AL  
 150 :       ENDIF 
 151 : C 
 152 :       YDBP = YDB**(1.0D0/AL) 
 153 :  
 154 : C ENDO A PROGRESSE OU PAS  
 155 : C234567 
 156 : C       PRINT*,'YDBPR',YDBPR,'YDBP   ',YDBP,'Y0P   ',Y0P 
 157 : C 
 158 :       IF ( ((YDBP .le. YDBPR ).AND.( YDBP .ge.Y0 ))  
 159 :      & .OR. ( YDBP .ge. YDBPR ).AND.( YDBP .le.Y0 )) THEN  
 160 :             DO I= 1,NSTRS 
 161 :                 SIGF(I)=  SIG0(I) + DSIGT(I) 
 162 :             END DO 
 163 : C 
 164 :             DO I= 2,NVARI 
 165 :                 VARF(I)= VAR0(I)  
 166 :             END DO 
 167 : C           PRINT*,'>>>> PAS D EVOLUTION DE L ENDO 1 <<<<<'  
 168 : C            PRINT*,'YDBPR',YDBPR,'YDBP   ',YDBP,'Y0P   ',Y0P 
 169 :          RETURN 
 170 :       ELSEIF ( (YDBP .le. YDBPR ).AND.( YDBP .le.Y0  ) )  THEN  
 171 :             DO I= 1,NSTRS 
 172 :                 SIGF(I)=  SIG0(I) + DSIGT(I) 
 173 :           END DO 
 174 :  
 175 :           IF (((SIG0(2)+DSIGT(2)).lt. 0.0D0))THEN           
 176 : C            
 177 :            SIGF(2)= SIG0(2) +  DSIGT(2) 
 178 :              ELSE 
 179 :                SIGF(2)=  (SIG0(2) + DSIGT(2) ) 
 180 :           ENDIF 
 181 :             DO I= 2,NVARI 
 182 :                 VARF(I)= VAR0(I)  
 183 :             END DO 
 184 : C         PRINT*,'>>>> PAS D EVOLUTION DE L ENDO 2<<<<<'  
 185 :          RETURN 
 186 :  
 187 :       ELSEIF ((YDBP .ge. YDBPR ).AND.( YDBP .ge.Y0))THEN  
 188 :  
 189 :      
 190 :         WWY =((ann/(ann+1.0D0) )*(YDBP - Y0 )/( YC - Y0) )**ann 
 191 : C         PRINT*,'  WWY : ',  WWY,YDBP,Y0P,YCP  
 192 :           
 193 :          IF ( (WWY .lt. (1.0D0)).AND.(WWY .gt. (0.0D0)) ) THEN  
 194 : C Calcul de l endo 
 195 :               d3 =  WWY              
 196 :               d1 =  WWY 
 197 :  
 198 :            IF (d3.ge. DCRI) THEN 
 199 :                   WWY  = 1.0D0 
 200 :                   d1 = 1.0D0 
 201 :                   d3 = 1.0D0 
 202 :                  YDBP  = ( YC - Y0 )*((ann + 1.0D0 )/ann)  + Y0  
 203 :            ENDIF 
 204 :             IF (d1.ge. DCRI) THEN 
 205 : C               PRINT*,'RUPTURE FORCEE' 
 206 :                    WWY  = 1.0D0 
 207 :                    d1 = 1.0D0 
 208 :                    d3 = 1.0D0 
 209 :                    YDBP  =( YC - Y0 )*((ann + 1.0D0 )/ann)  + Y0 
 210 :                   
 211 :            ENDIF 
 212 :  
 213 : CACTU ET SORTIE DU LOCAL  
 214 :          
 215 :            IF ( d1.lt. d1R) THEN  
 216 :                   PRINT*, 'ERREUR d1 ',d1 
 217 :               VARF(4) = d1R  
 218 :               VARF(5) = YDBPR 
 219 :               VARF(2) = d3R 
 220 :               
 221 :            
 222 :  
 223 :            ELSE 
 224 :            VARF(4) = d1               
 225 :            VARF(5) = YDBP     
 226 :            ENDIF  
 227 :  
 228 :  
 229 :  
 230 :            IF ( d3.lt. d3R) THEN  
 231 :                   PRINT*, 'ERREUR d3 ',d3 
 232 :                   VARF(2) = d3R    
 233 :                 ELSE 
 234 :                 VARF(2) = d3  
 235 :                 VARF(5) = YDBP     
 236 :            ENDIF 
 237 :  
 238 :              
 239 :          IF ( (d3.eq.1.0D0).OR.(d1.eq.1.0D0) ) THEN  
 240 : C                       PRINT*, 'RUPTURE'  
 241 : C Gestion de la rupture en cours de calcul   
 242 :            SIGF(1)= 1.0D-15  
 243 :            SIGF(2)= 1.0D-15  
 244 :           ELSE 
 245 : C               PRINT*, 'ACTUALISATION DES CONTRAINTES'  
 246 :            SIGF(1)= (1.0D0- d1) / (1.0D0- d1R) *(SIG0(1) + DSIGT(1)) 
 247 :            SIGF(2)= (1.0D0- d3) / (1.0D0- d3R) *(SIG0(2) + DSIGT(2)) 
 248 :            
 249 :           ENDIF    
 250 : C         
 251 : C         PRINT*,'**** AT  ********' 
 252 : CC         PRINT*,' d1R :',d1R    
 253 : C         PRINT*,' d2R :',d2R  
 254 : C          PRINT*,' d3R :',d3R  
 255 : C          PRINT*,'***** ATDT *****' 
 256 : C          PRINT*,' d2 :',d2  
 257 : C           PRINT*,' d1 :',d1    
 258 : C          PRINT*,' d3 :',d3  
 259 : C          PRINT*,'***************'  
 260 :  
 261 : C           DO I= 1,NSTRS         
 262 : C             PRINT*, ' SIGF(',I,')  :' , SIGF(I) 
 263 : C           END DO 
 264 : C 
 265 : C         PRINT*,'>>>> SORTIE HINTE  <<<<<'  
 266 :   
 267 :          RETURN  
 268 : C         ENDIF 
 269 :  
 270 :          ELSEIF( (WWY .ge. (1.0D0)).AND.(WWY .ge. (0.0D0)) )THEN            
 271 :            
 272 :               d3 = 1.0D0               
 273 :               d1 = 1.0D0   
 274 :             DO I= 1,NSTRS 
 275 :                 SIGF(I)= 1.0D-15  
 276 : C                PRINT*,'SIGF(',I,')',SIGF(I) 
 277 :             END DO 
 278 :  
 279 :             DO I= 2,NVARI 
 280 :                 VARF(I)= 1.0D0 
 281 : C               PRINT*,VARF(I) 
 282 :             END DO 
 283 :  
 284 :             YDBP  = YCP + Y0P  
 285 :             VARF(5) = YDBP     
 286 :  
 287 : C            PRINT*,'>>>> SORTIE HINTE RUPTURE 2<<<<<'  
 288 :             RETURN  
 289 :       
 290 :          ENDIF 
 291 :       ENDIF 
 292 : C234567  
 293 : C      RETURN 
 294 :       END 
 295 :  
 296 :  
 297 :  

© Cast3M 2003 - All rights reserved.
Disclaimer