1 : C TRJ603 SOURCE CHAT 05/01/13 03:48:18 5004 2 : SUBROUTINE TRJ603 (XNOEU,X,G,IER) 3 : C 4 : C 5 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 6 : C 7 : C CALCUL DES COORDONNEES DE REFERENCE DANS UN PRI6 8 : C XNOEU COORDONNEES DES SOMMETS 9 : C X REELLES 10 : C G DE REFERENCE 11 : C 12 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 13 : C 14 : C 15 : C 16 : IMPLICIT INTEGER(I-N) 17 : IMPLICIT REAL*8 (A-H,O-Z) 18 : C 19 : DIMENSION XNOEU(3,6),X(3),XN(6),G(3),DG(3),DX(3) 20 : DIMENSION Y(3),D1XN(6),D2XN(6),D3XN(6),A(3,3),B(3,3) 21 : -INC CCOPTIO 22 : C 23 : C 24 : C DATA XNOEU/0.,0.,0., 25.,0.,0., 25.,50.,0., 25 : C * 0.,0.,25., 25.,0.,25., 25.,50.,25./ 26 : C DATA X/ 10.,3.,3./ 27 : C 28 : NOEL=6 29 : C IDIM=3 30 : C 31 : C 32 : G(1)=1.D0/3.D0 33 : G(2)=1.D0/3.D0 34 : G(3)=0.D0 35 : C 36 : N1=15 37 : DO 10 K=1,N1 38 : C 39 : XN(1)=0.5D0*(1.D0-G(1)-G(2))*(1.D0-G(3)) 40 : XN(2)=0.5D0*G(1)*(1.D0-G(3)) 41 : XN(3)=0.5D0*G(2)*(1.D0-G(3)) 42 : XN(4)=0.5D0*(1.D0-G(1)-G(2))*(1.D0+G(3)) 43 : XN(5)=0.5D0*G(1)*(1.D0+G(3)) 44 : XN(6)=0.5D0*G(2)*(1.D0+G(3)) 45 : C 46 : Y(1)=0.D0 47 : Y(2)=0.D0 48 : Y(3)=0.D0 49 : DO 1 I =1,NOEL 50 : Y(1)=Y(1)+XN(I)*XNOEU(1,I) 51 : Y(2)=Y(2)+XN(I)*XNOEU(2,I) 52 : Y(3)=Y(3)+XN(I)*XNOEU(3,I) 53 : 1 CONTINUE 54 : C 55 : DX(1)=X(1)-Y(1) 56 : DX(2)=X(2)-Y(2) 57 : DX(3)=X(3)-Y(3) 58 : D1XN(1)=-0.5D0*(1.D0-G(3)) 59 : D1XN(2)= 0.5D0*(1.D0-G(3)) 60 : D1XN(3)= 0.D0 61 : D1XN(4)=-0.5D0*(1.D0+G(3)) 62 : D1XN(5)= 0.5D0*(1.D0+G(3)) 63 : D1XN(6)= 0.D0 64 : C 65 : D2XN(1)=-0.5D0*(1.D0-G(3)) 66 : D2XN(2)= 0.D0 67 : D2XN(3)= 0.5D0*(1.D0-G(3)) 68 : D2XN(4)=-0.5D0*(1.D0+G(3)) 69 : D2XN(5)= 0.D0 70 : D2XN(6)= 0.5D0*(1.D0+G(3)) 71 : C 72 : D3XN(1)=-0.5D0*(1.D0-G(1)-G(2)) 73 : D3XN(2)=-0.5D0*G(1) 74 : D3XN(3)=-0.5D0*G(2) 75 : D3XN(4)= 0.5D0*(1.D0-G(1)-G(2)) 76 : D3XN(5)= 0.5D0*G(1) 77 : D3XN(6)= 0.5D0*G(2) 78 : C 79 : C 80 : A(1,1)=0.D0 81 : A(1,2)=0.D0 82 : A(1,3)=0.D0 83 : A(2,1)=0.D0 84 : A(2,2)=0.D0 85 : A(2,3)=0.D0 86 : A(3,1)=0.D0 87 : A(3,2)=0.D0 88 : A(3,3)=0.D0 89 : DO 75 I=1,NOEL 90 : A(1,1)=A(1,1)+D1XN(I)*XNOEU(1,I) 91 : A(1,2)=A(1,2)+D2XN(I)*XNOEU(1,I) 92 : A(1,3)=A(1,3)+D3XN(I)*XNOEU(1,I) 93 : A(2,1)=A(2,1)+D1XN(I)*XNOEU(2,I) 94 : A(2,2)=A(2,2)+D2XN(I)*XNOEU(2,I) 95 : A(2,3)=A(2,3)+D3XN(I)*XNOEU(2,I) 96 : A(3,1)=A(3,1)+D1XN(I)*XNOEU(3,I) 97 : A(3,2)=A(3,2)+D2XN(I)*XNOEU(3,I) 98 : A(3,3)=A(3,3)+D3XN(I)*XNOEU(3,I) 99 : 75 CONTINUE 100 : DET=A(1,1)*(A(2,2)*A(3,3)-A(3,2)*A(2,3)) 101 : * +A(1,2)*(A(3,1)*A(2,3)-A(2,1)*A(3,3)) 102 : * +A(1,3)*(A(2,1)*A(3,2)-A(2,2)*A(3,1)) 103 : B(1,1)=(A(2,2)*A(3,3)-A(3,2)*A(2,3))/DET 104 : B(1,2)=(A(1,3)*A(3,2)-A(1,2)*A(3,3))/DET 105 : B(1,3)=(A(1,2)*A(2,3)-A(1,3)*A(2,2))/DET 106 : B(2,1)=(A(3,1)*A(2,3)-A(3,3)*A(2,1))/DET 107 : B(2,2)=(A(1,1)*A(3,3)-A(1,3)*A(3,1))/DET 108 : B(2,3)=(A(1,3)*A(2,1)-A(1,1)*A(2,3))/DET 109 : B(3,1)=(A(2,1)*A(3,2)-A(2,2)*A(3,1))/DET 110 : B(3,2)=(A(1,2)*A(3,1)-A(1,1)*A(3,2))/DET 111 : B(3,3)=(A(1,1)*A(2,2)-A(1,2)*A(2,1))/DET 112 : C 113 : DG(1)=B(1,1)*DX(1)+B(1,2)*DX(2)+B(1,3)*DX(3) 114 : DG(2)=B(2,1)*DX(1)+B(2,2)*DX(2)+B(2,3)*DX(3) 115 : DG(3)=B(3,1)*DX(1)+B(3,2)*DX(2)+B(3,3)*DX(3) 116 : C 117 : G(1)=G(1)+DG(1) 118 : G(2)=G(2)+DG(2) 119 : G(3)=G(3)+DG(3) 120 : C 121 : DA1=ABS(DG(1)) 122 : DA2=ABS(DG(2)) 123 : DA3=ABS(DG(3)) 124 : C 125 : IF(DA1.LE.1.D-04.AND.DA2.LE.1.D-04.AND.DA3.LE.1.D-04)GO TO 51 126 : C 127 : 10 CONTINUE 128 : C 129 : C IF(K.GE.N1)WRITE(6,101)X(1),X(2),X(3),DA1,DA2,DA3 130 : MOTERR(1:8)='TRJ603 ' 131 : REAERR(1)=X(1) 132 : REAERR(2)=X(2) 133 : REAERR(3)=X(3) 133 : C CALL ERREUR(-300) 134 : IER=-300 135 : 51 CONTINUE 136 : C 137 : C 138 : RETURN 139 : 101 FORMAT(//,3X,'PB DE CONVERGENCE TRJ603 AU POINT SITUE EN ' 140 : *,3(1PE12.5),/,3X,'CONVERGENCE RELATIVE ',3(1PE12.5)) 141 : C 142 : END 143 : 144 :
© Cast3M 2003 - All rights reserved.
Disclaimer