Télécharger bfilci.eso

Retour à la liste

Numérotation des lignes :

bfilci
  1. C BFILCI SOURCE CB215821 25/03/25 21:15:02 12217
  2. SUBROUTINE BFILCI(SANGLE,COUR,R,TMIN,TMAX,X,Z,BX,BY,BZ)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. C
  6. -INC CCREEL
  7. C
  8. C*******************************************************************
  9. C Calcul du champ induit par un arc de cercle de courant COUR,
  10. C d'axe Oz, de section filaire :
  11. C - rayon R
  12. C - extension angulaire TMIN a TMAX par rapport au plan meridien
  13. C xOz contenant le point de coordonnees (X,0,Z)
  14. C ou on calcule le champ (BX,BY,BZ)
  15. C*******************************************************************
  16. C
  17. SEGMENT SANGLE
  18. REAL*8 TETM(NT4)
  19. REAL*8 TETI(NT4)
  20. REAL*8 DTE(NT4)
  21. ENDSEGMENT
  22.  
  23. XMUN =-1.D0
  24. XUN = 1.D0
  25. XDEUX = 2.D0
  26. XQUAT = 4.D0
  27.  
  28. XDEMI = 0.5D0
  29. XVAL1 = 4.D-7
  30. C
  31. C champ magnetique selon Ox, Oy, Or et Oz cree par l'element d'arc de
  32. C longueur DTE situe en TETA, et grandeurs dependant de TETA pour
  33. C l'integration
  34. C
  35. NT4=TETM(/1)
  36. C
  37. C
  38. C calcul des grandeurs geometriques independantes de TETA
  39. C
  40. AMU=XVAL1*XPI
  41. COEF=COUR*AMU*R/(XQUAT*XPI)
  42. C
  43. BX=XZERO
  44. BY=XZERO
  45. BZ=XZERO
  46. C
  47. C cas de l'axe
  48. C
  49. IF(A_EGALE_B(X,XZERO)) THEN
  50. DIST = SQRT(R**2+Z**2)
  51. DIST3= DIST**3
  52. BX = COEF*Z/DIST3*(SIN(TMAX)-SIN(TMIN))
  53. BY =-COEF*Z/DIST3*(COS(TMAX)-COS(TMIN))
  54. BZ = COEF*R/DIST3*(TMAX-TMIN)
  55. RETURN
  56. ENDIF
  57. C
  58. C recherche des bornes d'integration
  59. C
  60. IDEB=0
  61. IFIN=0
  62.  
  63. TTAI=XMUN
  64. TTAF=XMUN
  65. C
  66. DO 1 I=1,NT4
  67. DMIN=TMIN-TETI(I)
  68. DMAX=TMAX-TETI(I)
  69. TTBI=SIGN(XUN,DMIN)
  70. TTBF=SIGN(XUN,DMAX)
  71. TESTI=XDEMI*(XUN-TTAI*TTBI)
  72. TESTF=XDEMI*(XUN-TTAF*TTBF)
  73. IDEB=IDEB+I*INT(TESTI)
  74. IFIN=IFIN+I*INT(TESTF)
  75. TTAI=TTBI
  76. TTAF=TTBF
  77. 1 CONTINUE
  78. C
  79. DTINI=DTE(IDEB)
  80. DTFIN=DTE(IFIN)
  81. TETINI=TETM(IDEB)
  82. TETFIN=TETM(IFIN)
  83. DTE(IDEB)=TETI(IDEB+1)-TMIN
  84. DTE(IFIN)=TMAX-TETI(IFIN)
  85. TETM(IDEB)=XDEMI*(TETI(IDEB+1)+TMIN)
  86. TETM(IFIN)=XDEMI*(TETI(IFIN )+TMAX)
  87. C
  88. DO 21 I=IDEB,IFIN
  89. COST=COS(TETM(I))
  90. C SINT=SIN(TETM(I))
  91. DIST=SQRT(R**2+X**2+Z**2-2.*X*R*COST)
  92. DIST3=DIST**3
  93. HX=Z*COST/DIST3
  94. HZ=(R-X*COST)/DIST**3
  95. BX=BX+HX*DTE(I)
  96. BZ=BZ+HZ*DTE(I)
  97. 21 CONTINUE
  98. C CALCUL ANALYTIQUE DE BY
  99. DIST1=SQRT(R**2+X**2+Z**2-XDEUX*X*R*COS(TMIN))
  100. DIST2=SQRT(R**2+X**2+Z**2-XDEUX*X*R*COS(TMAX))
  101. BY=Z/(X*R)*(XUN/DIST2-XUN/DIST1)
  102. BX=BX*COEF
  103. BY=BY*COEF
  104. BZ=BZ*COEF
  105. C
  106. DTE(IDEB)=DTINI
  107. DTE(IFIN)=DTFIN
  108. TETM(IDEB)=TETINI
  109. TETM(IFIN)=TETFIN
  110. C
  111. RETURN
  112. END
  113.  
  114.  

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