Download afilci.eso

Back to the list

   1 : C AFILCI    SOURCE    CHAT      05/01/12    21:19:31     5004           
   2 :       SUBROUTINE AFILCI(SANGLE,COUR,R,TMIN,TMAX,X,Z,AX,AY,AZ)
   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 potentiel vecteur 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 (AX,AY,AZ)
  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 : C
  28 :       NT4=TETM(/1)
  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 :       X2=X**2
  35 :       R2=R**2
  36 :       Z2=Z**2
  37 :       XR=X*R
  38 : C
  39 :       AX=0.
  40 :       AY=0.
  41 :       AZ=0.
  42 : C
  43 : C  cas de l'axe
  44 : C
  45 :       IF(X.EQ.0.) THEN
  46 :         DIST=SQRT(R2+Z2)
  47 :         AX=COEF/DIST*(COS(TMAX)-COS(TMIN))
  48 :         AY=COEF/DIST*(SIN(TMAX)-SIN(TMIN))
  49 :         RETURN
  50 :       ENDIF
  51 : C
  52 : C  recherche des bornes d'integration
  53 : C
  54 :       IDEB=0 
  55 :       IFIN=0
  56 :       TTAI=-1.     
  57 :       TTAF=-1.
  58 : C
  59 :       DO 1 I=1,NT4
  60 :          DMIN=TMIN-TETI(I)      
  61 :          DMAX=TMAX-TETI(I)
  62 :          TTBI=SIGN(1.D0,DMIN)
  63 :          TTBF=SIGN(1.D0,DMAX)
  64 :          TESTI=0.5*(1.-TTAI*TTBI) 
  65 :          TESTF=0.5*(1.-TTAF*TTBF) 
  66 :          IDEB=IDEB+I*INT(TESTI)
  67 :          IFIN=IFIN+I*INT(TESTF)
  68 :          TTAI=TTBI
  69 :          TTAF=TTBF
  70 :  1    CONTINUE   
  71 : C
  72 :       DTINI=DTE(IDEB)
  73 :       DTFIN=DTE(IFIN)
  74 :       TETINI=TETM(IDEB)
  75 :       TETFIN=TETM(IFIN)
  76 :       DTE(IDEB)=TETI(IDEB+1)-TMIN
  77 :       DTE(IFIN)=TMAX-TETI(IFIN)
  78 :       TETM(IDEB)=0.5*(TETI(IDEB+1)+TMIN)
  79 :       TETM(IFIN)=0.5*(TETI(IFIN)+TMAX)
  80 : C
  81 :       DO 21 I=IDEB,IFIN
  82 :          COST=COS(TETM(I))
  83 :          SINT=SIN(TETM(I))
  84 :          DIST=SQRT(R2+X2+Z2-2.*XR*COST)
  85 :          AY=AY+COST/DIST*DTE(I)
  86 :  21   CONTINUE
  87 :       AY=COEF*AY
  88 : C
  89 : C     INTEGRATION ANALYTIQUE DE AX
  90 :       DIST1=SQRT(R2+X2+Z2-2.*XR*COS(TMIN))
  91 :       DIST2=SQRT(R2+X2+Z2-2.*XR*COS(TMAX))
  92 :       AX=-COEF/XR*(DIST2-DIST1)
  93 : C
  94 :       DTE(IDEB)=DTINI
  95 :       DTE(IFIN)=DTFIN
  96 :       TETM(IDEB)=TETINI
  97 :       TETM(IFIN)=TETFIN
  98 : C
  99 :       RETURN
 100 :       END
 101 :  
 102 :  
 103 :  
 104 :  

© Cast3M 2003 - All rights reserved.
Disclaimer