1 : C BCYLCI SOURCE CHAT 05/01/12 21:37:44 5004 2 : SUBROUTINE BCYLCI(SANGLE,COUR,R,H,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 un arc de cylindre circulaire 10 : C de courant COUR,d'axe Oz : 11 : C - rayon R 12 : C - hauteur H 13 : C - extension angulaire TMIN a TMAX par rapport au plan meridien 14 : C xOz contenant le point de coordonnees (X,0,Z) 15 : C ou on calcule le champ (BX,BY,BZ) 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 : C 29 : C 30 : C calcul des grandeurs geometriques independantes de TETA 31 : C 32 : AMU=4.E-7*XPI 33 : B=H/2. 34 : COEF=COUR*AMU*R/(8.*XPI*B) 35 : ZH=B-Z 36 : ZB=-B-Z 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 : NT4=TETM(/1) 46 : C 47 : DO 1 I=1,NT4 48 : DMIN=TMIN-TETI(I) 49 : DMAX=TMAX-TETI(I) 50 : TTBI=SIGN(1.D0,DMIN) 51 : TTBF=SIGN(1.D0,DMAX) 52 : TESTI=0.5*(1.-TTAI*TTBI) 53 : TESTF=0.5*(1.-TTAF*TTBF) 54 : IDEB=IDEB+I*INT(TESTI) 55 : IFIN=IFIN+I*INT(TESTF) 56 : TTAI=TTBI 57 : TTAF=TTBF 58 : 1 CONTINUE 59 : C 60 : DTINI=DTE(IDEB) 61 : DTFIN=DTE(IFIN) 62 : TETINI=TETM(IDEB) 63 : TETFIN=TETM(IFIN) 64 : DTE(IDEB)=TETI(IDEB+1)-TMIN 65 : DTE(IFIN)=TMAX-TETI(IFIN) 66 : TETM(IDEB)=0.5*(TETI(IDEB+1)+TMIN) 67 : TETM(IFIN)=0.5*(TETI(IFIN)+TMAX) 68 : C 69 : BX=0. 70 : BY=0. 71 : BZ=0. 72 : DO 21 I=IDEB,IFIN 73 : COST=COS(TETM(I)) 74 : SINT=SIN(TETM(I)) 75 : DR2=R**2+X**2-2.*X*R*COST 76 : DMAX=SQRT(DR2+ZH**2) 77 : DMIN=SQRT(DR2+ZB**2) 78 : HX=COST*(1./DMAX-1./DMIN) 79 : HZ=(R-X*COST)/DR2*(ZH/DMAX-ZB/DMIN) 80 : BX=BX+HX*DTE(I) 81 : BZ=BZ+HZ*DTE(I) 82 : 21 CONTINUE 83 : C CALCUL ANALYTIQUE DE BY 84 : DHTET1=SQRT(R**2+X**2+ZH**2-2.*X*R*COS(TMIN)) 85 : DHTET2=SQRT(R**2+X**2+ZH**2-2.*X*R*COS(TMAX)) 86 : DBTET1=SQRT(R**2+X**2+ZB**2-2.*X*R*COS(TMIN)) 87 : DBTET2=SQRT(R**2+X**2+ZB**2-2.*X*R*COS(TMAX)) 88 : BY=(DHTET2-DHTET1-DBTET2+DBTET1)/(X*R) 89 : BX=BX*COEF 90 : BY=BY*COEF 91 : BZ=BZ*COEF 92 : C 93 : DTE(IDEB)=DTINI 94 : DTE(IFIN)=DTFIN 95 : TETM(IDEB)=TETINI 96 : TETM(IFIN)=TETFIN 97 : C 98 : RETURN 99 : END 100 : 101 : 102 : 103 :
© Cast3M 2003 - All rights reserved.
Disclaimer