modjfd
C MODJFD SOURCE CB215821 17/11/30 21:16:52 9639 1 JSIGN,SIG1,SIG2,CONV,DT) C C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C % % C % INTEGRATION DU MODJFD UNILATERAL AVEC FERMETURE LINEAIRE % C % DE FISSURES EN CONTRAINTES PLANES % C % (MODCLB NON ASSOCIE) % C % A L"AIDE DE LA METHODE DE NEWTON % C % AJOUT VICOENDOMMAGEMENT J.F. DUBE % C % % C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C C C C VARIABLES D"ENTREES C C IMPLICIT INTEGER(I-N) REAL*8 EPSP1,EPSP2 C C VARIABLES DE SORTIE C C REAL*8 SIG1,SIG2,Z1,Z2,Y1,Y2,DT INTEGER JSIGN(3) LOGICAL CONV C C C PARAMETRES D"EVOLUTION C C REAL*8 E,NU,A1,A2,B1,B2,Y01,Y02,SIGF REAL*8 BETA1,BETA2,YLIM1,YLIM2 C C C VARIABLES INTERNES C C REAL*8 Y001,Y002,DY01,DY02,hdp1,hdp2 REAL*8 DELTASIG INTEGER NDIM PARAMETER (NDIM=6) REAL*8 DELAFON(NDIM) REAL*8 X(NDIM),DX(NDIM),X0(NDIM),XX,XIG1,XIG2 REAL*8 H1,H2,HT,HT2,trf REAL*8 ALFA1,ALFA2 REAL*8 UN,DEUX REAL*8 ZMAX INTEGER ITER ,I,DIMPB REAL*8 M1,M2,ALPHA1,ALPHA2 REAL*8 x3,x4,x5,x6,dx5,dx6 INTEGER NMATT SEGMENT WRK0 REAL*8 XMAT(NMATT) ENDSEGMENT UN=1.D0 DEUX=2.D0 ZMAX=1.d+04 E = XMAT(1) NU = XMAT(2) Y001 = XMAT(5) Y002 = XMAT(6) A1 = XMAT(7) A2 = XMAT(8) B1 = XMAT(9) B2 = XMAT(10) BETA1 = XMAT(11) BETA2 = XMAT(12) SIGF = XMAT(13) M1 = XMAT(14) M2 = XMAT(15) ALPHA1= XMAT(16) ALPHA2= XMAT(17) * DELTASIG=SIGY*1.D-4 DELTASIG=0.d0 * print*,'E,NU,Y01,Y02,A1,A2,B1,B2,BETA1,BETA2' * print*,E,NU,Y01,Y02,A1,A2,B1,B2,BETA1,BETA2 ITER=0 X(1)=SIG1 X(2)=SIG2 X(3)=Y1 X(4)=Y2 X(5)=Z1 X(6)=Z2 DO I=1, NDIM X0(I)=X(I) END DO x5=Z1 x6=z2 C C C ITER=ITER+1 IF (X(1) .GE. DELTASIG) THEN H1=UN ELSE IF (X(1) .LE. -DELTASIG) THEN H1=0.D0 ELSE H1=(X(1)+DELTASIG)/(DEUX*DELTASIG) END IF IF (X(2) .GE. DELTASIG) THEN H2=UN ELSE IF (X(2) .LE. -DELTASIG) THEN H2=0.D0 ELSE H2=(X(2)+DELTASIG)/(DEUX*DELTASIG) END IF c c smooth transition on ht ht2 c trf = x(1) + x(2) IF(trf.GE.deltasig)THEN HT=UN HT2=0.D0 else if(trf.ge.(-deltasig)) then ht = (trf+deltasig)/DEUX/deltasig ht2 = UN-ht else if(trf.ge.(-sigf+deltasig)) then ht = 0.D+00 ht2 = UN else if(trf.ge.(-sigf-deltasig)) then ht = 0.D+00 c ht2 =UN- (trf-(sigf-deltasig))/(DEUX*sigf) ht2 = (trf+sigf+deltasig)/DEUX/deltasig else ht = 0.D+00 ht2 = 0.D+00 endif c print*,'DTjfd',dt dy01=(dim(x(5),z1)/(x(5)*z1*dt)) hdp1=1.0 if (dy01 .gt. 0.0) hdp1=0.0 y01=y001+m1*dy01**alpha1 dy02=(dim(x(6),z2)/(x(6)*z2*dt)) hdp2=1.0 if (dy02 .gt. 0.0) hdp2=0.0 y02=y002+m2*dy02**alpha2 c print*,'iter=',iter,' dy01=',dy01,'dy02=',dy02 ldom1=.false. if (X(3).GT. Y01 .AND. X(5) .LT. ZMAX) then if ( (1.+(A1*(-Y01 + X(3)))**B1-z1) .gt. 1.d-06) then ldom1=.true. x5=z1 endif endif ldom2=.false. if (X(4).GT. Y02 .AND. X(6) .LT. ZMAX) then if ( (1.+(A2*(-Y02 + X(4)))**B2-z2) .gt. 1.d-06) then ldom2=.true. x6=z2 endif endif c print*,'y1',x(3),'ylim1',ylim1 c print*,'z1',x(5),'x5',x5 c print*,'ldom1',ldom1,'ldom2',ldom2 C =====> PROBLEME ELASTIQUE C C C CALCUL DU JACOBIEN C C C C C C C CALCUL DU SECOND MEMBRE C XIG1 =((((X(5)-UN)*BETA1*HT2+(X(5)-UN)*BETA1*HT-E*EPSP2+(X(6)-UN) 1 *BETA2)*NU+BETA1*(X(6)*(H2+X(5)*(UN-H2)-UN)+X(5)**2*H2-X(5)*H2) 2 *HT2+BETA1*(X(6)*(H2+X(5)*(UN-H2)-UN)+X(5)**2*H2-X(5)*H2)*HT+ 3 BETA2*(X(6)*(X(5)*H2+H2-UN)-X(5)*H2+X(6)**2*(UN-H2))+E*EPSP1* 4 (X(6)*(H2-UN)-X(5)*H2))*SIGF+(BETA1*E*(X(5)*EPSP2-EPSP2)+ 5 (UN-X(5))*BETA1*E*EPSP1)*HT2)/((NU**2+H1*(X(5)*X(6)*(2*H2-UN)- 6 X(5)**2*H2+X(6)**2*(UN-H2))-X(5)*X(6)*H2+X(6)**2*(H2-UN))*SIGF+ 7 (DEUX-DEUX*X(5))*BETA1*HT2*NU+(BETA1*(-X(5)**2*H2+X(5)*H2+X(6)* 8 (-H2+X(5)*(H2-DEUX)+DEUX))+((X(5)-UN)*X(6)-X(5)**2+X(5)) 9 *BETA1*H1)*HT2) C XIG2 =((((X(5)-UN)*BETA1*HT2+(X(5)-UN)*BETA1*HT-E*EPSP1+(X(6)-UN) 1 *BETA2)*NU+(((UN-X(5))*X(6)+X(5)**2-X(5))*BETA1*H1+(X(5)-UN)* 2 X(6)*BETA1)*HT2+(((UN-X(5))*X(6)+X(5)**2-X(5))*BETA1*H1+ 3 (X(5)-UN)*X(6)*BETA1)*HT+(E*(X(6)*EPSP2-X(5)*EPSP2)+(-X(6)**2+ 4 (X(5)+UN)*X(6)-X(5))*BETA2)*H1-X(6)*E*EPSP2+(X(6)**2-X(6))* 5 BETA2)*SIGF+(BETA1*E*(EPSP2-X(5)*EPSP2)+(X(5)-UN)*BETA1*E*EPSP1) 6 *HT2)/((NU**2+H1*(X(5)*X(6)*(DEUX*H2-UN)-X(5)**2*H2+X(6)**2* 7 (UN-H2))-X(5)*X(6)*H2+X(6)**2*(H2-UN))*SIGF+(DEUX-DEUX*X(5))* 8 BETA1*HT2*NU+(BETA1*(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)* 9 (H2-DEUX)+DEUX))+((X(5)-UN)*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2) DELAFON(1) =X(1)-XIG1 C DELAFON(2) =X(2)-XIG2 C XX= (H1*X(1)*X(1)+H2*X(2)*X(2))*X(5)*X(5)/(DEUX*E) DELAFON(3) = X(3)-XX C XX=((UN-H1)*X(1)*X(1)+(UN-H2)*X(2)*X(2) ) 1 *X(6)*X(6)/(DEUX*E) DELAFON(4) = X(4)-XX C IF (LDOM1) THEN C C =====> ENDOMMAGEMENT EN TRACTION C J15 = (((BETA1*HT2+BETA1*HT)*NU+BETA1*(DEUX*X(5)*H2-H2+X(6)*(UN-H2 & ))*HT2+BETA1*(DEUX*X(5)*H2-H2+X(6)*(UN-H2))*HT+BETA2*(X(6)*H2-H & 2)-E*EPSP1*H2)*SIGF+(BETA1*E*EPSP2-BETA1*E*EPSP1)*HT2)/((NU**2+ & H1*(X(5)*X(6)*(DEUX*H2-UN)-X(5)**2*H2+X(6)**2*(UN-H2))-X(5)*X(6 & )*H2+X(6)**2*(H2-UN))*SIGF+(DEUX-DEUX*X(5))*BETA1*HT2*NU+(BETA1 & *(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)*(H2-DEUX)+DEUX))+((X(5)-UN & )*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2)-((H1*(X(6)*(DEUX*H2-UN)-DEU & X*X(5)*H2)-X(6)*H2)*SIGF-DEUX*BETA1*HT2*NU+(BETA1*(-DEUX*X(5)*H & 2+H2+X(6)*(H2-DEUX))+(X(6)-DEUX*X(5)+UN)*BETA1*H1)*HT2)*((((X(5 & )-UN)*BETA1*HT2+(X(5)-UN)*BETA1*HT-E*EPSP2+(X(6)-UN)*BETA2)*NU+ & BETA1*(X(6)*(H2+X(5)*(UN-H2)-UN)+X(5)**2*H2-X(5)*H2)*HT2+BETA1* & (X(6)*(H2+X(5)*(UN-H2)-UN)+X(5)**2*H2-X(5)*H2)*HT+BETA2*(X(6)*( & X(5)*H2+H2-UN)-X(5)*H2+X(6)**2*(UN-H2))+E*EPSP1*(X(6)*(H2-UN)-X & (5)*H2))*SIGF+(BETA1*E*(X(5)*EPSP2-EPSP2)+(UN-X(5))*BETA1*E*EPS & P1)*HT2)/((NU**2+H1*(X(5)*X(6)*(DEUX*H2-UN)-X(5)**2*H2+X(6)**2* & (UN-H2))-X(5)*X(6)*H2+X(6)**2*(H2-UN))*SIGF+(DEUX-DEUX*X(5))*BE & TA1*HT2*NU+(BETA1*(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)*(H2-DEUX) & +DEUX))+((X(5)-UN)*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2)**2 C C J25 = (((BETA1*HT2+BETA1*HT)*NU+((-X(6)+DEUX*X(5)-UN)*BETA1*H1+X(6 & )*BETA1)*HT2+((-X(6)+DEUX*X(5)-UN)*BETA1*H1+X(6)*BETA1)*HT+((X( & 6)-UN)*BETA2-E*EPSP2)*H1)*SIGF+(BETA1*E*EPSP1-BETA1*E*EPSP2)*HT & 2)/((NU**2+H1*(X(5)*X(6)*(DEUX*H2-UN)-X(5)**2*H2+X(6)**2*(UN-H2 & ))-X(5)*X(6)*H2+X(6)**2*(H2-UN))*SIGF+(DEUX-DEUX*X(5))*BETA1*HT & 2*NU+(BETA1*(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)*(H2-DEUX)+DEUX) & )+((X(5)-UN)*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2)-((H1*(X(6)*(DEUX & *H2-UN)-DEUX*X(5)*H2)-X(6)*H2)*SIGF-DEUX*BETA1*HT2*NU+(BETA1*(- & DEUX*X(5)*H2+H2+X(6)*(H2-DEUX))+(X(6)-DEUX*X(5)+UN)*BETA1*H1)*H & *BETA2)*NU+(((UN-X(5))*X(6)+X(5)**2-X(5))*BETA1*H1+(X(5)-UN)*X( & 6)*BETA1)*HT2+(((UN-X(5))*X(6)+X(5)**2-X(5))*BETA1*H1+(X(5)-UN) & *X(6)*BETA1)*HT+(E*(X(6)*EPSP2-X(5)*EPSP2)+(-X(6)**2+(X(5)+UN)* & X(6)-X(5))*BETA2)*H1-X(6)*E*EPSP2+(X(6)**2-X(6))*BETA2)*SIGF+(B & ETA1*E*(EPSP2-X(5)*EPSP2)+(X(5)-UN)*BETA1*E*EPSP1)*HT2)/((NU**2 & +H1*(X(5)*X(6)*(DEUX*H2-UN)-X(5)**2*H2+X(6)**2*(UN-H2))-X(5)*X( & 6)*H2+X(6)**2*(H2-UN))*SIGF+(DEUX-DEUX*X(5))*BETA1*HT2*NU+(BETA & 1*(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)*(H2-DEUX)+DEUX))+((X(5)-U & N)*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2)**2 C & -A1*B1*(A1*(X(3)-Y01))**(B1-UN) & *alpha1*m1*dy01**alpha1/(dy01+hdp1)/(x(5)**2*dt) DELAFON(5) = X(5)-((A1*(X(3)-Y01))**B1+UN) IF (LDOM2) THEN C C =====> ENDOMMAGEMENT EN COMPRESSION C J16 = (BETA2*NU+BETA1*(H2+X(5)*(1-H2)-1)*HT2+BETA1*(H2+X(5)*(1-H2) 1 -1)*HT+BETA2*(X(5)*H2+H2+2*X(6)*(1-H2)-1)+E*EPSP1*(H2-1))*SIGF/ 2 ((NU**2+H1*(X(5)*X(6)*(2*H2-1)-X(5)**2*H2+X(6)**2*(1-H2))-X(5)* 3 X(6)*H2+X(6)**2*(H2-1))*SIGF+(2-2*X(5))*BETA1*HT2*NU+(BETA1*(-X 4 (5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)*(H2-2)+2))+((X(5)-1)*X(6)-X(5) 5 **2+X(5))*BETA1*H1)*HT2)-((H1*(X(5)*(2*H2-1)+2*X(6)*(1-H2))-X(5 6 )*H2+2*X(6)*(H2-1))*SIGF+(BETA1*(-H2+X(5)*(H2-2)+2)+(X(5)-1)*BE 7 TA1*H1)*HT2)*((((X(5)-1)*BETA1*HT2+(X(5)-1)*BETA1*HT-E*EPSP2+(X 8 (6)-1)*BETA2)*NU+BETA1*(X(6)*(H2+X(5)*(1-H2)-1)+X(5)**2*H2-X(5) 9 *H2)*HT2+BETA1*(X(6)*(H2+X(5)*(1-H2)-1)+X(5)**2*H2-X(5)*H2)*HT+ : BETA2*(X(6)*(X(5)*H2+H2-1)-X(5)*H2+X(6)**2*(1-H2))+E*EPSP1*(X(6 ; )*(H2-1)-X(5)*H2))*SIGF+(BETA1*E*(X(5)*EPSP2-EPSP2)+(1-X(5))*BE < TA1*E*EPSP1)*HT2)/((NU**2+H1*(X(5)*X(6)*(2*H2-1)-X(5)**2*H2+X(6 = )**2*(1-H2))-X(5)*X(6)*H2+X(6)**2*(H2-1))*SIGF+(2-2*X(5))*BETA1 > *HT2*NU+(BETA1*(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)*(H2-2)+2))+( ? (X(5)-1)*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2)**2 C J26 = (BETA2*NU+((1-X(5))*BETA1*H1+(X(5)-1)*BETA1)*HT2+((1-X(5))*B 1 ETA1*H1+(X(5)-1)*BETA1)*HT+(E*EPSP2+(-2*X(6)+X(5)+1)*BETA2)*H1- 2 E*EPSP2+(2*X(6)-1)*BETA2)*SIGF/((NU**2+H1*(X(5)*X(6)*(2*H2-1)-X 3 (5)**2*H2+X(6)**2*(1-H2))-X(5)*X(6)*H2+X(6)**2*(H2-1))*SIGF+(2- 4 2*X(5))*BETA1*HT2*NU+(BETA1*(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5) 5 *(H2-2)+2))+((X(5)-1)*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2)-((H1*(X 6 (5)*(2*H2-1)+2*X(6)*(1-H2))-X(5)*H2+2*X(6)*(H2-1))*SIGF+(BETA1* 7 (-H2+X(5)*(H2-2)+2)+(X(5)-1)*BETA1*H1)*HT2)*((((X(5)-1)*BETA1*H 9 +X(5)**2-X(5))*BETA1*H1+(X(5)-1)*X(6)*BETA1)*HT2+(((1-X(5))*X(6 : )+X(5)**2-X(5))*BETA1*H1+(X(5)-1)*X(6)*BETA1)*HT+(E*(X(6)*EPSP2 ; -X(5)*EPSP2)+(-X(6)**2+(X(5)+1)*X(6)-X(5))*BETA2)*H1-X(6)*E*EPS < P2+(X(6)**2-X(6))*BETA2)*SIGF+(BETA1*E*(EPSP2-X(5)*EPSP2)+(X(5) = -1)*BETA1*E*EPSP1)*HT2)/((NU**2+H1*(X(5)*X(6)*(2*H2-1)-X(5)**2* > H2+X(6)**2*(1-H2))-X(5)*X(6)*H2+X(6)**2*(H2-1))*SIGF+(2-2*X(5)) ? *BETA1*HT2*NU+(BETA1*(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)*(H2-2) @ +2))+((X(5)-1)*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2)**2 C C & *X(2)*X(2))*X(6)/E & -A2*B2*(A2*(X(4)-Y02))**(B2-UN) & *alpha2*m2*dy02**alpha2/(dy02+hdp2)/(x(6)**2*dt) * JACOB(6,4) = (A2*B2*(X(4)-Y02)**(B2-1.0)) * DELAFON(6) = X(6)-(A2*(X(4)-Y02)**B2+1.0) DELAFON(6) = X(6)-((A2*(X(4)-Y02))**B2+1.0) DIMPB=6 ELSE DIMPB=5 END IF ELSE C C =====> PAS D'ENDOMMAGEMENT EN TRACTION C IF (LDOM2) THEN C C =====> ENDOMMAGEMENT EN COMPRESSION C J16 = (BETA2*NU+BETA1*(H2+X(5)*(1-H2)-1)*HT2+BETA1*(H2+X(5)*(1-H2) 1 -1)*HT+BETA2*(X(5)*H2+H2+2*X(6)*(1-H2)-1)+E*EPSP1*(H2-1))*SIGF/ 2 ((NU**2+H1*(X(5)*X(6)*(2*H2-1)-X(5)**2*H2+X(6)**2*(1-H2))-X(5)* 3 X(6)*H2+X(6)**2*(H2-1))*SIGF+(2-2*X(5))*BETA1*HT2*NU+(BETA1*(-X 4 (5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)*(H2-2)+2))+((X(5)-1)*X(6)-X(5) 5 **2+X(5))*BETA1*H1)*HT2)-((H1*(X(5)*(2*H2-1)+2*X(6)*(1-H2))-X(5 6 )*H2+2*X(6)*(H2-1))*SIGF+(BETA1*(-H2+X(5)*(H2-2)+2)+(X(5)-1)*BE 7 TA1*H1)*HT2)*((((X(5)-1)*BETA1*HT2+(X(5)-1)*BETA1*HT-E*EPSP2+(X 8 (6)-1)*BETA2)*NU+BETA1*(X(6)*(H2+X(5)*(1-H2)-1)+X(5)**2*H2-X(5) 9 *H2)*HT2+BETA1*(X(6)*(H2+X(5)*(1-H2)-1)+X(5)**2*H2-X(5)*H2)*HT+ : BETA2*(X(6)*(X(5)*H2+H2-1)-X(5)*H2+X(6)**2*(1-H2))+E*EPSP1*(X(6 ; )*(H2-1)-X(5)*H2))*SIGF+(BETA1*E*(X(5)*EPSP2-EPSP2)+(1-X(5))*BE < TA1*E*EPSP1)*HT2)/((NU**2+H1*(X(5)*X(6)*(2*H2-1)-X(5)**2*H2+X(6 = )**2*(1-H2))-X(5)*X(6)*H2+X(6)**2*(H2-1))*SIGF+(2-2*X(5))*BETA1 > *HT2*NU+(BETA1*(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)*(H2-2)+2))+( ? (X(5)-1)*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2)**2 C J26 = (BETA2*NU+((1-X(5))*BETA1*H1+(X(5)-1)*BETA1)*HT2+((1-X(5))*B 1 ETA1*H1+(X(5)-1)*BETA1)*HT+(E*EPSP2+(-2*X(6)+X(5)+1)*BETA2)*H1- 2 E*EPSP2+(2*X(6)-1)*BETA2)*SIGF/((NU**2+H1*(X(5)*X(6)*(2*H2-1)-X 3 (5)**2*H2+X(6)**2*(1-H2))-X(5)*X(6)*H2+X(6)**2*(H2-1))*SIGF+(2- 4 2*X(5))*BETA1*HT2*NU+(BETA1*(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5) 5 *(H2-2)+2))+((X(5)-1)*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2)-((H1*(X 6 (5)*(2*H2-1)+2*X(6)*(1-H2))-X(5)*H2+2*X(6)*(H2-1))*SIGF+(BETA1* 7 (-H2+X(5)*(H2-2)+2)+(X(5)-1)*BETA1*H1)*HT2)*((((X(5)-1)*BETA1*H 9 +X(5)**2-X(5))*BETA1*H1+(X(5)-1)*X(6)*BETA1)*HT2+(((1-X(5))*X(6 : )+X(5)**2-X(5))*BETA1*H1+(X(5)-1)*X(6)*BETA1)*HT+(E*(X(6)*EPSP2 ; -X(5)*EPSP2)+(-X(6)**2+(X(5)+1)*X(6)-X(5))*BETA2)*H1-X(6)*E*EPS < P2+(X(6)**2-X(6))*BETA2)*SIGF+(BETA1*E*(EPSP2-X(5)*EPSP2)+(X(5) = -1)*BETA1*E*EPSP1)*HT2)/((NU**2+H1*(X(5)*X(6)*(2*H2-1)-X(5)**2* > H2+X(6)**2*(1-H2))-X(5)*X(6)*H2+X(6)**2*(H2-1))*SIGF+(2-2*X(5)) ? *BETA1*HT2*NU+(BETA1*(-X(5)**2*H2+X(5)*H2+X(6)*(-H2+X(5)*(H2-2) @ +2))+((X(5)-1)*X(6)-X(5)**2+X(5))*BETA1*H1)*HT2)**2 C C & *X(2)*X(2))*X(6)/E & -A2*B2*(A2*(X(4)-Y02))**(B2-UN) & *alpha2*m2*dy02**alpha2/(dy02+hdp2)/(x(6)**2*dt) * JACOB(5,4) = (A2*B2*(X(4)-Y02)**(B2-1.0)) * DELAFON(5) = X(6)-(A2*(X(4)-Y02)**B2+1.0) DELAFON(5) = X(6)-((A2*(X(4)-Y02))**B2+1.0) DIMPB=5 ELSE DIMPB=4 END IF END IF C C RESOLUTION C C C CALCUL DE L"ERREUR ET DE LA NOUVELLE SOLUTION C DO I=1,2 X(I)=X(I)+DX(I) if (x(i) .ge. 0.) then x(i)=MIN(1.d+15,x(i)) else x(i)=max(-1.d+15,x(i)) endif END DO X(3)=X(3)+DX(3) X3=MAX(X(3),Y001) X3=MIN(ABS(X3),1.d+07) X(4)=X(4)+DX(4) X4=MAX(X(4),Y002) X4=MIN(ABS(X4),1.d+07) if (.not. ldom1) then dx5=(x(5)-x5)*1.0/4.0 x(5)=dx5+x5 x(5)=max(z1,x(5)) endif if (.not. ldom2) then dx6=(x(6)-x6)/4. x(6)=dx6+x6 x(6)=max(z2,x(6)) endif IF (LDOM1) THEN IF ((X(5)+DX(5)).LT.Z1) THEN DX(5)=(Z1-X(5)) c if (evol1) dx(5)=dx(5)/2. END IF IF ( X(5) .GT. ZMAX)THEN DX(5)=ZMAX + 0.1D0 - X(5) END IF X(5)=X(5)+DX(5) IF (LDOM2) THEN IF ((X(6)+DX(6)).LT.Z2) THEN DX(6)=(Z2-X(6)) c if (evol2) dx(6)=dx(6)/2. END IF IF ( X(6) .GT. ZMAX)THEN DX(6)=ZMAX + 0.1D0 - X(6) END IF X(6)=X(6)+DX(6) END IF ELSE IF (LDOM2) THEN IF ((X(6)+DX(5)).LT.Z2) THEN DX(5)=(Z2-X(6)) c if (evol2) dx(5)=dx(5)/2. END IF IF ( X(6) .GT. ZMAX)THEN DX(5)=ZMAX + 0.1D0 - X(6) END IF X(6)=X(6)+DX(5) END IF CONV=.FALSE. print*,'iteration num',iter print*,'delafon',delafon print*,z1,z2,x3,x4,sigy print*,dx print*,'y02=',y02,'y002=',y002 RETURN END IF C C QUELQUES IMPRESSIONS EN CAS D'ERREUR C if (.not. conv )then print*,'LDOM1 :',LDOM1,' LDOM2 :',LDOM2 PRINT*,'EPS1= ',EPSP1,' EPS2= ',EPSP2 PRINT*,'SIG1:',X(1) ,' DSIG1:',DX(1),'ERR :',DELAFON(1) PRINT*,'SIG2:',X(2) ,' DSIG2:',DX(2),'ERR :',DELAFON(2) PRINT*,'Y1 :',X(3) ,' DY1 :',DX(3),'ERR :',DELAFON(3) PRINT*,'Y2 :',X(4) ,' DY2 :',DX(4),'ERR :',DELAFON(4) PRINT*,'Z1 :',X(5) ,' DZ1 :',DX(5),'ERR :',DELAFON(5) PRINT*,'Z2 :',X(6) ,' DZ2 :',DX(6),'ERR :',DELAFON(6) PRINT*,'H1',H1,'H2',H2,ht,ht2 PRINT* END IF END DO CONV=.FALSE. ELSE CONV=.TRUE. SIG1= X(1) SIG2= X(2) Y1 = X(3) Y2 = X(4) Z1 = X(5) Z2 = X(6) 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 JSIGN(3)=1 END IF RETURN 200 format(6(6(2x,e11.4),/)) END
© Cast3M 2003 - Tous droits réservés.
Mentions légales