Télécharger chambo.eso

Retour à la liste

Numérotation des lignes :

chambo
  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.  
  22. -INC PPARAM
  23. -INC CCOPTIO
  24. COMMON/CMCHAM/ D1,D2,R,A,U,DD1,DD2,LSOMD,LD1,LD2
  25. DIMENSION BZ(45),BR(45)
  26. LOGICAL LSOMD,LD1,LD2
  27. LOGICAL LR
  28. PI=XPI
  29. DO 1 I=1,NB
  30. BZ(I)=0.D0
  31. BR(I)=0.D0
  32. 1 CONTINUE
  33. BZP=0
  34. BRP=0
  35. BP=0.D0
  36. PREBZ=0.D0
  37. PREBR=0.D0
  38. IF((IC.EQ.2).AND.(RP.EQ.0.D0)) RETURN
  39. UPSI=0.000001D0
  40. U=1.D0
  41. UU=1.D0
  42. FMU=0.0000002D0
  43. IF(IUN.EQ.2) FMU=0.0002D0
  44. IF(IUN.EQ.3) FMU=2.D0
  45. DO 2 I=1,NB
  46. FMUJ=FMU*DENS(I)
  47. RMUJ=FMUJ*RI(I)
  48. Z=(ZP-O(I))/RI(I)
  49. D1=Z-BETA(I)
  50. D2=Z+BETA(I)
  51. R=RP/RI(I)
  52. A=ALFA(I)
  53. DD1=D1**2
  54. DD2=D2**2
  55. AA=A**2
  56. LR=R.LE.UPSI
  57. LSOMD=ABS(D1+D2).LE.UPSI
  58. LD1=ABS(D1).LE.UPSI
  59. LD2=ABS(D2).LE.UPSI
  60. CALCUL DE LA COMPOSANTE AXIALE BZP
  61. IF(IC.EQ.2) GOTO 222
  62. ACBZ=0.D0
  63. IF(.NOT.LR) GOTO 11
  64. 10 SOMLG2= LOG((A+SQRT(AA+DD2))/(U+SQRT(UU+DD2)))
  65. SOMLG1= LOG((A+SQRT(AA+DD1))/(U+SQRT(UU+DD1)))
  66. SOMBZ=XPI*(D2*SOMLG2-D1*SOMLG1)
  67. GOTO 12
  68. 11 CONTINUE
  69. SOMBZ= GQUAD(FONZ,0.D0,PI,80)
  70. IF(IERR.NE.0) RETURN
  71. 12 CONTINUE
  72. BZ(I)=RMUJ*SOMBZ
  73. PREBZ=PREBZ+ABS(ACBZ*BZ(I))
  74. BZP=BZP+BZ(I)
  75. IF(IC.EQ.1) GOTO 2
  76. 222 CONTINUE
  77. CALCUL DE LA COMPOSANTE RADIALE BRP
  78. IF(LR) GOTO 2
  79. IF(LSOMD) GOTO 2
  80. ACBR=0.D0
  81. SOMBR= GQUAD(FONR,0.D0,PI,80)
  82. IF(IERR.NE.0) RETURN
  83. BR(I)=RMUJ*SOMBR
  84. PREBR=PREBR+ABS(ACBR*BR(I))
  85. BRP=BRP+BR(I)
  86. 2 CONTINUE
  87. IF(BZP.NE.0.D0) PREBZ=PREBZ/ABS(BZP)
  88. IF(BRP.NE.0.D0) PREBR=PREBR/ABS(BRP)
  89. CALCUL DU MODULE DU CHAMP BP
  90. BP=SQRT(BZP**2+BRP**2)
  91. RETURN
  92. END
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales