Download intimp.eso

Back to the list

   1 : C INTIMP    SOURCE    CHAT      12/04/06    21:15:20     7348           
   2 : C   sub intimpfib
   3 : C====&===1=========2=========3=========4=========5=========6=========7== 
   4 : C Commentaires : Subroutine permettant de mettre en oeuvre les  
   5 : C                    modeles RICINT et OUGLOVA pour une formulation fibre 
   6 : C                avec interface imparfaite 
   7 : C Auteurs      : B. Richard (doctorant) 
   8 : C Date         : Février 2008 
   9 : C====&===1=========2=========3=========4=========5=========6=========7== 
  10 :       SUBROUTINE INTIMP(XMAT,DEPST,SIG0,VAR0,SIGF,VARF) 
  11 : C 
  12 : C-----DECLARATION GENERALE 
  13 : C 
  14 :       IMPLICIT INTEGER(I-N) 
  15 :       IMPLICIT REAL*8(A-H,O-Z) 
  16 : -INC CCREEL      
  17 : C 
  18 : C-----DECLARATION DES VARIABLES 
  19 : C      
  20 :       REAL*8 XMAT(18),VAR0(25),VARF(25) 
  21 :         REAL*8 EPTO,GCOEFF,ES,LCCOEF,SIGMAES 
  22 :         REAL*8 XRESIDU,XSECT,DEPST(3),SIG0(3),SIGI,SIGA,XRAYON 
  23 :         REAL*8 FORCEACIER,FORCEINTER,XCRITERE,XLAMBDA,EPT1 
  24 :         REAL*8 SIGF(3),DEFP,XDLAMBDA,DEPST0 
  25 :         INTEGER INDITER,ITERMAX,I 
  26 : C 
  27 : C-----NOMENCLATURE DES PARAMETRES MATERIAUX (XMAT) ET  
  28 : C     INTERNES (VAR0, VARF) 
  29 : C 
  30 :  
  31 : C  --------------------------- 
  32 : C |     ACIER CORRODE         | 
  33 : C  --------------------------- 
  34 : C      XMAT( 1) ES 
  35 : C      XMAT( 2) NUS 
  36 : C      XMAT( 3)  
  37 : C      XMAT( 4)  
  38 : C      XMAT( 5) XSECT 
  39 : C      XMAT( 6) DCS 
  40 : C      XMAT( 7) SIGMAES 
  41 : C      XMAT( 8) TCS 
  42 : C      XMAT( 9) MS 
  43 : C      XMAT(10) KS 
  44 : C 
  45 : C  --------------------------- 
  46 : C |   INTERFACE A/B CORRODEE  | 
  47 : C  --------------------------- 
  48 : C      XMAT(11) GCOEFF 
  49 : C      XMAT(12) AD 
  50 : C      XMAT(13) ACOEFF 
  51 : C      XMAT(14) GAMCOE 
  52 : C      XMAT(15) LCCOEF 
  53 : C      XMAT(16) EPS0CO 
  54 : C      XMAT(17) TCI 
  55 : C      XMAT(18) CALA 
  56 : C 
  57 : C  --------------------------- 
  58 : C |     ACIER CORRODE         | 
  59 : C  --------------------------- 
  60 : C      VAR0( 1) VARF( 1) ENDS 
  61 : C      VAR0( 2) VARF( 2) PVAR 
  62 : C      VAR0( 3) VARF( 3) DEPP 
  63 : C      VAR0( 4) VARF( 4) RVAR 
  64 : C      VAR0( 5) VARF( 5) SIGS 
  65 : C      VAR0( 6) VARF( 6) EPSP 
  66 : C      VAR0( 7) VARF( 7)  
  67 : C      VAR0( 8) VARF( 8)  
  68 : C      VAR0( 9) VARF( 9)  
  69 : C      VAR0(10) VARF(10)  
  70 : C 
  71 : C  --------------------------- 
  72 : C |   INTERFACE A/B CORRODEE  | 
  73 : C  --------------------------- 
  74 : C      VAR0(11) VARF(11) ENDI 
  75 : C      VAR0(12) VARF(12) ALPH 
  76 : C      VAR0(13) VARF(13) EPSF 
  77 : C      VAR0(14) VARF(14) XVAR 
  78 : C      VAR0(15) VARF(15) ZVAR 
  79 : C      VAR0(16) VARF(16) EINT 
  80 : C      VAR0(17) VARF(17) SIGF 
  81 : C      VAR0(18) VARF(18)  
  82 : C      VAR0(19) VARF(19)  
  83 : C      VAR0(20) VARF(20)  
  84 : C 
  85 : C  --------------------------- 
  86 : C |          AUTRES           | 
  87 : C  --------------------------- 
  88 : C      VAR0(21) VARF(21) XLAM 
  89 : C      VAR0(22) VARF(22) EPTO 
  90 : C      VAR0(23) VARF(23) INDITER 
  91 : C        VAR0(24) VARF(24) FORCEINTER 
  92 : C        VAR0(25) VARF(25) FORCEACIER 
  93 : C  
  94 : C  --------------------------- 
  95 : C |   CONTRAINTES             | 
  96 : C  --------------------------- 
  97 : C      SIGF 
  98 : C 
  99 : C  --------------------------- 
 100 : C |   DEFORMATION PLASTIQUES  | 
 101 : C  --------------------------- 
 102 : C      DEFP 
 103 : C  
 104 : C  --------------------------- 
 105 : C |  INCREMENT DE DEFORMATION | 
 106 : C  --------------------------- 
 107 : C      DEPST 
 108 : c              
 109 : C 
 110 : C-----ON RECUPERE LE NUMERO DE L ITERATION COURRANTE 
 111 : C 
 112 :       DEFP      = 0.0D0 
 113 :       XSECT     = XMAT(5 ) 
 114 :         INDITER   = nint(VAR0(23)) + 1
 115 :       DEPST0    = DEPST(1) 
 116 : C 
 117 : C-----ON RECUPERE LA DEFORMATION TOTALE ET LE LAMBDA PRECEDENT 
 118 : C 
 119 :         EPTO      = VAR0(22) 
 120 :       EPT1      = VAR0(22) + DEPST(1) 
 121 :        XLAMBDA=VAR0(21)
 122 :         IF (INDITER.LT.2.0D0) THEN 
 123 :                 XLAMBDA  = 0.5D0 
 124 :                 VAR0(21) = 0.5D0 
 125 :         END IF 
 126 : C 
 127 : C-----ON RECUPERE LES MODULES ELASTIQUES 
 128 : C 
 129 :         GCOEFF  = XMAT( 9) 
 130 :         ES      = XMAT( 1) 
 131 :         LCCOEF  = XMAT(15) 
 132 :         SIGMAES = XMAT( 7) 
 133 : C 
 134 : C--------------------------------- 
 135 : C DEBUT DU PROCESSUS DE PARTITION 
 136 : C--------------------------------- 
 137 : C 
 138 : C-----INITIALISATION 
 139 : C 
 140 :         XRESIDU = 1.0D6 
 141 :         ITERMAX = 500000000 
 142 : C 
 143 : C-----BOUCLE SUR LES ITERATIONS INTERNES 
 144 : C 
 145 :  101  CONTINUE 
 146 : C 
 147 : C-----CALCUL DES CONTRAINTES DANS L ACIER 
 148 : C 
 148 :                 CALL OUGLFL(XMAT,XSECT,DEPST0,SIG0,VAR0,SIGA,VARF) 
 149 : C 
 150 : C-----CALCUL DES CONTRAINTES DANS L INTERFACE 
 151 : C 
 151 :                 CALL INTFIB(XMAT,XSECT,DEPST0,SIG0,VAR0,SIGI,VARF) 
 152 : C 
 153 : C-----CALCUL DES FORCES DANS L ACIER 
 154 : C 
 155 :             XRAYON     = DSQRT(XSECT/XPI) 
 156 :                 FORCEACIER = XPI*XRAYON*XRAYON*SIGA 
 157 : C 
 158 : C-----CALCUL DES FORCES DANS L INTERFACE 
 159 : C 
 160 :                 FORCEINTER = 2.0D0*XPI*XRAYON*LCCOEF*SIGI 
 161 : C 
 162 : C-----CALCUL DU RESIDU 
 163 : C 
 164 :                 XRESIDU     = -FORCEINTER + FORCEACIER 
 165 : C 
 166 : C-----CRITERE DE CONVERGENCE 
 167 : C 
 168 :                 XCRITERE   = DABS(XRESIDU/(XPI*XRAYON*XRAYON*SIGMAES)) 
 169 :  
 170 :                 IF (XCRITERE.LE.1.0D-6) THEN 
 171 :                     GOTO 10 
 172 :                 END IF 
 173 : C 
 174 : C-----CALCUL DU XLAMBDA POUR EFFECTUER LES CORRECTIONS 
 175 : C 
 176 :                 XDLAMBDA   = -XRESIDU/(XPI*XRAYON*LCCOEF*2.0D0*GCOEFF+ 
 177 :      &                          XPI*XRAYON*XRAYON*ES)* 
 178 :      &                          (DABS(EPT1))/(EPT1) 
 179 :                 XLAMBDA    = XLAMBDA + XDLAMBDA 
 180 :  
 181 : C               IF (XLAMBDA.GT.1.0D0.OR.XLAMBDA.LT.0.0D0) THEN 
 182 : C                       XLAMBDA = 0.0D0 
 183 : C               END IF 
 184 :  
 185 :                 VAR0(21)   = XLAMBDA 
 186 :  
 187 :         GOTO 101 
 188 : C 
 189 : C-----BALISE DE SORTIE APRES CONVERGENCE 
 190 : C 
 191 :  10   CONTINUE 
 192 :  
 193 :         VARF(21) = XLAMBDA 
 194 :         VARF(22) = EPTO + DEPST0 
 195 :         VARF(23) = INDITER 
 196 :  
 197 :         VARF(24) = FORCEINTER 
 198 :         VARF(25) = FORCEACIER 
 199 : C 
 200 : C------------------------------- 
 201 : C FIN DU PROCESSUS DE PARTITION 
 202 : C------------------------------- 
 203 : C 
 204 :  
 205 : C 
 206 : C-----LES CONTRAINTES EN SORTIE 
 207 : C 
 208 :  
 209 :       SIGF(1)     = SIGA 
 210 :       SIGF(2)     = SIG0(2) +  
 211 :      &              (XMAT(1)/(2.0D0*(1.0D0+XMAT(2))))*DEPST(2)*XLAMBDA 
 212 :       SIGF(3)     = SIG0(3) +  
 213 :      &              (XMAT(1)/(2.0D0*(1.0D0+XMAT(2))))*DEPST(3)*XLAMBDA 
 214 :        
 215 :       RETURN 
 216 :       END 
 217 :  
 218 :  
 219 :  
 220 :  
 221 :  
 222 :  

© Cast3M 2003 - All rights reserved.
Disclaimer