jfdeco
C JFDECO SOURCE CHAT 05/01/13 00:49:30 5004 1 ISTEP,ICARA,DT,KERRE) C C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C % % C % subroutine integrant le comportement du beton % C % % C % - determine les nouvelles valeurs des variables % C % d'histoire YLIM1 YLIM2 D1 et D2 % C % % C % % C % en fonction du vecteur des deformations % C % % C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C % % C % % C % declaration des variables % C % % C % % C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C C C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO SEGMENT WRK0 REAL*8 XMAT(NMATT) ENDSEGMENT * SEGMENT WRK1 REAL*8 DDHOOK(NSTRS,NSTRS),SIG0(NSTRS),DEPST(NSTRS) REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI) REAL*8 DEFP(NSTRS),XCAR(ICARA) ENDSEGMENT SEGMENT WRKK2 REAL*8 EPSILI(NSTRS) END SEGMENT SEGMENT WRK3 REAL*8 EPSILO(NSTRS) END SEGMENT * SEGMENT WRK5 REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS) ENDSEGMENT * REAL*8 YLIM1,YLIM2,DOM1,DOM2,Y1,Y2,Z1,Z2 * REAL*8 EPS33(3,3),XROTA(3,3),EPSA(3),EPSN(3) REAL*8 SIGNN(3),SIGA(3),SIGMAN(3,3) INTEGER JSIGN(3) * * LOGICAL CONV PARAMETER (UN=1.D0) PARAMETER (DEUX=2.D0) * * -----> RECUPERATION DES VARIABLES INTERNES * YLIMA1 = VAR0(1) YLIMA2 = VAR0(2) DOM1 = VAR0(3) DOM2 = VAR0(4) E = XMAT(1) * * * Z1=UN/(UN-DOM1) Z2=UN/(UN-DOM2) * * -----> ON DIAGONALISE LES ANCIENNES DEFORMATIONS * * PRINT*,'ANCIENNES DEFORMATIONS PPALES',EPSA(1),EPSA(2),EPSA(3) * * -----> ON DIAGONALISE LES ANCIENNES CONTRAINTES * * * -----> ON CALCULE LES DEFORMATIONS TOTALES * SEGINI WRK3 DO ISTRS=1,NSTRS EPSILO(ISTRS)=EPSILI(ISTRS)+DEPST(ISTRS) * print*,'ISTRS',ISTRS,'EPSILO',EPSILO(ISTRS) END DO * * -----> ON LES DIAGONALISE * * PRINT*,'DEFORMATIONS PPALES',EPSN(1),EPSN(2),EPSN(3) * * -----> ON INITIALISE Y1 ET Y2 * JSIGN(1)=1 ELSE JSIGN(1)=0 END IF JSIGN(2)=1 ELSE JSIGN(2)=0 END IF TRSIG=SIGA(1)+SIGA(2) FSIG=TRSIG ELSE IF (TRSIG.GE.-SIGF) THEN FSIG=TRSIG*(UN+TRSIG/(DEUX*SIGF)) ELSE FSIG=-SIGF*TRSIG/DEUX END IF YA1=( JSIGN(1)*SIGA(1)*SIGA(1)+JSIGN(2)*SIGA(2)*SIGA(2) ) & *Z1*Z1/(DEUX*E) YA2=( (1-JSIGN(1))*SIGA(1)*SIGA(1)+ & (1-JSIGN(2))*SIGA(2)*SIGA(2) ) & *Z2*Z2/(DEUX*E) C C C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C % % C % DECOUPAGE DE L'INCREMENT DE DEFORMATION % C % % C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% c NEPS=1 CONV=.FALSE. DO WHILE ((.NOT. CONV).AND.(NEPS.LE.100)) SIG1 = SIGA(1) SIG2 = SIGA(2) YLIM1=YLIMA1 YLIM2=YLIMA2 IF (SIG1.GE.0.D0)THEN JSIGN(1)=1 ELSE JSIGN(1)=0 END IF IF (SIG2.GE.0.D0)THEN JSIGN(2)=1 ELSE JSIGN(2)=0 END IF Z1=1.D0/(1.D0-DOM1) Z2=1.D0/(1.D0-DOM2) Y1 = YA1 Y2 = YA2 DEPS1=(EPSN(1)-EPSA(1))/NEPS DEPS2=(EPSN(2)-EPSA(2))/NEPS IEPS=0 DT1=DT/NEPS c print*,'Vitesse',(DEPS1/dt1),(DEPS2/dt1) CONV=.TRUE. DO WHILE (CONV .AND. (IEPS.LT.NEPS)) IEPS=IEPS+1 EPSP1=EPSA(1)+IEPS*DEPS1 EPSP2=EPSA(2)+IEPS*DEPS2 c C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C % % C % CALCUL DES VALEURS DES VARIABLES INTERNES % C % % C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C C c 1 JSIGN,SIG1,SIG2,CONV,DT1) if (.not. conv ) then conv=.true. 1 Y1,Y2,JSIGN,SIG1,SIG2,CONV,DT1) endif C C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C % % C % REACTUALISATION DES SEUILS % C % % C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% c IF (CONV) THEN VARF(1)=MAX(Y1,VAR0(1)) VARF(2)=MAX(Y2,VAR0(2)) VARF(3)=MAX(1.D0-1.D0/Z1,VAR0(3)) VARF(4)=MAX(1.D0-1.D0/Z2,VAR0(4)) c IF (Y1 .GT.YLIM1)THEN c VARF(1)=Y1 c VARF(3)=1.D0-1.D0/Z1 c ELSE c VARF(1)=VAR0(1) c VARF(3)=VAR0(3) c END IF c IF (Y2 .GT. YLIM2)THEN c VARF(2)=Y2 c VARF(4)=1.D0-1.D0/Z2 c ELSE c VARF(2)=VAR0(2) c VARF(4)=VAR0(4) c END IF END IF END DO NEPS=NEPS*10 END DO IF (.NOT. CONV)THEN print*,'valeur de neps et ieps',neps,ieps print*, 'NON CONVERGE DANS EULER',EPSP1,EPSP2 C CALL MODJFD(WRK0,NMATT,EPSP1,EPSP2,YLIM1,YLIM2,Z1,Z2,Y1,Y2, C 1 JSIGN,SIG1,SIG2,CONV,DT1) SEGSUP WRK3 KERRE=56 return END IF C C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C % % C % CALCUL DES CONTRAINTES DANS LE REPERE DE L'ELEMENT % C % % C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C SIGNN(1)=SIG1 SIGNN(2)=SIG2 SIGNN(3)=0.D0 SIGF(1)=SIGMAN(1,1) SIGF(2)=SIGMAN(2,2) SIGF(3)=SIGMAN(3,3) SIGF(4)=SIGMAN(1,2) C C C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C % % C % CALCUL DES DEFORMATIONS ANELASTIQUES % C % % C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C DO ISTRS=1,NSTRS EPINF(ISTRS)=EPSILO(ISTRS)-EPSILI(ISTRS) END DO SEGSUP WRK3 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales