Download bplqdr.eso

Back to the list

   1 : C BPLQDR    SOURCE    CHAT      05/01/12    21:42:27     5004           
   2 :       SUBROUTINE BPLQDR(COUR,RI,RE,Y1,Y2,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 plaque rectangulaire de courant COUR,
  10 : C  d'axe Oy:
  11 : C     - rayons interieur et exterieur RI et RE (RI=-RE)
  12 : C     - extension longitudinale Y1 a Y2 par rapport au plan xOz
  13 : C       contenant le point de coordonnees (X,0,Z)
  14 : C       et on calcule le champ (BX,BY,BZ)
  15 : C*********************************************************************
  16 : C
  17 : C
  18 : C  calcul des grandeurs geometriques reduites
  19 : C
  20 :       AMU=4.E-7*XPI
  21 :       R=(RI+RE)/2.
  22 :       A=(RE-RI)/2.
  23 :       COEF=COUR*AMU/(8.*XPI*A)
  24 : C
  25 :       XI1=Y1**2+Z**2
  26 :       XI2=Y2**2+Z**2
  27 :       XMA2=(X-A)**2
  28 :       XPA2=(X+A)**2
  29 :       Z2=Z**2
  30 :       DEXT1=XMA2+Z2
  31 :       DEXT2=XPA2+Z2
  32 :       DEXT3=XMA2-Z2
  33 :       DEXT4=XPA2-Z2
  34 :       IF(Z.EQ.0.) THEN
  35 :          BX=0.
  36 :       ELSE
  37 :          IF(DEXT1.EQ.0.) THEN
  38 :             FAXI2=-XPI/2.
  39 :             FAXI1=-XPI/2.
  40 :          ELSE
  41 :             FAXI2=ASIN((DEXT3*XI2-2.*Z2*XMA2)/(DEXT1*XI2))
  42 :             FAXI1=ASIN((DEXT3*XI1-2.*Z2*XMA2)/(DEXT1*XI1))
  43 :          ENDIF
  44 :          IF(DEXT2.EQ.0.) THEN
  45 :             FMAXI2=-XPI/2.
  46 :             FMAXI1=-XPI/2.
  47 :          ELSE
  48 :             FMAXI2=ASIN((DEXT4*XI2-2.*Z2*XPA2)/(DEXT2*XI2))
  49 :             FMAXI1=ASIN((DEXT4*XI1-2.*Z2*XPA2)/(DEXT2*XI1))
  50 :          ENDIF
  51 : C
  52 :          BX=0.5*COEF*(FAXI2-FAXI1-FMAXI2+FMAXI1)
  53 :       ENDIF
  54 :       BY=0.
  55 :       DCOIN1=SQRT(DEXT1+Y1**2)+Y1
  56 :       DCOIN2=SQRT(DEXT1+Y2**2)+Y2
  57 :       DCOIN3=SQRT(DEXT2+Y1**2)+Y1
  58 :       DCOIN4=SQRT(DEXT2+Y2**2)+Y2
  59 :       IF(DCOIN1*DCOIN2*DCOIN3*DCOIN4.NE.0) THEN  
  60 :          BZ=COEF*LOG((DCOIN4*DCOIN1)/(DCOIN2*DCOIN3))
  61 :       ELSE
  62 :          BZ=XGRAND
  63 :       ENDIF
  64 :       RETURN
  65 :       END
  66 :  
  67 :  
  68 :  
  69 :  

© Cast3M 2003 - All rights reserved.
Disclaimer