trj603
C TRJ603 SOURCE CHAT 05/01/13 03:48:18 5004 C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C CALCUL DES COORDONNEES DE REFERENCE DANS UN PRI6 C XNOEU COORDONNEES DES SOMMETS C X REELLES C G DE REFERENCE C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C DIMENSION XNOEU(3,6),X(3),XN(6),G(3),DG(3),DX(3) DIMENSION Y(3),D1XN(6),D2XN(6),D3XN(6),A(3,3),B(3,3) -INC PPARAM -INC CCOPTIO C C C DATA XNOEU/0.,0.,0., 25.,0.,0., 25.,50.,0., C * 0.,0.,25., 25.,0.,25., 25.,50.,25./ C DATA X/ 10.,3.,3./ C NOEL=6 C IDIM=3 C C G(1)=1.D0/3.D0 G(2)=1.D0/3.D0 G(3)=0.D0 C N1=15 DO 10 K=1,N1 C XN(1)=0.5D0*(1.D0-G(1)-G(2))*(1.D0-G(3)) XN(2)=0.5D0*G(1)*(1.D0-G(3)) XN(3)=0.5D0*G(2)*(1.D0-G(3)) XN(4)=0.5D0*(1.D0-G(1)-G(2))*(1.D0+G(3)) XN(5)=0.5D0*G(1)*(1.D0+G(3)) XN(6)=0.5D0*G(2)*(1.D0+G(3)) C Y(1)=0.D0 Y(2)=0.D0 Y(3)=0.D0 DO 1 I =1,NOEL Y(1)=Y(1)+XN(I)*XNOEU(1,I) Y(2)=Y(2)+XN(I)*XNOEU(2,I) Y(3)=Y(3)+XN(I)*XNOEU(3,I) 1 CONTINUE C DX(1)=X(1)-Y(1) DX(2)=X(2)-Y(2) DX(3)=X(3)-Y(3) D1XN(1)=-0.5D0*(1.D0-G(3)) D1XN(2)= 0.5D0*(1.D0-G(3)) D1XN(3)= 0.D0 D1XN(4)=-0.5D0*(1.D0+G(3)) D1XN(5)= 0.5D0*(1.D0+G(3)) D1XN(6)= 0.D0 C D2XN(1)=-0.5D0*(1.D0-G(3)) D2XN(2)= 0.D0 D2XN(3)= 0.5D0*(1.D0-G(3)) D2XN(4)=-0.5D0*(1.D0+G(3)) D2XN(5)= 0.D0 D2XN(6)= 0.5D0*(1.D0+G(3)) C D3XN(1)=-0.5D0*(1.D0-G(1)-G(2)) D3XN(2)=-0.5D0*G(1) D3XN(3)=-0.5D0*G(2) D3XN(4)= 0.5D0*(1.D0-G(1)-G(2)) D3XN(5)= 0.5D0*G(1) D3XN(6)= 0.5D0*G(2) C C A(1,1)=0.D0 A(1,2)=0.D0 A(1,3)=0.D0 A(2,1)=0.D0 A(2,2)=0.D0 A(2,3)=0.D0 A(3,1)=0.D0 A(3,2)=0.D0 A(3,3)=0.D0 DO 75 I=1,NOEL A(1,1)=A(1,1)+D1XN(I)*XNOEU(1,I) A(1,2)=A(1,2)+D2XN(I)*XNOEU(1,I) A(1,3)=A(1,3)+D3XN(I)*XNOEU(1,I) A(2,1)=A(2,1)+D1XN(I)*XNOEU(2,I) A(2,2)=A(2,2)+D2XN(I)*XNOEU(2,I) A(2,3)=A(2,3)+D3XN(I)*XNOEU(2,I) A(3,1)=A(3,1)+D1XN(I)*XNOEU(3,I) A(3,2)=A(3,2)+D2XN(I)*XNOEU(3,I) A(3,3)=A(3,3)+D3XN(I)*XNOEU(3,I) 75 CONTINUE * +A(1,2)*(A(3,1)*A(2,3)-A(2,1)*A(3,3)) * +A(1,3)*(A(2,1)*A(3,2)-A(2,2)*A(3,1)) C DG(1)=B(1,1)*DX(1)+B(1,2)*DX(2)+B(1,3)*DX(3) DG(2)=B(2,1)*DX(1)+B(2,2)*DX(2)+B(2,3)*DX(3) DG(3)=B(3,1)*DX(1)+B(3,2)*DX(2)+B(3,3)*DX(3) C G(1)=G(1)+DG(1) G(2)=G(2)+DG(2) G(3)=G(3)+DG(3) C DA1=ABS(DG(1)) DA2=ABS(DG(2)) DA3=ABS(DG(3)) C IF(DA1.LE.1.D-04.AND.DA2.LE.1.D-04.AND.DA3.LE.1.D-04)GO TO 51 C 10 CONTINUE C C IF(K.GE.N1)WRITE(6,101)X(1),X(2),X(3),DA1,DA2,DA3 MOTERR(1:8)='TRJ603 ' REAERR(1)=X(1) REAERR(2)=X(2) REAERR(3)=X(3) C CALL ERREUR(-300) IER=-300 51 CONTINUE C C RETURN 101 FORMAT(//,3X,'PB DE CONVERGENCE TRJ603 AU POINT SITUE EN ' *,3(1PE12.5),/,3X,'CONVERGENCE RELATIVE ',3(1PE12.5)) C END
© Cast3M 2003 - Tous droits réservés.
Mentions légales