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