Download bplqci.eso

Back to the list

   1 : C BPLQCI    SOURCE    CHAT      05/01/12    21:42:23     5004           
   2 :       SUBROUTINE BPLQCI(SANGLE,COUR,RI,RE,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 une couronne circulaire de courant COUR,
  10 : C  d'axe Oz :
  11 : C     - rayons interieur et exterieur RI, RE
  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 : 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 :       NT4=TETM(/1)
  29 : C
  30 : C
  31 : C  calcul des grandeurs geometriques independantes de TETA
  32 : C
  33 :       AMU=4.E-7*XPI
  34 :       A=(RE-RI)/2.
  35 :       R=(RE+RI)/2.
  36 :       COEF=COUR*AMU/(8.*XPI*A)
  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 : C
  46 :       DO 1 I=1,NT4
  47 :          DMIN=TMIN-TETI(I)      
  48 :          DMAX=TMAX-TETI(I)
  49 :          TTBI=SIGN(1.D0,DMIN)
  50 :          TTBF=SIGN(1.D0,DMAX)
  51 :          TESTI=0.5*(1.-TTAI*TTBI) 
  52 :          TESTF=0.5*(1.-TTAF*TTBF) 
  53 :          IDEB=IDEB+I*INT(TESTI)
  54 :          IFIN=IFIN+I*INT(TESTF)
  55 :          TTAI=TTBI
  56 :          TTAF=TTBF
  57 :  1    CONTINUE   
  58 : C
  59 :       DTINI=DTE(IDEB)
  60 :       DTFIN=DTE(IFIN)
  61 :       TETINI=TETM(IDEB)
  62 :       TETFIN=TETM(IFIN)
  63 :       DTE(IDEB)=TETI(IDEB+1)-TMIN
  64 :       DTE(IFIN)=TMAX-TETI(IFIN)
  65 :       TETM(IDEB)=0.5*(TETI(IDEB+1)+TMIN)
  66 :       TETM(IFIN)=0.5*(TETI(IFIN)+TMAX)
  67 : C
  68 :       BX=0.
  69 :       BY=0.
  70 :       BZ=0.
  71 :       DO 21 I=IDEB,IFIN
  72 :          COST=COS(TETM(I))
  73 :          SINT=SIN(TETM(I))
  74 :          DFPL=FPLQ1(X,COST,Z,RE)-FPLQ1(X,COST,Z,RI)
  75 :          HX=Z*COST*DFPL
  76 :          HY=Z*SINT*DFPL
  77 :          DFPL=FPLQ2(X,COST,Z,RE)-FPLQ2(X,COST,Z,RI)
  78 :          HZ=DFPL+LOG(FPLQ3(X,COST,Z,RE)/FPLQ3(X,COST,Z,RI))
  79 :          BX=BX+HX*DTE(I)
  80 :          BY=BY+HY*DTE(I)
  81 :          BZ=BZ+HZ*DTE(I)
  82 :  21   CONTINUE
  83 :       BX=BX*COEF
  84 :       BY=BY*COEF
  85 :       BZ=BZ*COEF
  86 : C
  87 :       DTE(IDEB)=DTINI
  88 :       DTE(IFIN)=DTFIN
  89 :       TETM(IDEB)=TETINI
  90 :       TETM(IFIN)=TETFIN
  91 : C
  92 :       RETURN
  93 :       END
  94 :  
  95 :  
  96 :  
  97 :  

© Cast3M 2003 - All rights reserved.
Disclaimer