Download arctra.eso

Back to the list

   1 : C ARCTRA    SOURCE    CHAT      05/01/12    21:23:21     5004           
   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer