Download chambo.eso

Back to the list

   1 : C CHAMBO    SOURCE    CHAT      05/01/12    21:54:56     5004           
   2 :       SUBROUTINE CHAMBO(IUN,IC,NB,O,RI,ALFA,BETA,DENS,ZP,RP,BZP,BRP,BP)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)
   5 : C---------------------------------------------------------------------
   6 : CALCUL DU CHAMP DE NB BOBINES RECTANGULAIRES COAXIALES
   7 : C     IUN INDIQUE LES UNITES CHOISIES:
   8 : C                             IUN=0 OU 1     IUN=2           IUN=3
   9 : C     CHAMP EN                   TESLA       TESLA           GAUSS
  10 : C     DIMENSIONS EN                M          MM              MM
  11 : C     DENSITE DE COURANT EN       A/M2       A/MM2           A/MM2
  12 : C     FMUJ=MU*DENS/2*XPI        2E-7*DENS    2E-4*DENS        2*DENS
  13 : C
  14 : C     IC=1  CALCUL DE LA COMPOSANTE BZP SEULE
  15 : C     IC=2  CALCUL DE LA COMPOSANTE BRP SEULE
  16 : C     IC#1#2 CALCUL DES 2 COMPOSANTES BZP ET BRP
  17 : C---------------------------------------------------------------------
  18 :       EXTERNAL FONZ,FONR
  19 :       DIMENSION O(NB),RI(NB),ALFA(NB),BETA(NB),DENS(NB)
  20 : -INC CCREEL
  21 : -INC CCOPTIO
  22 :       COMMON/CMCHAM/ D1,D2,R,A,U,DD1,DD2,LSOMD,LD1,LD2
  23 :       DIMENSION BZ(45),BR(45)
  24 :       LOGICAL LSOMD,LD1,LD2
  25 :       LOGICAL LR
  26 :       PI=XPI
  27 :       DO 1 I=1,NB
  28 :          BZ(I)=0.D0
  29 :          BR(I)=0.D0
  30 :  1    CONTINUE
  31 :       BZP=0
  32 :       BRP=0
  33 :       BP=0.D0
  34 :       PREBZ=0.D0
  35 :       PREBR=0.D0
  36 :       IF((IC.EQ.2).AND.(RP.EQ.0.D0)) RETURN
  37 :       UPSI=0.000001D0
  38 :       U=1.D0
  39 :       UU=1.D0
  40 :       FMU=0.0000002D0
  41 :       IF(IUN.EQ.2) FMU=0.0002D0
  42 :       IF(IUN.EQ.3) FMU=2.D0
  43 :       DO 2 I=1,NB
  44 :          FMUJ=FMU*DENS(I)
  45 :          RMUJ=FMUJ*RI(I)
  46 :          Z=(ZP-O(I))/RI(I)
  47 :          D1=Z-BETA(I)
  48 :          D2=Z+BETA(I)
  49 :          R=RP/RI(I)
  50 :          A=ALFA(I)
  51 :          DD1=D1**2
  52 :          DD2=D2**2
  53 :          AA=A**2
  54 :          LR=R.LE.UPSI
  55 :          LSOMD=ABS(D1+D2).LE.UPSI
  56 :          LD1=ABS(D1).LE.UPSI
  57 :          LD2=ABS(D2).LE.UPSI
  58 : CALCUL DE LA COMPOSANTE AXIALE BZP
  59 :          IF(IC.EQ.2) GOTO 222
  60 :          ACBZ=0.D0
  61 :          IF(.NOT.LR) GOTO 11
  62 :  10      SOMLG2= LOG((A+SQRT(AA+DD2))/(U+SQRT(UU+DD2)))
  63 :          SOMLG1= LOG((A+SQRT(AA+DD1))/(U+SQRT(UU+DD1)))
  64 :          SOMBZ=XPI*(D2*SOMLG2-D1*SOMLG1)
  65 :          GOTO 12
  66 :  11      CONTINUE
  67 :          SOMBZ= GQUAD(FONZ,0.D0,PI,80)
  68 :          IF(IERR.NE.0) RETURN
  69 :  12      CONTINUE
  70 :          BZ(I)=RMUJ*SOMBZ
  71 :          PREBZ=PREBZ+ABS(ACBZ*BZ(I))
  72 :          BZP=BZP+BZ(I)
  73 :          IF(IC.EQ.1) GOTO 2
  74 :  222     CONTINUE
  75 : CALCUL DE LA COMPOSANTE RADIALE BRP
  76 :          IF(LR) GOTO 2
  77 :          IF(LSOMD) GOTO 2
  78 :          ACBR=0.D0
  79 :          SOMBR= GQUAD(FONR,0.D0,PI,80)
  80 :          IF(IERR.NE.0) RETURN
  81 :          BR(I)=RMUJ*SOMBR
  82 :          PREBR=PREBR+ABS(ACBR*BR(I))
  83 :          BRP=BRP+BR(I)
  84 :  2    CONTINUE
  85 :       IF(BZP.NE.0.D0) PREBZ=PREBZ/ABS(BZP)
  86 :       IF(BRP.NE.0.D0) PREBR=PREBR/ABS(BRP)
  87 : CALCUL DU MODULE DU CHAMP BP
  88 :       BP=SQRT(BZP**2+BRP**2)
  89 :       RETURN
  90 :       END
  91 : 
  92 : 
  93 : 
  94 : 
  95 :  
  96 :  
  97 :  

© Cast3M 2003 - All rights reserved.
Disclaimer