1 : C ARCTRA SOURCE CHAT 05/01/12 21:23:21 5004 2 : C 3 : C******************************************************************* 4 : C 5 : SUBROUTINE ARCTRA(SANGLE,COUR,HI,HE,RI,RE,QB,QH,TMIN,TMAX, 6 : &X,Z,BX,BY,BZ) 7 : IMPLICIT INTEGER(I-N) 8 : IMPLICIT REAL*8(A-H,O-Z) 9 : C 10 : -INC CCREEL 11 : C 12 : C******************************************************************* 13 : C Calcul du champ induit par un arc de cercle de courant COUR, 14 : C d'axe Oz, de section trapezoidale asymetrique par rapport a xOy: 15 : C - rayons interieur et exterieur RI et RE 16 : C - hauteurs interieure et exterieure HI et HE 17 : C - pentes basse et haute QB et QH 18 : C - extension angulaire TMIN a TMAX par rapport au plan meridien 19 : C xOz contenant le point de coordonnees (X,0,Z) 20 : C ou on calcule le champ (BX,BY,BZ) 21 : C******************************************************************* 22 : C 23 : C 24 : SEGMENT SANGLE 25 : REAL*8 TETM(NT4) 26 : REAL*8 TETI(NT4) 27 : REAL*8 DTE(NT4) 28 : ENDSEGMENT 29 : C 30 : C champ magnetique selon Ox, Oy, Or et Oz cree par l'element d'arc de 31 : C longueur DTE situe en TETA, et grandeurs dependant de TETA pour 32 : C l'integration 33 : C 34 : C calcul des grandeurs geometriques independantes de TETA 35 : C 36 : AMU=4.E-7*XPI 37 : R=(RI+RE)/2. 38 : A=(RE-RI)/2. 39 : B=(HI+HE)/4. 40 : COEF=COUR*AMU/(16.*XPI*A*B) 41 : C 42 : Q1B=QB*QB+1. 43 : Q2B=SQRT(QB*QB+1.) 44 : Q3B=(QB*QB+1.)*SQRT(QB*QB+1.) 45 : Q4B=-QB*(QB*QB+2.) 46 : Q1H=QH*QH+1. 47 : Q2H=SQRT(QH*QH+1.) 48 : Q3H=(QH*QH+1.)*SQRT(QH*QH+1.) 49 : Q4H=QH*(QH*QH+2.) 50 : C 51 : C 52 : C recherche des bornes d'integration 53 : C 54 : IDEB=0 55 : IFIN=0 56 : TTAI=-1. 57 : TTAF=-1. 58 : NT4=TETM(/1) 59 : C 60 : DO 1 I=1,NT4 61 : DMIN=TMIN-TETI(I) 62 : DMAX=TMAX-TETI(I) 63 : TTBI=SIGN(1.D0,DMIN) 64 : TTBF=SIGN(1.D0,DMAX) 65 : TESTI=0.5*(1.-TTAI*TTBI) 66 : TESTF=0.5*(1.-TTAF*TTBF) 67 : IDEB=IDEB+I*INT(TESTI) 68 : IFIN=IFIN+I*INT(TESTF) 69 : TTAI=TTBI 70 : TTAF=TTBF 71 : 1 CONTINUE 72 : C 73 : DTINI=DTE(IDEB) 74 : DTFIN=DTE(IFIN) 75 : TETINI=TETM(IDEB) 76 : TETFIN=TETM(IFIN) 77 : DTE(IDEB)=TETI(IDEB+1)-TMIN 78 : DTE(IFIN)=TMAX-TETI(IFIN) 79 : TETM(IDEB)=0.5*(TETI(IDEB+1)+TMIN) 80 : TETM(IFIN)=0.5*(TETI(IFIN)+TMAX) 81 : C 82 : DP=B+QB*R+Z 83 : DM=B-QH*R-Z 84 : APZP=-QB*(R+A)+DP 85 : APZM=QH*(R+A)+DM 86 : AMZP=-QB*(R-A)+DP 87 : AMZM=QH*(R-A)+DM 88 : C 89 : BX=0. 90 : BY=0. 91 : BZ=0. 92 : C 93 : DO 21 I=IDEB,IFIN 94 : XC=X*COS(TETM(I)) 95 : XS=X*SIN(TETM(I)) 96 : RPA=R+A-XC 97 : RMA=R-A-XC 98 : C 99 : BPZ=DP-QB*XC 100 : BMZ=DM+QH*XC 101 : BKPZ=-QB*DP-XC 102 : BKMZ=QH*DM-XC 103 : C 104 : RPZP=Q2B*(R+A)+BKPZ/Q2B 105 : RPZM=Q2H*(R+A)+BKMZ/Q2H 106 : RMZP=Q2B*(R-A)+BKPZ/Q2B 107 : RMZM=Q2H*(R-A)+BKMZ/Q2H 108 : C 109 : DPZP=X**2+DP**2+Q1B*(R+A)**2+2.*(R+A)*BKPZ 110 : DPZP=SQRT(DPZP) 111 : DPZM=X**2+DM**2+Q1H*(R+A)**2+2.*(R+A)*BKMZ 112 : DPZM=SQRT(DPZM) 113 : DMZP=X**2+DP**2+Q1B*(R-A)**2+2.*(R-A)*BKPZ 114 : DMZP=SQRT(DMZP) 115 : DMZM=X**2+DM**2+Q1H*(R-A)**2+2.*(R-A)*BKMZ 116 : DMZM=SQRT(DMZM) 117 : C 118 : ALZP=LOG((RPZP+DPZP)/(RMZP+DMZP)) 119 : ALZM=LOG((RPZM+DPZM)/(RMZM+DMZM)) 120 : C 121 : HR=((DPZM-DMZM)/Q1H-(DPZP-DMZP)/Q1B 122 : & +(BKPZ*ALZP/Q3B-BKMZ*ALZM/Q3H)) 123 : & *DTE(I) 124 : C 125 : HX=HR*XC/X 126 : HY=HR*XS/X 127 : C 128 : HZ=(-QB/Q1B*(DPZP-DMZP)+QH/Q1H*(DPZM-DMZM) 129 : & +(DP+Q4B*XC)*ALZP/Q3B+(DM+Q4H*XC)*ALZM/Q3H 130 : & +XC/2.*LOG( (DPZM-APZM)/(DPZM+APZM) 131 : & /(DMZM-AMZM)*(DMZM+AMZM) 132 : & *(DPZP-APZP)/(DPZP+APZP) 133 : & /(DMZP-AMZP)*(DMZP+AMZP)) 134 : & -XS*(ATAN((RPA*BMZ-QH*XS**2)/XS/DPZM) 135 : & +ATAN((RPA*BPZ+QB*XS**2)/XS/DPZP) 136 : & -ATAN((RMA*BMZ-QH*XS**2)/XS/DMZM) 137 : & -ATAN((RMA*BPZ+QB*XS**2)/XS/DMZP)) ) 138 : & *DTE(I) 139 : C 140 : BX=BX+HX 141 : BY=BY+HY 142 : BZ=BZ+HZ 143 : C 144 : 21 CONTINUE 145 : C 146 : BX=BX*COEF 147 : BY=BY*COEF 148 : BZ=BZ*COEF 149 : C 150 : DTE(IDEB)=DTINI 151 : DTE(IFIN)=DTFIN 152 : TETM(IDEB)=TETINI 153 : TETM(IFIN)=TETFIN 154 : C 155 : RETURN 156 : END 157 : 158 : 159 : 160 :
© Cast3M 2003 - All rights reserved.
Disclaimer