Télécharger bcylci.eso

Retour à la liste

Numérotation des lignes :

bcylci
  1. C BCYLCI SOURCE CB215821 17/11/30 21:15:13 9639
  2. SUBROUTINE BCYLCI(SANGLE,COUR,R,H,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 cylindre circulaire
  10. C de courant COUR,d'axe Oz :
  11. C - rayon R
  12. C - hauteur H
  13. C - extension angulaire TMIN a TMAX par rapport au plan meridien
  14. C xOz contenant le point de coordonnees (X,0,Z)
  15. C ou on calcule le champ (BX,BY,BZ)
  16. C*******************************************************************
  17. C
  18. SEGMENT SANGLE
  19. REAL*8 TETM(NT4)
  20. REAL*8 TETI(NT4)
  21. REAL*8 DTE(NT4)
  22. ENDSEGMENT
  23. C
  24. C champ magnetique selon Ox, Oy, Or et Oz cree par l'element d'arc de
  25. C longueur DTE situe en TETA, et grandeurs dependant de TETA pour
  26. C l'integration
  27. C
  28. C
  29. C
  30. C calcul des grandeurs geometriques independantes de TETA
  31. C
  32. AMU=4.E-7*XPI
  33. B=H/2.
  34. COEF=COUR*AMU*R/(8.*XPI*B)
  35. ZH=B-Z
  36. ZB=-B-Z
  37. C
  38. C
  39. C recherche des bornes d'integration
  40. C
  41. IDEB=0
  42. IFIN=0
  43. TTAI=-1.
  44. TTAF=-1.
  45. NT4=TETM(/1)
  46. C
  47. DO 1 I=1,NT4
  48. DMIN=TMIN-TETI(I)
  49. DMAX=TMAX-TETI(I)
  50. TTBI=SIGN(1.D0,DMIN)
  51. TTBF=SIGN(1.D0,DMAX)
  52. TESTI=0.5*(1.-TTAI*TTBI)
  53. TESTF=0.5*(1.-TTAF*TTBF)
  54. IDEB=IDEB+I*INT(TESTI)
  55. IFIN=IFIN+I*INT(TESTF)
  56. TTAI=TTBI
  57. TTAF=TTBF
  58. 1 CONTINUE
  59. C
  60. DTINI=DTE(IDEB)
  61. DTFIN=DTE(IFIN)
  62. TETINI=TETM(IDEB)
  63. TETFIN=TETM(IFIN)
  64. DTE(IDEB)=TETI(IDEB+1)-TMIN
  65. DTE(IFIN)=TMAX-TETI(IFIN)
  66. TETM(IDEB)=0.5*(TETI(IDEB+1)+TMIN)
  67. TETM(IFIN)=0.5*(TETI(IFIN)+TMAX)
  68. C
  69. BX=0.
  70. BY=0.
  71. BZ=0.
  72. DO 21 I=IDEB,IFIN
  73. COST=COS(TETM(I))
  74. SINT=SIN(TETM(I))
  75. DR2=R**2+X**2-2.*X*R*COST
  76. DMAX=SQRT(DR2+ZH**2)
  77. DMIN=SQRT(DR2+ZB**2)
  78. HX=COST*(1./DMAX-1./DMIN)
  79. HZ=(R-X*COST)/DR2*(ZH/DMAX-ZB/DMIN)
  80. BX=BX+HX*DTE(I)
  81. BZ=BZ+HZ*DTE(I)
  82. 21 CONTINUE
  83. C CALCUL ANALYTIQUE DE BY
  84. DHTET1=SQRT(R**2+X**2+ZH**2-2.*X*R*COS(TMIN))
  85. DHTET2=SQRT(R**2+X**2+ZH**2-2.*X*R*COS(TMAX))
  86. DBTET1=SQRT(R**2+X**2+ZB**2-2.*X*R*COS(TMIN))
  87. DBTET2=SQRT(R**2+X**2+ZB**2-2.*X*R*COS(TMAX))
  88. BY=(DHTET2-DHTET1-DBTET2+DBTET1)/(X*R)
  89. BX=BX*COEF
  90. BY=BY*COEF
  91. BZ=BZ*COEF
  92. C
  93. DTE(IDEB)=DTINI
  94. DTE(IFIN)=DTFIN
  95. TETM(IDEB)=TETINI
  96. TETM(IFIN)=TETFIN
  97. C
  98. RETURN
  99. END
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  

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