Télécharger yfrti.eso

Retour à la liste

Numérotation des lignes :

yfrti
  1. C YFRTI SOURCE MAGN 14/07/15 21:15:05 8096
  2. SUBROUTINE YFRTI(DRR,LE,NEL,K0,NPT,IES,NP,IAXI,IPADL,KIMPL,
  3. & COEF,NCOEF,IKK,
  4. & BETA,NBETA,IKB,
  5. & V0 ,NV0 ,IKV,
  6. & UN,F,F1)
  7. C
  8. IMPLICIT INTEGER(I-N)
  9. IMPLICIT REAL*8 (A-H,O-Z)
  10. C***********************************************************************
  11. C
  12. C BETA
  13. C CALCUL LE TENSEUR DE PERTE DE CHARGE K U I KX I
  14. C K--> I KY I
  15. C I KZ I
  16. C
  17. C COEFF : K
  18. C BETA : BETA
  19. C
  20. C
  21. C
  22. C***********************************************************************
  23. C
  24. DIMENSION LE(NP,*),IPADL(*),DRR(NP,NEL)
  25. DIMENSION UN(NPT,IES),F(NPT,IES),F1(NPT,IES)
  26. DIMENSION COEF(NCOEF,IES),BETA(NBETA,IES),V0(NV0,IES)
  27. -INC CCREEL
  28. C
  29. IF(IES.EQ.2) THEN
  30. C
  31. C *******
  32. C * 2 D *
  33. C *******
  34. C
  35. C write(6,*)' NPT=',NPT,' IES=',IES,' IKK=',ikk,' IKB=',ikb,
  36. C & ' IKV=',ikv
  37.  
  38. IF(KIMPL.EQ.0)THEN
  39.  
  40. DO 502 K=1,NEL
  41. NK=K+K0
  42. KK=1+(1-IKK)*(NK-1)
  43. KB=1+(1-IKB)*(NK-1)
  44.  
  45. DO 502 I=1,NP
  46. NF=IPADL(LE(I,K))
  47. KV=1+(1-IKV)*(NF-1)
  48. UXN=UN(NF,1)-V0(KV,1)
  49. UX=ABS(UXN)+XPETIT
  50. BX=(BETA(KB,1)-1.D0)*LOG(UX)
  51. ABX=ABS(BX)
  52. IF(ABX.LE.XPETIT)THEN
  53. UX=1.D0
  54. ELSE
  55. UX=EXP(BX)
  56. ENDIF
  57. UYN=UN(NF,2)-V0(KV,2)
  58. UY=ABS(UYN)+XPETIT
  59. BY=(BETA(KB,2)-1.D0)*LOG(UY)
  60. ABY=ABS(BY)
  61. IF(ABY.LE.XPETIT)THEN
  62. UY=1.D0
  63. ELSE
  64. UY=EXP(BY)
  65. ENDIF
  66. FF1=COEF(KK,1)*UX*UXN*DRR(I,K)*(-1.)
  67. FF2=COEF(KK,2)*UY*UYN*DRR(I,K)*(-1.)
  68. F(NF,1)=F(NF,1)+FF1
  69. F(NF,2)=F(NF,2)+FF2
  70. 502 CONTINUE
  71.  
  72. ELSE
  73. DO 402 K=1,NEL
  74. NK=K+K0
  75. KK=1+(1-IKK)*(NK-1)
  76. KB=1+(1-IKB)*(NK-1)
  77.  
  78. DO 402 I=1,NP
  79. NF=IPADL(LE(I,K))
  80. KV=1+(1-IKV)*(NF-1)
  81.  
  82. UXNE=-V0(KV,1)
  83. UXNI=UN(NF,1)
  84. UXN =UN(NF,1)-V0(KV,1)
  85. UX=ABS(UXN)+XPETIT
  86. BX=(BETA(KB,1)-1.D0)*LOG(UX)
  87. ABX=ABS(BX)
  88. IF(ABX.LE.XPETIT)THEN
  89. UX=1.D0
  90. ELSE
  91. UX=EXP(BX)
  92. ENDIF
  93.  
  94. UYNE=-V0(KV,2)
  95. UYNI=UN(NF,2)
  96. UYN =UN(NF,2)-V0(KV,2)
  97. UY=ABS(UYN)+XPETIT
  98. BY=(BETA(KB,2)-1.D0)*LOG(UY)
  99. ABY=ABS(BY)
  100. IF(ABY.LE.XPETIT)THEN
  101. UY=1.D0
  102. ELSE
  103. UY=EXP(BY)
  104. ENDIF
  105.  
  106. FFE1=COEF(KK,1)*UX*UXNE*DRR(I,K)
  107. c il semble qu'il y ait une erreur sur le terme
  108. c FFI1 mis en commentaire. On le remplace par
  109. c l'expression suivante.
  110. c FFI1=COEF(KK,1)*UX*UXNI*DRR(I,K)
  111. FFI1=COEF(KK,1)*UX*DRR(I,K)
  112. FFE2=COEF(KK,2)*UY*UYNE*DRR(I,K)
  113. c il semble qu'il y ait une erreur sur le terme
  114. c FFI2 mis en commentaire. On le remplace par
  115. c l'expression suivante.
  116. c FFI2=COEF(KK,2)*UY*UYNI*DRR(I,K)
  117. FFI2=COEF(KK,2)*UY*DRR(I,K)
  118. F(NF,1)=F(NF,1)+FFE1
  119. F(NF,2)=F(NF,2)+FFE2
  120. F1(NF,1)=F1(NF,1)+FFI1
  121. F1(NF,2)=F1(NF,2)+FFI2
  122. 402 CONTINUE
  123.  
  124. ENDIF
  125.  
  126. C
  127. C *******
  128. C * 3 D *
  129. C *******
  130. C
  131. ELSE
  132.  
  133. IF(KIMPL.EQ.0)THEN
  134.  
  135. DO 503 K=1,NEL
  136. NK=K+K0
  137. KK=1+(1-IKK)*(NK-1)
  138. KB=1+(1-IKB)*(NK-1)
  139.  
  140. DO 503 I=1,NP
  141. NF=IPADL(LE(I,K))
  142. KV=1+(1-IKV)*(NF-1)
  143. UXN=UN(NF,1)-V0(KV,1)
  144. UX=ABS(UXN)+XPETIT
  145. BX=(BETA(KB,1)-1.D0)*LOG(UX)
  146. ABX=ABS(BX)
  147. IF(ABX.LE.XPETIT)THEN
  148. UX=1.D0
  149. ELSE
  150. UX=EXP(BX)
  151. ENDIF
  152. UYN=UN(NF,2)-V0(KV,2)
  153. UY=ABS(UYN)+XPETIT
  154. BY=(BETA(KB,2)-1.D0)*LOG(UY)
  155. ABY=ABS(BY)
  156. IF(ABY.LE.XPETIT)THEN
  157. UY=1.D0
  158. ELSE
  159. UY=EXP(BY)
  160. ENDIF
  161. UZN=UN(NF,3)-V0(KV,3)
  162. UZ=ABS(UZN)+XPETIT
  163. BZ=(BETA(KB,3)-1.D0)*LOG(UZ)
  164. ABZ=ABS(BZ)
  165. IF(ABZ.LE.XPETIT)THEN
  166. UZ=1.D0
  167. ELSE
  168. UZ=EXP(BZ)
  169. ENDIF
  170. FF1=COEF(KK,1)*UX*UXN*DRR(I,K)*(-1.)
  171. FF2=COEF(KK,2)*UY*UYN*DRR(I,K)*(-1.)
  172. FF3=COEF(KK,3)*UZ*UZN*DRR(I,K)*(-1.)
  173. F(NF,1)=F(NF,1)+FF1
  174. F(NF,2)=F(NF,2)+FF2
  175. F(NF,3)=F(NF,3)+FF3
  176. 503 CONTINUE
  177.  
  178. ELSE
  179. DO 403 K=1,NEL
  180. NK=K+K0
  181. KK=1+(1-IKK)*(NK-1)
  182. KB=1+(1-IKB)*(NK-1)
  183.  
  184. DO 403 I=1,NP
  185. NF=IPADL(LE(I,K))
  186.  
  187. KV=1+(1-IKV)*(NF-1)
  188. UXNE=-V0(KV,1)
  189. UXNI=UN(NF,1)
  190. UXN =UN(NF,1)-V0(KV,1)
  191. UX=ABS(UXN)+XPETIT
  192. BX=(BETA(KB,1)-1.D0)*LOG(UX)
  193. ABX=ABS(BX)
  194. IF(ABX.LE.XPETIT)THEN
  195. UX=1.D0
  196. ELSE
  197. UX=EXP(BX)
  198. ENDIF
  199.  
  200. UYNE=-V0(KV,2)
  201. UYNI=UN(NF,2)
  202. UYN =UN(NF,2)-V0(KV,2)
  203. UY=ABS(UYN)+XPETIT
  204. BY=(BETA(KB,2)-1.D0)*LOG(UY)
  205. ABY=ABS(BY)
  206. IF(ABY.LE.XPETIT)THEN
  207. UY=1.D0
  208. ELSE
  209. UY=EXP(BY)
  210. ENDIF
  211.  
  212. UZNE=-V0(KV,3)
  213. UZNI=UN(NF,3)
  214. UZN =UN(NF,3)-V0(KV,3)
  215. UZ=ABS(UZN)+XPETIT
  216. BZ=(BETA(KB,3)-1.D0)*LOG(UZ)
  217. ABZ=ABS(BZ)
  218. IF(ABZ.LE.XPETIT)THEN
  219. UZ=1.D0
  220. ELSE
  221. UZ=EXP(BZ)
  222. ENDIF
  223.  
  224. FFE1=COEF(KK,1)*UX*UXNE*DRR(I,K)
  225. c il semble qu'il y ait une erreur sur le terme
  226. c FFI1 mis en commentaire. On le remplace par
  227. c l'expression suivante.
  228. c FFI1=COEF(KK,1)*UX*UXNI*DRR(I,K)
  229. FFI1=COEF(KK,1)*UX*DRR(I,K)
  230. FFE2=COEF(KK,2)*UY*UYNE*DRR(I,K)
  231. c il semble qu'il y ait une erreur sur le terme
  232. c FFI2 mis en commentaire. On le remplace par
  233. c l'expression suivante.
  234. c FFI2=COEF(KK,2)*UY*UYNI*DRR(I,K)
  235. FFI2=COEF(KK,2)*UY*DRR(I,K)
  236. FFE3=COEF(KK,3)*UZ*UZNE*DRR(I,K)
  237. c il semble qu'il y ait une erreur sur le terme
  238. c FFI3 mis en commentaire. On le remplace par
  239. c l'expression suivante.
  240. c FFI3=COEF(KK,3)*UZ*UZNI*DRR(I,K)
  241. FFI3=COEF(KK,3)*UZ*DRR(I,K)
  242. F(NF,1)=F(NF,1)+FFE1
  243. F(NF,2)=F(NF,2)+FFE2
  244. F(NF,3)=F(NF,3)+FFE3
  245. F1(NF,1)=F1(NF,1)+FFI1
  246. F1(NF,2)=F1(NF,2)+FFI2
  247. F1(NF,3)=F1(NF,3)+FFI3
  248. 403 CONTINUE
  249.  
  250. ENDIF
  251.  
  252. ENDIF
  253.  
  254.  
  255. RETURN
  256. 1001 FORMAT(20(1X,I5))
  257. 1002 FORMAT(10(1X,1PE11.4))
  258. END
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  

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