|
[求助]
已知场分布,如何求出他的坡印廷,也就是二维能流分布
clear all
beta=0.05;
lambda=632.8*10.^-6;
k=2*pi/lambda;
A0=1;
w1=0.1;
w2=0.1;
w0=0.1;
a=0.1;
b=0.1;
c=0.5;
z=0.1;
w=2.*pi./(beta);
aa=cos(z./beta);
bb=sin(z./beta).*beta;
cc=-sin(z./beta)./beta;
dd=cos(z./beta);
[x,y] = meshgrid(-1:.005:1);
M=i.*c./w0.^2+i.*k.*aa./2./bb;
A=-(i.*k.*dd./2./bb+k.^2./4./bb.^2./M).*(x.^2+y.^2)...
+i*k./8./bb./M.^2.*(x./w1.^3+y./w2.^3)...
+i*k./2./bb./M.*(a.*x./w1+b.*y./w2)...
+1./96./M.^3.*(1./w1.^6+1./w2.^6)...
+1./8./M.^2.*(a./w1.^4+b./w2.^4)...
+1./4./M.*(a.^2./w1.^2+b.^2./w2.^2);
B=i.*k.*x./2./bb./M./w1+a./2./M./w1.^2+1./16./M.^2./w1.^4;
C=i.*k.*y./2./bb./M./w2+b./2./M./w2.^2+1./16./M.^2./w2.^4;
E=i.*A0.*k./2./bb./M.*exp(A).*airy(B).*airy(C);
II=abs(E).^2;
mesh(x,y,II)
view(2)
%%
figure(2)
Es=conj(E);
c0=3.*10.^8;
Edx2=diff(E,2,1);
[m1 n1]=size(Edx2);
Edy2=diff(E,2,2);
[m2 n2]=size(Edy2);
Esdx2=diff(Es,2,1);
[m3 n3]=size(Esdx2);
Esdy2=diff(Es,2,2);
[m4 n4]=size(Esdy2);
sx=(E(1:m3,1:n3).*Esdx2-Es(1:m1,1:n1).*Edx2).*i.*w./2;
sy=(E(1:m4,1:n4).*Esdy2-Es(1:m2,1:n2).*Edy2).*i.*w./2;
sz=w*k*abs(E).^2;
mm=min([m1 m2 m3 m4 n1 n2 n3 n4]);
s1=sx(1:mm,1:mm)+sy(1:mm,1:mm)+sz(1:mm,1:mm);
[dsx dsy]=gradient(s1);
quiver(x(1:mm,1:mm),y(1:mm,1:mm),dsx,dsy,'linewidth',2)
hold off , axis image
axis([-1 1 -1 1])
图片就是计算坡印廷的公式,不知道这边哪里出问题了 ,就是算不出文献里面的图
7(6R4%A(9C1TH[LTR0M0VT9.png |
|