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