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