C BTRCON SOURCE CHAT 05/01/12 21:44:27 5004 SUBROUTINE BTRCON(SANGLE,COUR,RI,RE,Q,TMIN,TMAX, &X,Z,BX,BY,BZ) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C -INC CCREEL C C******************************************************************* C Calcul du champ induit par un tronc de cone de courant COUR, C d'axe Oz : C - rayons interieur et exterieur RI et RE C - pente Q C - extension angulaire TMIN a TMAX par rapport au plan meridien C xOz contenant le point de coordonnees (X,0,Z) C ou on calcule le champ (BX,BY,BZ) C******************************************************************* C C SEGMENT SANGLE REAL*8 TETM(NT4) REAL*8 TETI(NT4) REAL*8 DTE(NT4) ENDSEGMENT C C champ magnetique selon Ox, Oy, Or et Oz cree par l'element d'arc de C longueur DTE situe en TETA, et grandeurs dependant de TETA pour C l'integration C C EXTERNAL FTRC C C calcul des grandeurs geometriques independantes de TETA C AMU=4.E-7*XPI R=(RI+RE)/2. A=(RE-RI)/2. Z0=Q*RI C changement de repere ZR=Z+Q*R H=2.*Q*A Q2=Q**2 COEF=AMU*COUR*Q/(4.*XPI*H) C1=X**2+ZR**2 Q2C1=Q2*C1 C3=1.+Q2 C C recherche des bornes d'integration C IDEB=0 IFIN=0 TTAI=-1. TTAF=-1. NT4=TETM(/1) C DO 1 I=1,NT4 DMIN=TMIN-TETI(I) DMAX=TMAX-TETI(I) TTBI=SIGN(1.D0,DMIN) TTBF=SIGN(1.D0,DMAX) TESTI=0.5*(1.-TTAI*TTBI) TESTF=0.5*(1.-TTAF*TTBF) IDEB=IDEB+I*INT(TESTI) IFIN=IFIN+I*INT(TESTF) TTAI=TTBI TTAF=TTBF 1 CONTINUE C DTINI=DTE(IDEB) DTFIN=DTE(IFIN) TETINI=TETM(IDEB) TETFIN=TETM(IFIN) DTE(IDEB)=TETI(IDEB+1)-TMIN DTE(IFIN)=TMAX-TETI(IFIN) TETM(IDEB)=0.5*(TETI(IDEB+1)+TMIN) TETM(IFIN)=0.5*(TETI(IFIN)+TMAX) C BX=0. BY=0. BZ=0. C DO 21 I=IDEB,IFIN C COST=COS(TETM(I)) SINT=SIN(TETM(I)) XC=X*COST C2=-2.*(XC+Q*ZR) QC2=Q*C2 HR=Q*(-FTRC(Z0+H,Q2C1,QC2,C3,ZR)+FTRC(Z0,Q2C1,QC2,C3,ZR)) & *DTE(I) C HX=HR*COST HY=HR*SINT HZ=(FTRC((Z0+H)/Q,C1,C2,C3,XC)-FTRC(Z0/Q,C1,C2,C3,XC))*DTE(I) C BX=BX+HX BY=BY+HY BZ=BZ+HZ C 21 CONTINUE C BX=BX*COEF BY=BY*COEF BZ=BZ*COEF C DTE(IDEB)=DTINI DTE(IFIN)=DTFIN TETM(IDEB)=TETINI TETM(IFIN)=TETFIN C RETURN END