📄 silicon_channel_semivectorial.m
字号:
% This example computes all of the field components of a
% silicon-on-insulator nanowire waveguide.
n1 = 1.46; % SiO2 lower cladding
n2 = 3.50; % Silicon core
n3 = 1.00; % Air upper cladding
h1 = 500; % lower cladding (nm)
h2 = 200; % silicon core (nm)
h3 = 500; % upper cladding (nm)
dx = 2.5; % grid size (x)
dy = dx; % grid size (y)
lambda = 1550; % wavelength (nm)
nmodes = 1; % number of modes to compute
w = 400; % waveguide full-width (nm)
side = 500; % space on side of waveguide (nm)
fprintf (1,'generating index mesh...\n');
[x,y,xc,yc,nx,ny,eps] = ...
waveguidemesh([n1,n2,n3],[h1,h2,h3],h2,w/2,side,dx,dy);
% Now we stretch out the mesh at the boundaries:
[x,y,xc,yc,dx,dy] = stretchmesh(x,y,[200,200,200,0],[1.5,1.5,1.5,1]);
fprintf (1,'solving for eigenmodes (TE) ... '); t = cputime;
[ExTE,neffTE] = svmodes (lambda, n2, nmodes, dx, dy, eps, ...
'000S', 'EX');
fprintf (1,'done (cputime = %7.3f)\n', cputime-t);
fprintf(1,'neff(TE) = %7.5f\n',neffTE);
colormap(jet(256));
imagemode(xc,yc,ExTE,'Ex (semivectorial)');
hold on;
contourmode(xc,yc,ExTE,1,3,45,'Ex (semivectorial)');
hold off;
v = xlim();
line(v,[h1,h1]);
line([0,w/2,w/2],[h1+h2,h1+h2,h1]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -