Télécharger arctra.eso

Retour à la liste

Numérotation des lignes :

arctra
  1. C ARCTRA SOURCE CB215821 17/11/30 21:15:07 9639
  2. C
  3. C*******************************************************************
  4. C
  5. SUBROUTINE ARCTRA(SANGLE,COUR,HI,HE,RI,RE,QB,QH,TMIN,TMAX,
  6. &X,Z,BX,BY,BZ)
  7. IMPLICIT INTEGER(I-N)
  8. IMPLICIT REAL*8(A-H,O-Z)
  9. C
  10. -INC CCREEL
  11. C
  12. C*******************************************************************
  13. C Calcul du champ induit par un arc de cercle de courant COUR,
  14. C d'axe Oz, de section trapezoidale asymetrique par rapport a xOy:
  15. C - rayons interieur et exterieur RI et RE
  16. C - hauteurs interieure et exterieure HI et HE
  17. C - pentes basse et haute QB et QH
  18. C - extension angulaire TMIN a TMAX par rapport au plan meridien
  19. C xOz contenant le point de coordonnees (X,0,Z)
  20. C ou on calcule le champ (BX,BY,BZ)
  21. C*******************************************************************
  22. C
  23. C
  24. SEGMENT SANGLE
  25. REAL*8 TETM(NT4)
  26. REAL*8 TETI(NT4)
  27. REAL*8 DTE(NT4)
  28. ENDSEGMENT
  29. C
  30. C champ magnetique selon Ox, Oy, Or et Oz cree par l'element d'arc de
  31. C longueur DTE situe en TETA, et grandeurs dependant de TETA pour
  32. C l'integration
  33. C
  34. C calcul des grandeurs geometriques independantes de TETA
  35. C
  36. AMU=4.E-7*XPI
  37. R=(RI+RE)/2.
  38. A=(RE-RI)/2.
  39. B=(HI+HE)/4.
  40. COEF=COUR*AMU/(16.*XPI*A*B)
  41. C
  42. Q1B=QB*QB+1.
  43. Q2B=SQRT(QB*QB+1.)
  44. Q3B=(QB*QB+1.)*SQRT(QB*QB+1.)
  45. Q4B=-QB*(QB*QB+2.)
  46. Q1H=QH*QH+1.
  47. Q2H=SQRT(QH*QH+1.)
  48. Q3H=(QH*QH+1.)*SQRT(QH*QH+1.)
  49. Q4H=QH*(QH*QH+2.)
  50. C
  51. C
  52. C recherche des bornes d'integration
  53. C
  54. IDEB=0
  55. IFIN=0
  56. TTAI=-1.
  57. TTAF=-1.
  58. NT4=TETM(/1)
  59. C
  60. DO 1 I=1,NT4
  61. DMIN=TMIN-TETI(I)
  62. DMAX=TMAX-TETI(I)
  63. TTBI=SIGN(1.D0,DMIN)
  64. TTBF=SIGN(1.D0,DMAX)
  65. TESTI=0.5*(1.-TTAI*TTBI)
  66. TESTF=0.5*(1.-TTAF*TTBF)
  67. IDEB=IDEB+I*INT(TESTI)
  68. IFIN=IFIN+I*INT(TESTF)
  69. TTAI=TTBI
  70. TTAF=TTBF
  71. 1 CONTINUE
  72. C
  73. DTINI=DTE(IDEB)
  74. DTFIN=DTE(IFIN)
  75. TETINI=TETM(IDEB)
  76. TETFIN=TETM(IFIN)
  77. DTE(IDEB)=TETI(IDEB+1)-TMIN
  78. DTE(IFIN)=TMAX-TETI(IFIN)
  79. TETM(IDEB)=0.5*(TETI(IDEB+1)+TMIN)
  80. TETM(IFIN)=0.5*(TETI(IFIN)+TMAX)
  81. C
  82. DP=B+QB*R+Z
  83. DM=B-QH*R-Z
  84. APZP=-QB*(R+A)+DP
  85. APZM=QH*(R+A)+DM
  86. AMZP=-QB*(R-A)+DP
  87. AMZM=QH*(R-A)+DM
  88. C
  89. BX=0.
  90. BY=0.
  91. BZ=0.
  92. C
  93. DO 21 I=IDEB,IFIN
  94. XC=X*COS(TETM(I))
  95. XS=X*SIN(TETM(I))
  96. RPA=R+A-XC
  97. RMA=R-A-XC
  98. C
  99. BPZ=DP-QB*XC
  100. BMZ=DM+QH*XC
  101. BKPZ=-QB*DP-XC
  102. BKMZ=QH*DM-XC
  103. C
  104. RPZP=Q2B*(R+A)+BKPZ/Q2B
  105. RPZM=Q2H*(R+A)+BKMZ/Q2H
  106. RMZP=Q2B*(R-A)+BKPZ/Q2B
  107. RMZM=Q2H*(R-A)+BKMZ/Q2H
  108. C
  109. DPZP=X**2+DP**2+Q1B*(R+A)**2+2.*(R+A)*BKPZ
  110. DPZP=SQRT(DPZP)
  111. DPZM=X**2+DM**2+Q1H*(R+A)**2+2.*(R+A)*BKMZ
  112. DPZM=SQRT(DPZM)
  113. DMZP=X**2+DP**2+Q1B*(R-A)**2+2.*(R-A)*BKPZ
  114. DMZP=SQRT(DMZP)
  115. DMZM=X**2+DM**2+Q1H*(R-A)**2+2.*(R-A)*BKMZ
  116. DMZM=SQRT(DMZM)
  117. C
  118. ALZP=LOG((RPZP+DPZP)/(RMZP+DMZP))
  119. ALZM=LOG((RPZM+DPZM)/(RMZM+DMZM))
  120. C
  121. HR=((DPZM-DMZM)/Q1H-(DPZP-DMZP)/Q1B
  122. & +(BKPZ*ALZP/Q3B-BKMZ*ALZM/Q3H))
  123. & *DTE(I)
  124. C
  125. HX=HR*XC/X
  126. HY=HR*XS/X
  127. C
  128. HZ=(-QB/Q1B*(DPZP-DMZP)+QH/Q1H*(DPZM-DMZM)
  129. & +(DP+Q4B*XC)*ALZP/Q3B+(DM+Q4H*XC)*ALZM/Q3H
  130. & +XC/2.*LOG( (DPZM-APZM)/(DPZM+APZM)
  131. & /(DMZM-AMZM)*(DMZM+AMZM)
  132. & *(DPZP-APZP)/(DPZP+APZP)
  133. & /(DMZP-AMZP)*(DMZP+AMZP))
  134. & -XS*(ATAN((RPA*BMZ-QH*XS**2)/XS/DPZM)
  135. & +ATAN((RPA*BPZ+QB*XS**2)/XS/DPZP)
  136. & -ATAN((RMA*BMZ-QH*XS**2)/XS/DMZM)
  137. & -ATAN((RMA*BPZ+QB*XS**2)/XS/DMZP)) )
  138. & *DTE(I)
  139. C
  140. BX=BX+HX
  141. BY=BY+HY
  142. BZ=BZ+HZ
  143. C
  144. 21 CONTINUE
  145. C
  146. BX=BX*COEF
  147. BY=BY*COEF
  148. BZ=BZ*COEF
  149. C
  150. DTE(IDEB)=DTINI
  151. DTE(IFIN)=DTFIN
  152. TETM(IDEB)=TETINI
  153. TETM(IFIN)=TETFIN
  154. C
  155. RETURN
  156. END
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  

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