You are on page 1of 3

Untitled−1 1

In[1]:= << Radia‘;


<< Graphics‘MultipleListPlot‘;
Off@General::"spell1"D;
Radia Version: 4.1 is loaded

Radia is copyright ESRF, Grenoble France


Portions copyright Wolfram Research, Inc.
Untitled−1 2

In[4]:= Function RadCylinder@pt3, r1, r2, Φ1, Φ2, lz, nr, nΦ, nz, mag4 : 80, 0, 0, 0<D

Out[4]= Function RadCylinder@pt3, r1, r2, Φ1, Φ2, lz, nr, nΦ, nz, mag4 : 80, 0, 0, 0<D

In[5]:= RadCylinder@pt_List, r1_, r2_, Φ1_, Φ2_, lz_, nr_, nΦ_, nz_, mag_ListD :=
Module@
8x, y, z, x1, y1, x2, y2, x3, y3, x4, y4, rint, rext, v1, v2, v3, gc, m1, m2, m3<,
x = pt@@1DD;
y = pt@@2DD;
z = pt@@3DD;
If@Φ2 - Φ1 > 2 Pi, dΦ = 2 Pi  nΦ,
dΦ = HΦ2 - Φ1L  nΦD;
gc = radObjCnt@8<D;
rint = r1  Cos@dΦ  2.D;
rext = r2  Cos@dΦ  2.D;
If@r1 ¹ 0.,
Do@
x1 = x + rint Cos@Φ1 + dΦ Hi - 1LD;
y1 = y + rint Sin@Φ1 + dΦ Hi - 1LD;
x2 = x + rext Cos@Φ1 + dΦ Hi - 1LD;
y2 = y + rext Sin@Φ1 + dΦ Hi - 1LD;
x3 = x + rext Cos@Φ1 + dΦ iD;
y3 = y + rext Sin@Φ1 + dΦ iD;
x4 = x + rint Cos@Φ1 + dΦ iD;
y4 = y + rint Sin@Φ1 + dΦ iD;
v1 = 8Hx3 + x2L  2, Hy3 + y2L  2, 0<;
v2 = 8-v1@@2DD, v1@@1DD, 0<;
v3 = 80, 0, 1<;
m1 = mag@@1DD Cos@mag@@4DD dΦ Hi - 1LD - mag@@2DD Sin@mag@@4DD dΦ Hi - 1LD;
m2 = mag@@1DD Sin@mag@@4DD dΦ Hi - 1LD + mag@@2DD Cos@mag@@4DD dΦ Hi - 1LD;
m3 = mag@@3DD;
poly = 88x1, y1<, 8x2, y2<, 8x3, y3<, 8x4, y4<<;
p = radObjMltExtPgn@88poly, z<, 8poly, z + lz<<, 8m1, m2, m3<D;
radObjDivMag@p,
8nr, 1, nz<, 8"pln", v1, v2, v3<, kxkykz -> Numb, Frame -> LocD;
radObjAddToCnt@gc, 8p<D, 8i, 1, nΦ<D,
Do@
x1 = 0;
y1 = 0;
x2 = x + rext Cos@Φ1 + dΦ Hi - 1LD;
y2 = y + rext Sin@Φ1 + dΦ Hi - 1LD;
x3 = x + rext Cos@Φ1 + dΦ iD;
y3 = y + rext Sin@Φ1 + dΦ iD;
v1 = 8Hx3 + x2L  2, Hy3 + y2L  2, 0<;
v2 = 8-v1@@2DD, v1@@1DD, 0<;
v3 = 80, 0, 1<;
m1 = mag@@1DD Cos@mag@@4DD dΦ Hi - 1LD - mag@@2DD Sin@mag@@4DD dΦ Hi - 1LD;
m2 = mag@@1DD Sin@mag@@4DD dΦ Hi - 1LD + mag@@2DD Cos@mag@@4DD dΦ Hi - 1LD;
m3 = mag@@3DD;
poly = 88x1, y1<, 8x2, y2<, 8x3, y3<<;
p = radObjMltExtPgn@88poly, z<, 8poly, z + lz<<, 8m1, m3, m3<D;
radObjDivMag@p,
8nr, 1, nz<, 8"pln", v1, v2, v3<, kxkykz -> Numb, Frame -> LocD;
radObjAddToCnt@gc, 8p<D, 8i, 1, nΦ<DD;
gc
D;
Untitled−1 3

In[156]:=
radUtiDelAll@D;
nseg = 12;
rint = 10;
rext = 20;
Lz = 25;
phi1 = 0;
phi2 = phi1 + 2 Pi;
nz = 1;
nr = 81, 1<;
pt = 80, 0, 0<;
br = 1.2;
mag = 80, 0, br, 0<;
cyl1 = RadCylinder@pt, rint, rext, phi1, phi2, Lz, nr, nseg, nz, magD;
In[169]:=
RadPlot3DOptions@D;
d1 = radObjDrw@cyl1D;
Show@Graphics3D@d1D
, ViewPoint -> 81, 1, 1<D;

20

Z 10
0
-20 -20
-10 -10
0 0
Y X
10 10

20 20

In[170]:=
T1 = Table@8z, radFld@cyl1, "Bz", 80, 0, z<D<, 8z, -20, Lz + 20, 1<D;
MultipleListPlot@T1, PlotJoined ® True,
PlotRange ® AllD;

0.1

-20 -10 10 20 30 40

-0.1

-0.2

-0.3

You might also like