równanie Fresnela dla kryształu dwuosiowego

Transkrypt

równanie Fresnela dla kryształu dwuosiowego
równanie Fresnela dla kryształu dwuosiowego
wersor kierunku biegu fali w płaszczyźnie (x,z)
In[1]:=
e = Sin[θ], 0, Cos[θ];
diagonalna macierz przenikalności dielektrycznej
In[2]:=
eps = DiagonalMatrix[{ϵ1 , ϵ2 , ϵ3 }];
równanie Fresnela w postaci macierzowej
In[3]:=
M = n2 *OuterTimes , e, e-IdentityMatrix[3]+eps;
wyznacznik
In[4]:=
Out[4]=
In[5]:=
eq = Det[M] // Simplify  /. n2 → x
(x -ϵ2 ) ϵ1 x Sin[θ]2 -ϵ3 +x Cos[θ]2 ϵ3 
sol = Solve[eq ⩵ 0, x];
kwadrat współczynnika zwyczajnego
In[6]:=
Out[6]=
nor = x /. sol // First
ϵ2
wektor natężenia pola elektrycznego
In[7]:=
u = {x, y, z};
M1 = M /. n2 → x /. {ϕ → 0} /. sol // First// Simplify ;
E0 = u /. Solve[M1.u ⩵ 0, u] // First /. {y → 1}
Solve::svars : Equations may not give solutions for all "solve" variables . 
Out[9]=
{0, 1, 0}
wektor indukcji elektrycznej
In[10]:=
Out[10]=
D0 = eps.E0 /ϵ2
{0, 1, 0}
kwadrat współczynnika nadzwyczajnego
In[11]:=
Out[11]=
nex [θ_] = x /. sol // Last
ϵ1 ϵ3
Sin[θ]2 ϵ1 +Cos[θ]2 ϵ3
2
fresnel2.nb
wektor natężenia pola elektrycznego
In[12]:=
u = {x, y, z};
M2 = M /. n2 → x /. {ϕ → 0} /. sol // Last // Simplify ;
E0 = u /. Solve[M2.u ⩵ 0, u] // First*ϵ3 *Cos[θ] /. {x → 1}
Solve::svars : Equations may not give solutions for all "solve" variables . 
Out[14]=
{Cos[θ] ϵ3 , 0, -Sin[θ] ϵ1 }
wektor indukcji elektrycznej
In[15]:=
Out[15]=
D0 = eps.E0 /(ϵ1 ϵ3 )
{Cos[θ], 0, -Sin[θ]}
In[16]:=
ϵ1 = 1.5; ϵ2 = 2; ϵ3 = 3;
In[17]:=
rys1 = ParametricPlot Sin[θ], Cos[θ]*Sqrt[nor ], {θ, 0, 2 π};
rys2 = ParametricPlot Sin[θ], Cos[θ]*Sqrt[nex [θ]], {θ, 0, 2 π};
Showrys1, rys2, PlotRange → All, Axes → None
Out[19]=
In[20]:=
Exit[]
ogólny wersor kierunku biegu fali
In[6]:=
e = {x, y, z};
In[7]:=
eps = DiagonalMatrix[{ϵ1 , ϵ2 , ϵ3 }];
In[8]:=
M = n2 *OuterTimes , e, e-IdentityMatrix[3]+eps;
wyznacznik
fresnel2.nb
In[9]:=
Out[9]=
eq = Det[M] // Simplify  /. n2 → u, n4 → u2 
u2 y2 z2 (u -ϵ1 )+u2 x2 z2 (u -ϵ2 )+-u2 x2 y2 +u -1 +x2 +ϵ1  u -1 +y2 +ϵ2  u -1 +z2 +ϵ3 
współczynniki równania bikwadratowego
In[10]:=
coef = CoefficientList
[eq, u] // Simplify ;
In[11]:=
a = coef[[3]]
Out[11]=
In[12]:=
Out[12]=
In[13]:=
Out[13]=
--1 +y2 +z2  ϵ1 --1 +x2 +z2  ϵ2 --1 +x2 +y2  ϵ3
b = coef[[2]]
-1 +x2  ϵ2 ϵ3 +ϵ1 -1 +z2  ϵ2 +-1 +y2  ϵ3 
c = coef[[1]]
ϵ1 ϵ2 ϵ3
kwadraty współczynników załamania
In[14]:=
Δ = b2 -4 *a *c;
In[15]:=
n1 [θ_, ϕ_] = -b +Sqrt[Δ](2 *a) /. x → Cos[ϕ] Sin[θ], y -> Sin[ϕ] Sin[θ], z -> Cos[θ];
n2 [θ_, ϕ_] = -b -Sqrt[Δ](2 *a) /. x → Cos[ϕ] Sin[θ], y -> Sin[ϕ] Sin[θ], z -> Cos[θ];
In[18]:=
ϵ1 = 1.5; ϵ2 = 2; ϵ3 = 3;
In[20]:=
rys1 = ParametricPlot Sin[θ], Cos[θ]*n1 Abs[θ], 0.2, {θ, 0, 2 π};
rys2 = ParametricPlot Sin[θ], Cos[θ]*n2 Abs[θ], 0.2, {θ, 0, 2 π};
Show[rys1, rys2, Axes → None]
Out[22]=
3