trj702
C TRJ702 SOURCE CHAT 05/01/13 03:48:21 5004 C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C CALCUL DES COORDONNEES DE REFERENCES DANS UN TRI7 C XNOEU COORDONNEES DES SOMMETS C X REELLES C G REFERENCES C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 ( A-H,O-Z) DIMENSION XNOEU(2,7),X(2),XN(7),G(2),DX(2),DG(2) DIMENSION Y(2),D1XN(7),D2XN(7),A(2,2),B(2,2) -INC PPARAM -INC CCOPTIO C C C IDIM=2 NOEL=7 C C G(1)=1.D0/3.D0 G(2)=1.D0/3.D0 C N1=15 DO 10 K=1,N1 C XN(1)=1.D0-3.D0*G(1)-3.D0*G(2)+2.D0*G(1)*G(1)+ * 7.D0*G(1)*G(2)+2.D0*G(2)*G(2) * -3.D0*G(1)*G(2)*(G(1)+G(2)) XN(2)= 4.D0*G(1)*(1.D0-G(1)-4.D0*G(2)+3.D0*G(2)*(G(1)+G(2))) XN(3)=G(1)*(-1.D0+2.D0*G(1)+3.D0*G(2)-3.D0*G(2)*(G(1)+G(2))) XN(4)=4.D0*G(1)*G(2)*(-2.D0+3.D0*(G(1)+G(2))) XN(5)=G(2)*(-1.D0+3.D0*G(1)+2.D0*G(2)-3.D0*G(1)*(G(1)+G(2))) XN(6)=4.D0*G(2)*(1.D0-4.D0*G(1)-G(2)+3.D0*G(1)*(G(1)+G(2))) XN(7)=27.D0*G(2)*G(1)*(1.D0-G(1)-G(2)) C WRITE(6,*)' XN ',XN(1),XN(2),XN(3),XN(4),XN(5),XN(6),XN(7) C Y(1)=0.D0 Y(2)=0.D0 DO 11 I =1,NOEL Y(1)=Y(1)+XN(I)*XNOEU(1,I) Y(2)=Y(2)+XN(I)*XNOEU(2,I) 11 CONTINUE C WRITE(6,*)' X1 ',X1,' Y1 ',Y1 C DX(1)=X(1)-Y(1) DX(2)=X(2)-Y(2) D1XN(1)=-3.D0+4.D0*G(1)+7.D0*G(2)-6.D0*G(1)*G(2)-3.D0*G(2)*G(2) D1XN(2)=4.D0*(1.D0-2.D0*G(1)-4.D0*G(2)+ * 6.D0*G(1)*G(2)+3.D0*G(2)*G(2)) D1XN(3)=-1.D0+4.D0*G(1)+3.D0*G(2)-6.D0*G(1)*G(2)-3.D0*G(2)*G(2) D1XN(4)=4.D0*G(2)*(-2.D0+6.D0*G(1)+3.D0*G(2)) D1XN(5)=3.D0*G(2)*(1.D0-2.D0*G(1)-G(2)) D1XN(6)=4.D0*G(2)*(-4.D0+6.D0*G(1)+3.D0*G(2)) D1XN(7)=27.D0*G(2)*(1.D0-2.D0*G(1)-G(2)) C D2XN(1)=-3.D0+4.D0*G(2)+7.D0*G(1)-3.D0*G(1)*G(1)-6.D0*G(1)*G(2) D2XN(2)=4.D0*G(1)*(-4.D0+3.D0*G(1)+6.D0*G(2)) D2XN(3)=3.D0*G(1)*(1.D0-G(1)-2.D0*G(2)) D2XN(4)=4.D0*G(1)*(-2.D0+3.D0*G(1)+6.D0*G(2)) D2XN(5)=-1.D0+3.D0*G(1)+4.D0*G(2)-3.D0*G(1)*G(1)-6.D0*G(1)*G(2) D2XN(6)=4.D0*(1.D0-4.D0*G(1)-2.D0*G(2)+ * 3.D0*G(1)*G(1)+6.D0*G(1)*G(2)) D2XN(7)=27.D0*G(1)*(1.D0-G(1)-2.D0*G(2)) C A(1,1)=0.D0 A(1,2)=0.D0 A(2,1)=0.D0 A(2,2)=0.D0 C DO 4 I=1,NOEL A(1,1)=D1XN(I)*XNOEU(1,I)+A(1,1) A(1,2)=D1XN(I)*XNOEU(2,I)+A(1,2) A(2,1)=D2XN(I)*XNOEU(1,I)+A(2,1) A(2,2)=D2XN(I)*XNOEU(2,I)+A(2,2) 4 CONTINUE C DEL=A(1,1)*A(2,2)-A(2,1)*A(1,2) B(1,1)=1.D0/DEL*A(2,2) B(2,2)=1.D0/DEL*A(1,1) B(1,2)=-1.D0/DEL*A(2,1) B(2,1)=-1.D0/DEL*A(1,2) C DG(1)=B(1,1)*DX(1)+B(1,2)*DX(2) DG(2)=B(2,1)*DX(1)+B(2,2)*DX(2) C G(1)=DG(1)+G(1) G(2)=DG(2)+G(2) C DA1=ABS(DG(1)) DA2=ABS(DG(2)) IF(DA1.LE.0.0001.AND.DA2.LE.0.0001)GO TO 51 A(1,1)=0.D0 C 10 CONTINUE C C IF(K.GE.N1)WRITE(6,101)X(1),X(2),DA1,DA2 MOTERR(1:8)='TRJ702 ' REAERR(1)=X(1) REAERR(2)=X(2) REAERR(3)=0. C CALL ERREUR(-300) IER=-300 51 CONTINUE C C G(1)=XG1 C G(2)=YG1 C RETURN 101 FORMAT(//,3X,' PB DE CONVERGENCE TRJ702 AU POINT SITUE EN ' *,2(1PE12.5),/,3X,' CONVERGENCE RELATIVE ',2(1PE12.5)) C END
© Cast3M 2003 - Tous droits réservés.
Mentions légales