%NA = 0.9, w = 0.5, and wt = 0.5
%%
clc;
clear;
close all;
%参数设置
N = 100;
c = 3e+8;
xbound = 400e-6;
tbound = 1.5e-12;
ybound = 400e-6;
w = 0.5;
zf = 0;
lamda = 1;
k = 2*pi/lamda;
t = linspace(tbound, -tbound, N);
x = linspace(xbound, -xbound, N);
y = linspace(-ybound, ybound, N);
[T,X,Y] = meshgrid(t,x,y);
[Fi,Rf] = cart2pol(2*X/xbound,2*Y/ybound);
%定义r = sin(sita)
fi0 = 0;
fi1 = 2*pi; % NA = n* sin(sita)
df = 0.01*pi;
r0 = 0;
r1 = 0.9;
dr = 0.005;
Efx = zeros(N,N,N);
Efy = zeros(N,N,N);
Efz = zeros(N,N,N);
for r = r0:dr:r1
for fi = fi0:df:fi1
rcos=sqrt(1-r^2);
E0 = (2*1i/(w.^2))*r.*(2*r.*cos(fi)+2*T/tbound).*(2*r.*sin(fi)+2*T/tbound)...
.*exp(-((2*r).^2+(2*T/tbound).^2)./(w.^2));%预处理后拓扑荷为+1
B = sqrt(rcos);
EXP=exp(-1i*k*(Rf.*r.*cos(fi-Fi)+zf.*rcos));
Px = rcos.*cos(fi);
Py = rcos.*sin(fi);
Pz = (-r);
Efx = Efx + E0.*B.*Px.*EXP.*r./rcos.*df.*dr;
Efy = Efy + E0.*B.*Py.*EXP.*r./rcos.*df.*dr;
Efz = Efz + E0.*B.*Pz.*EXP.*r./rcos.*df.*dr;
end
end
% II = Efx.*conj(Efx) + Efy.*conj(Efy)+ Efz.*conj(Efz);
II = Efz.*conj(Efz);
yu = 0.3*(max(max(max(II))));
%校验
f = figure;
hiso = patch(isosurface(II,yu));
这个是一个三维波包的紧聚焦模拟,最后结果与原文不同,帮忙检查错误,论文来源于陈建的 TOWARDS OPTICAL TOROIDAL WAVEPACKET
THROUGH TIGHTLY FOCUSING OF CYLINDRICAL
VECTOR TWO DIMENSIONAL SPATIOTEMPORAL
OPTICAL VORTEX