hinte
C HINTE SOURCE CB215821 16/04/21 21:17:03 8920 C************************************************************* . XCAR,SIGF,VARF,DEFP,PRECIS,MFR,KERRE) C************************************************************* C L GORNET VERSION DL/LG MacNu modif 97 ECNantes C Version 1D de interface (ginte.eso) C ENTREES C ------- C SIG0 (NSTRS) :Contraintes initiales C DSIGT (NSTRS) :Increment de(deformations 97) C VAR0 (NVARI) :Variables internes C C XMAT (NCOMAT) :Composantes materiaux C PRECIS : Prec integration locale C C SORTIES C ------- C SIGF :Contraintes finales C VARF : V Interne a t + dt C DEFP : Def Plastiques t + dt C MFR : C KERRE : C C*********************************************************************** IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO REAL*8 SIG0(*),VAR0(*),XMAT(*),XCAR(*) REAL*8 SIGF(*),VARF(*),DEFP(*),DSIGT(*) REAL*8 PRECIS,ZOB,AL INTEGER NSTRS,NVARI,NCOMAT,KERRE,MFR C++++++++ VARIABLES COMPORTEMENT +++++++++++++ REAL*8 DSIGTL(6),SIG0L(6),SIGFL(6) REAL*8 SIG0T(6),DSIGTT(6),SIGFT(6) C NVARI =10 C NCOMAT=10 C cos directeur de la premiere direction C XMAT(6) cos tet sur x C XMAT(7) sin tet sur y REAL*8 d3R,d1R,YDBR,d3,d1,YDB, WWY REAL*8 K10,K30 REAL*8 SU3,SU1,SUD3,SUD1 REAL*8 GA1,GA2 REAL*8 ann,Y0,YC,YDBPR,YDBP REAL*8 ZX1,ZX3 REAL*8 Y0P,YCP REAL*8 YD1,YD3,DCRI C C PRINT*,'+++++++++ HINTE ++++++++++++' C PRINT*,' ' C PRINT*,' NSTRS= ',NSTRS,' NVARI= ',NVARI C PRINT*,' NCOMAT= ',NCOMAT,' PRECIS= ',PRECIS C PRINT*,' MFR= ',MFR,' KERRE= ',KERRE C C DO I= 1,NCOMAT C PRINT*,'XMAT(',I,') :',XMAT (I) C C END DO C +++++++++++++++++++ INTERGRATION LOCALE ++++++++ C VERIF DE LA RUPTURE C234567 d3 = VAR0(2) d1 = VAR0(4) YDB = VAR0(5) YDBPR = VAR0(5) d3R = VAR0(2) d1R = VAR0(4) IF ( (d3. eq. 1.0D0 ) ) THEN DO I= 1,NSTRS SIGF(I)= 1.0D-15 END DO DO I= 2,NVARI VARF(I)= VAR0(I) END DO C PRINT*,'>>>> SORTIE GINTE RUPTURE 1<<<<<' RETURN ENDIF K10 = XMAT(1) K30 = XMAT(2) GA1 = XMAT(5) AL = XMAT(6) DCRI = XMAT(7) C Parametre utile pour une rupture fragile <1 ann = XMAT(8) Y0 = XMAT(9) YC = XMAT(10) C Y0P = Y0**ann YCP = YC**ann C SAUT DE U SU3 = SIG0(2) / ( K30 * (1.0D0 - d3)) SU1 = SIG0(1) / ( K10 * (1.0D0 - d1)) C SAUT DE DU Prediction CVersion 97 DSIGT est la deformation a l appel C apres DSIGT est la contrainte!!!!! DSIGT(2) = K30 * (1.0D0 - d3) * DSIGT(2) DSIGT(1) = K10 * (1.0D0 - d1) * DSIGT(1) C Version 96 DSIGT contrainte C Version classique SUD3 = DSIGT(2) / ( K30 * (1.0D0 - d3)) SUD1 = DSIGT(1) / ( K10 * (1.0D0 - d1)) C ZX1 = SU1 + SUD1 ZX3 = SU3 + SUD3 C Variable pilotes99-5 IF(( (ABS( ZX1 ) ) .le. 1.0D-15)) THEN YD1 = 0.0D0 ELSE YD1 = 0.5D0 * K10 * ( ZX1 )**(2.) ENDIF C99-5 IF( (( ABS( ZX3 ) ) .le. 1.0D-15).OR.(ZX3 .lt .0.D0)) THEN YD3 = 1.0D-15 ELSE YD3 = 0.5D0 * K30 * ( ZX3 )**(2.) ENDIF C C print*, ' K30, K20,K10', K30, K20,K10 C print*,'SU3 SU2 SU1',SU3 , SU2 , SU1 C print*,' SUD3 , SUD2, SUD1',SUD3 , SUD2, SUD1 C print*,' YD1 YD2 YD3', YD1, YD2, YD3 C print*,'GA1 GA2', GA1, GA2 C COMPRESSION NORMALE IF ( YD3 .le. 0.0D0) THEN YD3 = 0.0D0 YDB = (GA1 * YD1 )**AL ELSE YDB = YD3**AL + (GA1 * YD1 )**AL ENDIF C YDBP = YDB**(1.0D0/AL) C ENDO A PROGRESSE OU PAS C234567 C PRINT*,'YDBPR',YDBPR,'YDBP ',YDBP,'Y0P ',Y0P C IF ( ((YDBP .le. YDBPR ).AND.( YDBP .ge.Y0 )) & .OR. ( YDBP .ge. YDBPR ).AND.( YDBP .le.Y0 )) THEN DO I= 1,NSTRS SIGF(I)= SIG0(I) + DSIGT(I) END DO C DO I= 2,NVARI VARF(I)= VAR0(I) END DO C PRINT*,'>>>> PAS D EVOLUTION DE L ENDO 1 <<<<<' C PRINT*,'YDBPR',YDBPR,'YDBP ',YDBP,'Y0P ',Y0P RETURN ELSEIF ( (YDBP .le. YDBPR ).AND.( YDBP .le.Y0 ) ) THEN DO I= 1,NSTRS SIGF(I)= SIG0(I) + DSIGT(I) END DO IF (((SIG0(2)+DSIGT(2)).lt. 0.0D0))THEN C SIGF(2)= SIG0(2) + DSIGT(2) ELSE SIGF(2)= (SIG0(2) + DSIGT(2) ) ENDIF DO I= 2,NVARI VARF(I)= VAR0(I) END DO C PRINT*,'>>>> PAS D EVOLUTION DE L ENDO 2<<<<<' RETURN ELSEIF ((YDBP .ge. YDBPR ).AND.( YDBP .ge.Y0))THEN WWY =((ann/(ann+1.0D0) )*(YDBP - Y0 )/( YC - Y0) )**ann C PRINT*,' WWY : ', WWY,YDBP,Y0P,YCP IF ( (WWY .lt. (1.0D0)).AND.(WWY .gt. (0.0D0)) ) THEN C Calcul de l endo d3 = WWY d1 = WWY IF (d3.ge. DCRI) THEN WWY = 1.0D0 d1 = 1.0D0 d3 = 1.0D0 YDBP = ( YC - Y0 )*((ann + 1.0D0 )/ann) + Y0 ENDIF IF (d1.ge. DCRI) THEN C PRINT*,'RUPTURE FORCEE' WWY = 1.0D0 d1 = 1.0D0 d3 = 1.0D0 YDBP =( YC - Y0 )*((ann + 1.0D0 )/ann) + Y0 ENDIF CACTU ET SORTIE DU LOCAL IF ( d1.lt. d1R) THEN PRINT*, 'ERREUR d1 ',d1 VARF(4) = d1R VARF(5) = YDBPR VARF(2) = d3R ELSE VARF(4) = d1 VARF(5) = YDBP ENDIF IF ( d3.lt. d3R) THEN PRINT*, 'ERREUR d3 ',d3 VARF(2) = d3R ELSE VARF(2) = d3 VARF(5) = YDBP ENDIF IF ( (d3.eq.1.0D0).OR.(d1.eq.1.0D0) ) THEN C PRINT*, 'RUPTURE' C Gestion de la rupture en cours de calcul SIGF(1)= 1.0D-15 SIGF(2)= 1.0D-15 ELSE C PRINT*, 'ACTUALISATION DES CONTRAINTES' SIGF(1)= (1.0D0- d1) / (1.0D0- d1R) *(SIG0(1) + DSIGT(1)) SIGF(2)= (1.0D0- d3) / (1.0D0- d3R) *(SIG0(2) + DSIGT(2)) ENDIF C C PRINT*,'**** AT ********' CC PRINT*,' d1R :',d1R C PRINT*,' d2R :',d2R C PRINT*,' d3R :',d3R C PRINT*,'***** ATDT *****' C PRINT*,' d2 :',d2 C PRINT*,' d1 :',d1 C PRINT*,' d3 :',d3 C PRINT*,'***************' C DO I= 1,NSTRS C PRINT*, ' SIGF(',I,') :' , SIGF(I) C END DO C C PRINT*,'>>>> SORTIE HINTE <<<<<' RETURN C ENDIF ELSEIF( (WWY .ge. (1.0D0)).AND.(WWY .ge. (0.0D0)) )THEN d3 = 1.0D0 d1 = 1.0D0 DO I= 1,NSTRS SIGF(I)= 1.0D-15 C PRINT*,'SIGF(',I,')',SIGF(I) END DO DO I= 2,NVARI VARF(I)= 1.0D0 C PRINT*,VARF(I) END DO YDBP = YCP + Y0P VARF(5) = YDBP C PRINT*,'>>>> SORTIE HINTE RUPTURE 2<<<<<' RETURN ENDIF ENDIF C234567 C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales