Télécharger trj603.eso

Retour à la liste

Numérotation des lignes :

trj603
  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.  
  22. -INC PPARAM
  23. -INC CCOPTIO
  24. C
  25. C
  26. C DATA XNOEU/0.,0.,0., 25.,0.,0., 25.,50.,0.,
  27. C * 0.,0.,25., 25.,0.,25., 25.,50.,25./
  28. C DATA X/ 10.,3.,3./
  29. C
  30. NOEL=6
  31. C IDIM=3
  32. C
  33. C
  34. G(1)=1.D0/3.D0
  35. G(2)=1.D0/3.D0
  36. G(3)=0.D0
  37. C
  38. N1=15
  39. DO 10 K=1,N1
  40. C
  41. XN(1)=0.5D0*(1.D0-G(1)-G(2))*(1.D0-G(3))
  42. XN(2)=0.5D0*G(1)*(1.D0-G(3))
  43. XN(3)=0.5D0*G(2)*(1.D0-G(3))
  44. XN(4)=0.5D0*(1.D0-G(1)-G(2))*(1.D0+G(3))
  45. XN(5)=0.5D0*G(1)*(1.D0+G(3))
  46. XN(6)=0.5D0*G(2)*(1.D0+G(3))
  47. C
  48. Y(1)=0.D0
  49. Y(2)=0.D0
  50. Y(3)=0.D0
  51. DO 1 I =1,NOEL
  52. Y(1)=Y(1)+XN(I)*XNOEU(1,I)
  53. Y(2)=Y(2)+XN(I)*XNOEU(2,I)
  54. Y(3)=Y(3)+XN(I)*XNOEU(3,I)
  55. 1 CONTINUE
  56. C
  57. DX(1)=X(1)-Y(1)
  58. DX(2)=X(2)-Y(2)
  59. DX(3)=X(3)-Y(3)
  60. D1XN(1)=-0.5D0*(1.D0-G(3))
  61. D1XN(2)= 0.5D0*(1.D0-G(3))
  62. D1XN(3)= 0.D0
  63. D1XN(4)=-0.5D0*(1.D0+G(3))
  64. D1XN(5)= 0.5D0*(1.D0+G(3))
  65. D1XN(6)= 0.D0
  66. C
  67. D2XN(1)=-0.5D0*(1.D0-G(3))
  68. D2XN(2)= 0.D0
  69. D2XN(3)= 0.5D0*(1.D0-G(3))
  70. D2XN(4)=-0.5D0*(1.D0+G(3))
  71. D2XN(5)= 0.D0
  72. D2XN(6)= 0.5D0*(1.D0+G(3))
  73. C
  74. D3XN(1)=-0.5D0*(1.D0-G(1)-G(2))
  75. D3XN(2)=-0.5D0*G(1)
  76. D3XN(3)=-0.5D0*G(2)
  77. D3XN(4)= 0.5D0*(1.D0-G(1)-G(2))
  78. D3XN(5)= 0.5D0*G(1)
  79. D3XN(6)= 0.5D0*G(2)
  80. C
  81. C
  82. A(1,1)=0.D0
  83. A(1,2)=0.D0
  84. A(1,3)=0.D0
  85. A(2,1)=0.D0
  86. A(2,2)=0.D0
  87. A(2,3)=0.D0
  88. A(3,1)=0.D0
  89. A(3,2)=0.D0
  90. A(3,3)=0.D0
  91. DO 75 I=1,NOEL
  92. A(1,1)=A(1,1)+D1XN(I)*XNOEU(1,I)
  93. A(1,2)=A(1,2)+D2XN(I)*XNOEU(1,I)
  94. A(1,3)=A(1,3)+D3XN(I)*XNOEU(1,I)
  95. A(2,1)=A(2,1)+D1XN(I)*XNOEU(2,I)
  96. A(2,2)=A(2,2)+D2XN(I)*XNOEU(2,I)
  97. A(2,3)=A(2,3)+D3XN(I)*XNOEU(2,I)
  98. A(3,1)=A(3,1)+D1XN(I)*XNOEU(3,I)
  99. A(3,2)=A(3,2)+D2XN(I)*XNOEU(3,I)
  100. A(3,3)=A(3,3)+D3XN(I)*XNOEU(3,I)
  101. 75 CONTINUE
  102. DET=A(1,1)*(A(2,2)*A(3,3)-A(3,2)*A(2,3))
  103. * +A(1,2)*(A(3,1)*A(2,3)-A(2,1)*A(3,3))
  104. * +A(1,3)*(A(2,1)*A(3,2)-A(2,2)*A(3,1))
  105. B(1,1)=(A(2,2)*A(3,3)-A(3,2)*A(2,3))/DET
  106. B(1,2)=(A(1,3)*A(3,2)-A(1,2)*A(3,3))/DET
  107. B(1,3)=(A(1,2)*A(2,3)-A(1,3)*A(2,2))/DET
  108. B(2,1)=(A(3,1)*A(2,3)-A(3,3)*A(2,1))/DET
  109. B(2,2)=(A(1,1)*A(3,3)-A(1,3)*A(3,1))/DET
  110. B(2,3)=(A(1,3)*A(2,1)-A(1,1)*A(2,3))/DET
  111. B(3,1)=(A(2,1)*A(3,2)-A(2,2)*A(3,1))/DET
  112. B(3,2)=(A(1,2)*A(3,1)-A(1,1)*A(3,2))/DET
  113. B(3,3)=(A(1,1)*A(2,2)-A(1,2)*A(2,1))/DET
  114. C
  115. DG(1)=B(1,1)*DX(1)+B(1,2)*DX(2)+B(1,3)*DX(3)
  116. DG(2)=B(2,1)*DX(1)+B(2,2)*DX(2)+B(2,3)*DX(3)
  117. DG(3)=B(3,1)*DX(1)+B(3,2)*DX(2)+B(3,3)*DX(3)
  118. C
  119. G(1)=G(1)+DG(1)
  120. G(2)=G(2)+DG(2)
  121. G(3)=G(3)+DG(3)
  122. C
  123. DA1=ABS(DG(1))
  124. DA2=ABS(DG(2))
  125. DA3=ABS(DG(3))
  126. C
  127. IF(DA1.LE.1.D-04.AND.DA2.LE.1.D-04.AND.DA3.LE.1.D-04)GO TO 51
  128. C
  129. 10 CONTINUE
  130. C
  131. C IF(K.GE.N1)WRITE(6,101)X(1),X(2),X(3),DA1,DA2,DA3
  132. MOTERR(1:8)='TRJ603 '
  133. REAERR(1)=X(1)
  134. REAERR(2)=X(2)
  135. REAERR(3)=X(3)
  136. C CALL ERREUR(-300)
  137. IER=-300
  138. 51 CONTINUE
  139. C
  140. C
  141. RETURN
  142. 101 FORMAT(//,3X,'PB DE CONVERGENCE TRJ603 AU POINT SITUE EN '
  143. *,3(1PE12.5),/,3X,'CONVERGENCE RELATIVE ',3(1PE12.5))
  144. C
  145. END
  146.  
  147.  
  148.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales