Télécharger champm.eso

Retour à la liste

Numérotation des lignes :

champm
  1. C CHAMPM SOURCE CHAT 05/01/12 21:55:18 5004
  2. SUBROUTINE CHAMPM (RX,ZX,RXC,ZXC,SURF,NE,ELIP,DELIP,CHGR,BZ)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. -INC CCREEL
  6. REAL*8 RX,ZX,RXC,ZXC,SURF,Z
  7. REAL*8 CHGR,CHGZ
  8. REAL*8 FCIR,DH,AX,AS1,AS2,ELI,DELI
  9. INTEGER NE,NF
  10. DIMENSION ELIP(101),DELIP(101)
  11.  
  12. C WRITE(6,*) '##ChampMag##','RX=',RX
  13. IF (RXC.EQ.0.) THEN
  14. c WRITE(6,*) 'ERREUR il faut un rayon d inducteur > 0 '
  15. call erreur(959)
  16. ELSE
  17.  
  18. F=8.54
  19. DH=SURF/F
  20. AS1= (RX*RX)+(RXC*RXC)+((ZX-ZXC)*(ZX-ZXC))
  21. as1 = as1 + dh
  22. * IF ((AS1-(2*RX*RXC)).LE.DH) THEN
  23. * AS1=(2*RX*RXC)+DH
  24. * END IF
  25. AS2= AS1**0.5
  26. AX= RX*RXC/AS1
  27. NF= INT(2*AX*NE)
  28.  
  29. IF (NF.LT.NE) THEN
  30.  
  31. ELI= (ELIP(NF+1)*(NF+1-(2*AX*NE)))+(ELIP(NF+2)*((2*AX*NE)-NF))
  32. C WRITE(6,*) 'ELI=',ELI
  33. DELI=(DELIP(NF+1)*(NF+1-(2*AX*NE)))+(DELIP(NF+2)*((2*AX*NE)-NF))
  34. ELI=ELI-(0.707107*(LOG(1-(4*AX*AX))))+(0.3127313*AX*AX)
  35. DELI=DELI+(5.656856*AX/(1-(4*AX*AX)))+(0.625463*AX)
  36.  
  37. FCIR=(2*AX*DELI)-ELI
  38. IF (RX.EQ.0 ) THEN
  39. CHGR= 0.
  40. Z= ABS(ZXC-ZX)
  41. c BZ=(2.*xpi*1.e-1)*((rxc/z)**3)*((1.+(rxc/z)**2)**(-1.5))*(1./rxc)
  42. BZ=(2.*xpi*1.e-1)*((1.+(z/rxc)**2)**(-1.5))*(1./rxc)
  43. ELSE
  44. CHGR=FCIR/(10.*RX*AS1)*AS2*(ZX-ZXC)
  45. FCIR=(RXC/RX*DELI)-FCIR
  46. BZ= FCIR/(10.*AS1)*AS2
  47. END IF
  48.  
  49. ELSE
  50. WRITE(6,*) 'Attention NF=',NF,'>=NE=',NE,'B non calcule'
  51. call erreur(960)
  52. END IF
  53.  
  54. END IF
  55. RETURN
  56. END
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  

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