1 : C JFDECO SOURCE CHAT 05/01/13 00:49:30 5004 2 : SUBROUTINE JFDECO(WRK0,WRK1,WRKK2,WRK5,NSTRS,NVARI,NMATT, 3 : 1 ISTEP,ICARA,DT,KERRE) 4 : C 5 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 : C % % 7 : C % subroutine integrant le comportement du beton % 8 : C % % 9 : C % - determine les nouvelles valeurs des variables % 10 : C % d'histoire YLIM1 YLIM2 D1 et D2 % 11 : C % % 12 : C % % 13 : C % en fonction du vecteur des deformations % 14 : C % % 15 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 : C 17 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 18 : C % % 19 : C % % 20 : C % declaration des variables % 21 : C % % 22 : C % % 23 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 24 : C 25 : C 26 : C 27 : IMPLICIT INTEGER(I-N) 28 : IMPLICIT REAL*8(A-H,O-Z) 29 : -INC CCOPTIO 30 : SEGMENT WRK0 31 : REAL*8 XMAT(NMATT) 32 : ENDSEGMENT 33 : * 34 : SEGMENT WRK1 35 : REAL*8 DDHOOK(NSTRS,NSTRS),SIG0(NSTRS),DEPST(NSTRS) 36 : REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI) 37 : REAL*8 DEFP(NSTRS),XCAR(ICARA) 38 : ENDSEGMENT 39 : SEGMENT WRKK2 40 : REAL*8 EPSILI(NSTRS) 41 : END SEGMENT 42 : 43 : SEGMENT WRK3 44 : REAL*8 EPSILO(NSTRS) 45 : END SEGMENT 46 : * 47 : SEGMENT WRK5 48 : REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS) 49 : ENDSEGMENT 50 : * 51 : REAL*8 YLIM1,YLIM2,DOM1,DOM2,Y1,Y2,Z1,Z2 52 : * 53 : REAL*8 EPS33(3,3),XROTA(3,3),EPSA(3),EPSN(3) 54 : REAL*8 SIGNN(3),SIGA(3),SIGMAN(3,3) 55 : INTEGER JSIGN(3) 56 : * 57 : * 58 : LOGICAL CONV 59 : REAL*8 UN,DEUX,ZERO 60 : PARAMETER (ZERO=0.D0) 61 : PARAMETER (UN=1.D0) 62 : PARAMETER (DEUX=2.D0) 63 : * 64 : * -----> RECUPERATION DES VARIABLES INTERNES 65 : * 66 : YLIMA1 = VAR0(1) 67 : YLIMA2 = VAR0(2) 68 : DOM1 = VAR0(3) 69 : DOM2 = VAR0(4) 70 : E = XMAT(1) 71 : * 72 : * 73 : * 74 : Z1=UN/(UN-DOM1) 75 : Z2=UN/(UN-DOM2) 76 : * 77 : * -----> ON DIAGONALISE LES ANCIENNES DEFORMATIONS 78 : * 78 : CALL ENDOCA(EPSILI,EPS33,2) 78 : CALL JACOB3(EPS33,2,EPSA,XROTA) 79 : * PRINT*,'ANCIENNES DEFORMATIONS PPALES',EPSA(1),EPSA(2),EPSA(3) 80 : * 81 : * -----> ON DIAGONALISE LES ANCIENNES CONTRAINTES 82 : * 82 : CALL ENDOCA(SIG0,EPS33,1) 82 : CALL JACOB3(EPS33,2,SIGA,XROTA) 83 : * 84 : * -----> ON CALCULE LES DEFORMATIONS TOTALES 85 : * 86 : SEGINI WRK3 87 : DO ISTRS=1,NSTRS 88 : EPSILO(ISTRS)=EPSILI(ISTRS)+DEPST(ISTRS) 89 : * print*,'ISTRS',ISTRS,'EPSILO',EPSILO(ISTRS) 90 : END DO 91 : * 92 : * -----> ON LES DIAGONALISE 93 : * 93 : CALL ENDOCA(EPSILO,EPS33,2) 93 : CALL JACOB3(EPS33,2,EPSN,XROTA) 94 : * PRINT*,'DEFORMATIONS PPALES',EPSN(1),EPSN(2),EPSN(3) 95 : * 96 : * -----> ON INITIALISE Y1 ET Y2 97 : * 98 : IF (SIGA(1) .GE. ZERO) THEN 99 : JSIGN(1)=1 100 : ELSE 101 : JSIGN(1)=0 102 : END IF 103 : IF (SIGA(2) .GE. ZERO) THEN 104 : JSIGN(2)=1 105 : ELSE 106 : JSIGN(2)=0 107 : END IF 108 : TRSIG=SIGA(1)+SIGA(2) 109 : IF (TRSIG .GE. ZERO) THEN 110 : FSIG=TRSIG 111 : ELSE IF (TRSIG.GE.-SIGF) THEN 112 : FSIG=TRSIG*(UN+TRSIG/(DEUX*SIGF)) 113 : ELSE 114 : FSIG=-SIGF*TRSIG/DEUX 115 : END IF 116 : YA1=( JSIGN(1)*SIGA(1)*SIGA(1)+JSIGN(2)*SIGA(2)*SIGA(2) ) 117 : & *Z1*Z1/(DEUX*E) 118 : YA2=( (1-JSIGN(1))*SIGA(1)*SIGA(1)+ 119 : & (1-JSIGN(2))*SIGA(2)*SIGA(2) ) 120 : & *Z2*Z2/(DEUX*E) 121 : C 122 : C 123 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 124 : C % % 125 : C % DECOUPAGE DE L'INCREMENT DE DEFORMATION % 126 : C % % 127 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 128 : c 129 : NEPS=1 130 : CONV=.FALSE. 131 : DO WHILE ((.NOT. CONV).AND.(NEPS.LE.100)) 132 : SIG1 = SIGA(1) 133 : SIG2 = SIGA(2) 134 : YLIM1=YLIMA1 135 : YLIM2=YLIMA2 136 : IF (SIG1.GE.0.D0)THEN 137 : JSIGN(1)=1 138 : ELSE 139 : JSIGN(1)=0 140 : END IF 141 : IF (SIG2.GE.0.D0)THEN 142 : JSIGN(2)=1 143 : ELSE 144 : JSIGN(2)=0 145 : END IF 146 : Z1=1.D0/(1.D0-DOM1) 147 : Z2=1.D0/(1.D0-DOM2) 148 : Y1 = YA1 149 : Y2 = YA2 150 : DEPS1=(EPSN(1)-EPSA(1))/NEPS 151 : DEPS2=(EPSN(2)-EPSA(2))/NEPS 152 : IEPS=0 153 : DT1=DT/NEPS 154 : c print*,'Vitesse',(DEPS1/dt1),(DEPS2/dt1) 155 : CONV=.TRUE. 156 : DO WHILE (CONV .AND. (IEPS.LT.NEPS)) 157 : IEPS=IEPS+1 158 : EPSP1=EPSA(1)+IEPS*DEPS1 159 : EPSP2=EPSA(2)+IEPS*DEPS2 160 : c 161 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 162 : C % % 163 : C % CALCUL DES VALEURS DES VARIABLES INTERNES % 164 : C % % 165 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 166 : C 167 : C 168 : c 168 : CALL MODJFD(WRK0,NMATT,EPSP1,EPSP2,YLIM1,YLIM2,Z1,Z2,Y1,Y2, 169 : 1 JSIGN,SIG1,SIG2,CONV,DT1) 170 : if (.not. conv ) then 171 : conv=.true. 171 : CALL MODJF2(WRK0,NMATT,EPSP1,EPSP2,YLIM1,YLIM2,Z1,Z2, 172 : 1 Y1,Y2,JSIGN,SIG1,SIG2,CONV,DT1) 173 : endif 174 : C 175 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 176 : C % % 177 : C % REACTUALISATION DES SEUILS % 178 : C % % 179 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 180 : c 181 : IF (CONV) THEN 182 : VARF(1)=MAX(Y1,VAR0(1)) 183 : VARF(2)=MAX(Y2,VAR0(2)) 184 : VARF(3)=MAX(1.D0-1.D0/Z1,VAR0(3)) 185 : VARF(4)=MAX(1.D0-1.D0/Z2,VAR0(4)) 186 : c IF (Y1 .GT.YLIM1)THEN 187 : c VARF(1)=Y1 188 : c VARF(3)=1.D0-1.D0/Z1 189 : c ELSE 190 : c VARF(1)=VAR0(1) 191 : c VARF(3)=VAR0(3) 192 : c END IF 193 : c IF (Y2 .GT. YLIM2)THEN 194 : c VARF(2)=Y2 195 : c VARF(4)=1.D0-1.D0/Z2 196 : c ELSE 197 : c VARF(2)=VAR0(2) 198 : c VARF(4)=VAR0(4) 199 : c END IF 200 : END IF 201 : END DO 202 : NEPS=NEPS*10 203 : END DO 204 : IF (.NOT. CONV)THEN 205 : print*,'valeur de neps et ieps',neps,ieps 206 : print*, 'NON CONVERGE DANS EULER',EPSP1,EPSP2 206 : C CALL MODJFD(WRK0,NMATT,EPSP1,EPSP2,YLIM1,YLIM2,Z1,Z2,Y1,Y2, 207 : C 1 JSIGN,SIG1,SIG2,CONV,DT1) 208 : SEGSUP WRK3 209 : KERRE=56 210 : return 211 : END IF 212 : C 213 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 214 : C % % 215 : C % CALCUL DES CONTRAINTES DANS LE REPERE DE L'ELEMENT % 216 : C % % 217 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 218 : C 219 : SIGNN(1)=SIG1 220 : SIGNN(2)=SIG2 221 : SIGNN(3)=0.D0 221 : CALL PRODT2 (SIGMAN,SIGNN,XROTA,3) 222 : SIGF(1)=SIGMAN(1,1) 223 : SIGF(2)=SIGMAN(2,2) 224 : SIGF(3)=SIGMAN(3,3) 225 : SIGF(4)=SIGMAN(1,2) 226 : C 227 : C 228 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 229 : C % % 230 : C % CALCUL DES DEFORMATIONS ANELASTIQUES % 231 : C % % 232 : C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 233 : C 233 : CALL MATVE1 (DDHOOK,SIGF,NSTRS,NSTRS,EPSILI,1) 234 : DO ISTRS=1,NSTRS 235 : EPINF(ISTRS)=EPSILO(ISTRS)-EPSILI(ISTRS) 236 : END DO 237 : SEGSUP WRK3 238 : RETURN 239 : END 240 : 241 : 242 : 243 : 244 : 245 :
© Cast3M 2003 - All rights reserved.
Disclaimer