kod programu

Transkrypt

kod programu
mody TM w rezonatorze
cylindrycznym
R = 1; (* promień falowodu *)
a = 3; (* długość rezonatora *)
m = 3; n = 3; p = 3; (* numery
modu
*)
α = BesselJZero[m , n]R // N; (* parametr
k = p *Pia; (* liczba falowa *)
ω = Sqrtα2 +k2 ;(* częstość fali *)
T = 2 *π/ω ;(* okres drgań *)
α *)
(* profil modu *)
ψ = BesselJ[m , α*ρ]*Exp[I *m *ϕ]*Exp[I *ω*t] /. ρ → Sqrtx2 +y2 , ϕ → ArcTan[x, y];
(* składowa poprzeczna pola elektrycznego *)
Ez = ψ*Cosk *z;
(* składowe podłużne pola elektrycznego *)
Ex = -k α2 *D[ψ, x]*Sink *z;
Ey = -k α2 *D[ψ, y]*Sink *z;
(* kwadrat natężenia pola elektrycznego *)
EE[x_, y_, z_, t_] = Re[Ex]2 +Re[Ey]2 ;
Emax = 0.005;
rys1[t_] := DensityPlotIf[Sqrt[x ^ 2 +y ^ 2] < R, EE[x, y, a /4, t], 0], {x, -R, R},
{y, -R, R}, ColorFunction→ ColorData"SunsetColors"[#1 /Emax ] &,
PlotRange → All, ColorFunctionScaling→ False, Frame → None, PlotPoints→ 50
rys2[t_] := DensityPlotEE[0, y, z -R, t], {z, R, R +a}, {y, -R, R},
ColorFunction→ ColorData"SunsetColors"[#1 /Emax ] &, PlotRange → All,
ColorFunctionScaling→ False, Frame → None, AspectRatio→ 2 *R /a, PlotPoints→ 50
legend = GraphicsTextStyle"mod TM" <>ToString[m ]<>ToString[n]<>ToString[p]
" wartosc |E 2 ", Large, {1.8, 1.1},
Arrow[{{-1.1, -1}, {-1.1, 1}}], Arrow[{{-1, -1.1}, {0.95, -1.1}}],
Arrow[{{1.05, -1.1}, {4, -1.1}}], TextStyle["x", Large], {0, -1.2},
TextStyle["y", Large], {-1.2, 0}, TextStyle["z", Large], {2.5, -1.2},
White, Thick, Line[{{1, -1}, {1, 1}}], Circle[{0, 0}, 1];
rys3[t_] := Showrys1[t], rys2[t], legend, PlotRange → All, {-1.3, 1.3},
Frame → None, AspectRatio-> 0.5, ImageSize → 800;
2
TM_anim.nb
plot = rys3[T /2]
Export"TM" <>ToString[m ]<>ToString[n]<>ToString[p]<>".png", plot, "PNG"
TM333.png
(* str[x_]:=StringReplacePart"0000",x,5-StringLength[x],4
imax =10;
Dot=T*iimax ; ExportstrToStringi<>".gif",rys3[t],"GIF",i,0,imax ; *)