Download bfilci.eso

Back to the list

   1 : C BFILCI    SOURCE    CHAT      05/01/12    21:39:13     5004           
   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 : C
  23 : C  champ magnetique selon Ox, Oy, Or et Oz cree par l'element d'arc de
  24 : C  longueur DTE situe en TETA, et grandeurs dependant de TETA pour
  25 : C  l'integration
  26 : C
  27 :       NT4=TETM(/1)
  28 : C
  29 : C
  30 : C  calcul des grandeurs geometriques independantes de TETA
  31 : C
  32 :       AMU=4.E-7*XPI
  33 :       COEF=COUR*AMU*R/(4.*XPI)
  34 : C
  35 :       BX=0.
  36 :       BY=0.
  37 :       BZ=0.
  38 : C
  39 : C  cas de l'axe
  40 : C
  41 :       IF(X.EQ.0.) THEN
  42 :         DIST=SQRT(R**2+Z**2)
  43 :         DIST3=DIST**3
  44 :         BX=COEF*Z/DIST3*(SIN(TMAX)-SIN(TMIN))
  45 :         BY=-COEF*Z/DIST3*(COS(TMAX)-COS(TMIN))
  46 :         BZ=COEF*R/DIST3*(TMAX-TMIN)
  47 :         RETURN
  48 :       ENDIF
  49 : C
  50 : C  recherche des bornes d'integration
  51 : C
  52 :       IDEB=0 
  53 :       IFIN=0
  54 :       TTAI=-1.     
  55 :       TTAF=-1.
  56 : C
  57 :       DO 1 I=1,NT4
  58 :          DMIN=TMIN-TETI(I)      
  59 :          DMAX=TMAX-TETI(I)
  60 :          TTBI=SIGN(1.D0,DMIN)
  61 :          TTBF=SIGN(1.D0,DMAX)
  62 :          TESTI=0.5*(1.-TTAI*TTBI) 
  63 :          TESTF=0.5*(1.-TTAF*TTBF) 
  64 :          IDEB=IDEB+I*INT(TESTI)
  65 :          IFIN=IFIN+I*INT(TESTF)
  66 :          TTAI=TTBI
  67 :          TTAF=TTBF
  68 :  1    CONTINUE   
  69 : C
  70 :       DTINI=DTE(IDEB)
  71 :       DTFIN=DTE(IFIN)
  72 :       TETINI=TETM(IDEB)
  73 :       TETFIN=TETM(IFIN)
  74 :       DTE(IDEB)=TETI(IDEB+1)-TMIN
  75 :       DTE(IFIN)=TMAX-TETI(IFIN)
  76 :       TETM(IDEB)=0.5*(TETI(IDEB+1)+TMIN)
  77 :       TETM(IFIN)=0.5*(TETI(IFIN)+TMAX)
  78 : C
  79 :       DO 21 I=IDEB,IFIN
  80 :          COST=COS(TETM(I))
  81 :          SINT=SIN(TETM(I))
  82 :          DIST=SQRT(R**2+X**2+Z**2-2.*X*R*COST)
  83 :          DIST3=DIST**3
  84 :          HX=Z*COST/DIST3
  85 :          HZ=(R-X*COST)/DIST**3
  86 :          BX=BX+HX*DTE(I)
  87 :          BZ=BZ+HZ*DTE(I)
  88 :  21   CONTINUE
  89 : C     CALCUL ANALYTIQUE DE BY
  90 :       DIST1=SQRT(R**2+X**2+Z**2-2.*X*R*COS(TMIN))
  91 :       DIST2=SQRT(R**2+X**2+Z**2-2.*X*R*COS(TMAX))
  92 :       BY=Z/(X*R)*(1./DIST2-1./DIST1)
  93 :       BX=BX*COEF
  94 :       BY=BY*COEF
  95 :       BZ=BZ*COEF
  96 : C
  97 :       DTE(IDEB)=DTINI
  98 :       DTE(IFIN)=DTFIN
  99 :       TETM(IDEB)=TETINI
 100 :       TETM(IFIN)=TETFIN
 101 : C
 102 :       RETURN
 103 :       END
 104 :  
 105 :  
 106 :  
 107 :  

© Cast3M 2003 - All rights reserved.
Disclaimer