Télécharger trjsau.eso

Retour à la liste

Numérotation des lignes :

trjsau
  1. C TRJSAU SOURCE CHAT 05/01/13 03:51:09 5004
  2. SUBROUTINE TRJSAU(XARI,XDEP,UELEM,DTINT,IDIM,ITYEL)
  3. C
  4. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  5. C FORMULAIRE DES TRAJECTOIRES POUR LES SAUTS CONVECTIFS
  6. C DANS UNE MAILLE ( calcul analytique formulation EFMH)
  7. C
  8. C ENTREES
  9. C XDEP POSITION INITIALE
  10. C UELEM FLUX AUX FACES
  11. C IDIM DIMENSION DE L ESPACE
  12. C ITYEL TYPE DE L ELEMENT
  13. C DTINT DUREE DU SAUT
  14. C SORTIES
  15. C XARI POSITION APRES LE SAUT
  16. C LTEST INDIQUE SI ON SORT DU TRIANGLE
  17. C
  18. C TYPES D ELEMENTS CONSIDERES
  19. C TRI3 QUA4 CUB8 PRI6 TET
  20. C 4 8 14 16 23
  21. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  22. C
  23. IMPLICIT INTEGER(I-N)
  24. IMPLICIT REAL*8 (A-H,O-Z)
  25. C
  26. DIMENSION XARI(3),XDEP(3),X(3),Y(3),UELEM(6),XY(4)
  27. C
  28. C
  29.  
  30. C
  31. C*** QUADRANGLE QUA4 QUA9 3
  32. C *****
  33. C * *
  34. C FACES 4 * * 2
  35. C *****
  36. C 1
  37. IF(ITYEL.EQ.8)THEN
  38. C
  39. Q=MAX(ABS(UELEM(1)),ABS(UELEM(2)),ABS(UELEM(3)),ABS(UELEM(4)))
  40. C LES FLUX OPPOSES NE SE COMPENSENT PAS
  41. C
  42.  
  43. X(1)=UELEM(2)+UELEM(4)
  44. X(2)=UELEM(3)+UELEM(1)
  45. Y(1)=UELEM(2)-UELEM(4)
  46. Y(2)=UELEM(3)-UELEM(1)
  47. C
  48. IF(ABS(X(1))/Q.GT.1D-10)THEN
  49. c write(6,*) 'coucou1'
  50. DO 8 I2=1,IDIM
  51. XARI(I2)=(XDEP(I2)*EXP(25.D-2*X(I2)*DTINT))-
  52. * ((Y(I2)/X(I2))*(1-EXP(25.D-2*X(I2)*DTINT)))
  53. 8 CONTINUE
  54. ELSE
  55. C
  56. C LES FLUX OPPOSES SE COMPENSENT
  57. C
  58. DO 2 I3=1,IDIM
  59. XARI(I3)=XDEP(I3)+(25.D-2*Y(I3)*DTINT)
  60. 2 CONTINUE
  61. ENDIF
  62.  
  63. C*** CUBE CUB8
  64. C
  65. C LES FLUX OPPOSES NE SE COMPENSENT PAS
  66. C
  67. ELSEIF(ITYEL.EQ.14)THEN
  68. Q=MAX(ABS(UELEM(1)),ABS(UELEM(2)),ABS(UELEM(3)),
  69. * ABS(UELEM(4)),ABS(UELEM(5)),ABS(UELEM(6)))
  70. X(1)=125.D-3*(UELEM(4)+UELEM(6))
  71. X(2)=125.D-3*(UELEM(3)+UELEM(5))
  72. X(3)=125.D-3*(UELEM(2)+UELEM(1))
  73. C
  74. Y(1)=125.D-3*(UELEM(6)-UELEM(4))
  75. Y(2)=125.D-3*(UELEM(3)-UELEM(5))
  76. Y(3)=125.D-3*(UELEM(1)-UELEM(2))
  77. C
  78. IF(ABS(X(1))/Q.GT.1.D-11)THEN
  79. IF(ABS(X(2))/Q.GT.1.D-11)THEN
  80. IF(ABS(X(3))/Q.GT.1.D-11)THEN
  81.  
  82. DO 3 I4=1,IDIM
  83. XARI(I4)=(XDEP(I4)*EXP(125.D-3*X(I4)*DTINT))+
  84. * ((Y(I4)/X(I4))*(1-EXP(125.D-3*X(I4)*DTINT)))
  85. 3 CONTINUE
  86. C
  87. C SI L'EQUATION SUIVANT Z DIFFERE
  88. C
  89. ELSE
  90. XARI(1)=(XDEP(1)*EXP(125.D-3*X(1)*DTINT))+
  91. * ((Y(1)/X(1))*(1-EXP(125.D-3*X(1)*DTINT)))
  92. XARI(2)=(XDEP(2)*EXP(125.D-3*X(2)*DTINT))+
  93. * ((Y(2)/X(2))*(1-EXP(125.D-3*X(2)*DTINT)))
  94. XARI(3)=XDEP(3)-(Y(3)*DTINT)
  95. C
  96. C SI L'EQUATION SUIVANT Y DIFFERE
  97. C
  98. ENDIF
  99. ELSE
  100. XARI(1)=(XDEP(1)*EXP(125.D-3*X(1)*DTINT))+
  101. * ((Y(1)/X(1))*(1-EXP(125.D-3*X(1)*DTINT)))
  102. XARI(3)=(XDEP(3)*EXP(125.D-3*X(3)*DTINT))+
  103. * ((Y(3)/X(3))*(1-EXP(125.D-3*X(3)*DTINT)))
  104. XARI(2)=XDEP(2)-(Y(2)*DTINT)
  105. C
  106. C SI L'EQUATION SUIVANT X DIFFERE
  107. C
  108. ENDIF
  109. ELSE
  110. IF(ABS(X(2))/Q.GT.1.D-11)THEN
  111. XARI(3)=(XDEP(3)*EXP(125.D-3*X(3)*DTINT))+
  112. * ((Y(3)/X(3))*(1-EXP(125.D-3*X(3)*DTINT)))
  113. XARI(2)=(XDEP(2)*EXP(125.D-3*X(2)*DTINT))+
  114. * ((Y(2)/X(2))*(1-EXP(125.D-3*X(2)*DTINT)))
  115. XARI(1)=XDEP(1)-(Y(1)*DTINT)
  116. C
  117. C TOUS LES FLUX SE COMPENSENT
  118. ELSE
  119. DO 4 I5=1,IDIM
  120. XARI(I5)=XDEP(I5)-(Y(I5)*DTINT)
  121. 4 CONTINUE
  122.  
  123. ENDIF
  124. ENDIF
  125.  
  126. CC
  127. CC
  128. CC*** PRISME PRI6
  129. CC
  130. ELSEIF(ITYEL.EQ.16)THEN
  131. C
  132. Q=MAX(ABS(UELEM(1)),ABS(UELEM(2)),ABS(UELEM(3)),
  133. * ABS(UELEM(4)),ABS(UELEM(5)))
  134. VAR=(UELEM(3)+UELEM(4)+UELEM(5))/2.D0
  135.  
  136. C SI LES FLUX NE SE COMPENSENT PAS
  137. C
  138. IDIM=3
  139. VAR=(UELEM(3)+UELEM(4)+UELEM(5))
  140. X(1)=UELEM(5)
  141. X(2)=UELEM(3)
  142. X(3)=(UELEM(2)-UELEM(1))
  143. C
  144. IF(ABS(VAR)/Q.GT.1.D-10)THEN
  145. XARI(1)=(XDEP(1)*EXP(5.D-1*VAR*DTINT))+((X(1)/VAR)*
  146. * (1.D0-EXP(5.D-1*VAR*DTINT)))
  147. XARI(2)=(XDEP(2)*EXP(5.D-1*VAR*DTINT))+((X(2)/VAR)*
  148. * (1.D0-EXP(5.D-1*VAR*DTINT)))
  149. XARI(3)=(XDEP(3)*EXP(-1.D0*VAR*DTINT))+((X(3)/VAR)*
  150. * (1.D0-EXP(-1.D0*VAR*DTINT)))
  151. C
  152. ELSE
  153. C
  154. C SI LES FLUX SE COMPENSENT
  155. C
  156. XARI(1)=XDEP(1)-(5.D-1*X(1)*DTINT)
  157. XARI(2)=XDEP(2)-(5.D-1*X(2)*DTINT)
  158. XARI(3)=XDEP(3)+(X(3)*DTINT)
  159. C
  160. ENDIF
  161.  
  162.  
  163. ENDIF
  164. END
  165.  
  166.  
  167.  

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