作者hiro920463 (hiro)
看板Physics
标题Re: [问题] 双轴晶体的双折射 biaxial birefringence
时间Sat Sep 13 18:50:02 2014
以前修课的时候从 kx(kxE)=ω^2μεE=0 出发去解(画)
ε_x 0 0
ε= 0 ε_y 0 的两条光轴,要有 nontrival solution
0 0 ε_z
就会得到一个由变数 k_x, k_y, k_z, ε_x, ε_y, ε_z 组成的 determinant
必须等於零(Optical Wave in Crystal, Yariv&Yeh, eq4.2-5~4.2-8 最後就会导出
Fresnel Eq ), 在 k-space 中独力的 k 其实只有两个 (因为 sum k_i^2=k^2)
所以那个 det 可以改写成 k 的二次式, 重根的地方就是光轴, 画出来的图
大概像
https://flic.kr/p/pcdZMb equation
https://flic.kr/p/oULCWC 斜视+ x-y, y-z, x-z 截面
红线就是光轴, matlab code 附在下面
(不过有点错,大概某个系数写错还是画图函式搞错, 会得到一个奇怪的图
https://www.flickr.com/photos/35756331@N06/3346400883/sizes/o/
上课报告时候唬烂一下还真的所有人都相信了,因为光轴是对的
後来把这个 case 改成范例拿来教大一生写程式时才修成前面的正确版)
原则上就是把 k 改写成球坐标换成 theta 跟 phi 两个变数去扫描硬解出
满足前式 det 为零的重根, 又知道这两个点会过零点所以直接延长得到光轴
--------------Matlab code--------------
nx=3;
ny=2;
nz=1;
cx=zeros(size(4));
cy=zeros(size(4));
cz=zeros(size(4));
counter=0;
caxis=0;
X1=ones(size(8192));
Y1=ones(size(8192));
Z1=ones(size(8192));
X2=ones(size(8192));
Y2=ones(size(8192));
Z2=ones(size(8192));
for i=0:64
theta=i*pi/64;
for k=0:128
phi=k*pi/64;
counter=counter+1;
B=-sin(theta)^2*cos(phi)^2*(1/nx^2+1/nz^2)-sin(theta)^2*sin(phi)^2*
(1/nz^2+1/nx^2)-cos(theta)^2*(1/nx^2+1/ny^2);
C=sin(theta)^2*cos(phi)^2/(ny^2*nz^2)+sin(theta)^2*sin(phi)^2/(nz^2*nx^2)+
cos(theta)^2/(nx^2*ny^2);
root1=0.5*(-B-sqrt(B^2-4*C));
root2=0.5*(-B+sqrt(B^2-4*C));
X1(counter)=sqrt(root1)*sin(theta)*cos(phi);
Y1(counter)=sqrt(root1)*sin(theta)*sin(phi);
Z1(counter)=sqrt(root1)*cos(theta);
X2(counter)=sqrt(root2)*sin(theta)*cos(phi);
Y2(counter)=sqrt(root2)*sin(theta)*sin(phi);
Z2(counter)=sqrt(root2)*cos(theta);
if
((root1-root2<=0.00000000001)&(root1-root2>=-0.000000000001)&
(sqrt(root1)*sin(theta)*cos(phi)>=0))
cx(1)=sqrt(root1)*sin(theta)*cos(phi);;
cy(1)=sqrt(root1)*sin(theta)*sin(phi);
cz(1)=sqrt(root1)*cos(theta);end
if
((root1-root2<=0.00000000001)&(root1-root2>=-0.000000000001)&
(sqrt(root1)*sin(theta)*cos(phi)<=0))
cx(2)=sqrt(root1)*sin(theta)*cos(phi);;
cy(2)=sqrt(root1)*sin(theta)*sin(phi);
cz(2)=sqrt(root1)*cos(theta);end
end
end
t=-1.5:0.01:1.5;
hold on;
plot3(X1,Y1,Z1);
plot3(X2,Y2,Z2);
plot3(cx(1)*t,cy(1)*t,cz(1)*t);
plot3(cx(2)*t,cy(2)*t,cz(2)*t);
--------end--------
※ 引述《ed78617 (鸡爪)》之铭言:
: birefrigence 又称 double refraction
: 指的是光在anisotropic crystal行进时,会看见不同的折射率
: 其中这样的crystal又可分为单轴(uniaxial)及双轴(biaxial)晶体
: http://en.wikipedia.org/wiki/Birefringence
: 上面wikipedia的连结最底下有推导过程,(8)式清楚给出单轴晶体的正交曲面方程式
: 为一球面及一椭球面,故可绘制如下图:
: http://ej.iop.org/images/0143-0807/34/5/1263/Full/ejp471398f2_online.jpg
: 但双轴晶体(nx、ny及nz都不同时)的正交曲面图,就不知道如何绘制了
: http://imgur.com/NVbHcOQ
: 曾请教过他人,说要从Fresnel's equation下手 (Jackson的problem7.16),
: 用方向余弦化简,会求得两解,但小弟资质驽钝以致无法领悟
: 恳请精通这块领域的版友帮帮忙,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.150.132.171
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Physics/M.1410605407.A.52C.html
1F:推 ed78617: 谢谢你喔^^ 09/14 16:09