中文/English
這裡我們試著模擬多層膜的穿透率與反射率,我們對照的理論解析解程式為
對照引用 Comparison & Reference:
OptiScan Simulation Program
http://fp.optics.arizona.edu/milster/optiscan/OptiScan_MENU_PAGE.htm
或此 pdf 檔案
理論解析解程式碼請看最下方
平面波垂直入射三個介電質夾層、折射率(refractive index)為1.25,1.5,1.75,厚度分別為100 nm,200 nm,300 nm。那麼試著求其穿透率與反射率是多少。
1. 選取模擬的維度
2. 定義總x,y,z長度相等於模型檔案,然後調整適當的各軸解析度
3. 按【建立網格 Cad to Grids (Create)】按鈕建立模擬網格
勾選 ☑ er。、因為要使用不同的折射率所以需要載入 Data_Epsr_isotropic.csv
內建結構的寫法則如下
gdx是(grid) dx的大小, gdy = dy. gdz = dz;
ib= X grids, jb= Y grids, kb= Z grids;
icenter= ib/2; jcenter= jb/2; kcenter=kb/2;
內建結構函數 矩形 Brick 參考 : 內建結構
Initialize_geometries % use to initialize all geometries
%=================矩形 Brick===========================
xstart=1*gdx;
xend=ib*gdx;
ystart=1*gdy;
yend=jb*gdy;
zstart=30*gdz;
zend=30*gdz+100e-9;
nindex=1.25^2;
sigma=0;
choice='E_Iso'; %E_Iso,PEC,M_Iso,PMC,E_Model1,M_Model1,EM_Model1
gridtype=-1; %
Iso_Brick(choice,gridtype,nindex,sigma,xstart,xend,ystart,yend,zstart,zend)
%=================矩形 Brick===========================
%=================矩形 Brick===========================
xstart=1*gdx;
xend=ib*gdx;
ystart=1*gdy;
yend=jb*gdy;
zstart=30*gdz+100e-9;
zend=30*gdz+300e-9;
nindex=1.5^2;
sigma=0;
choice='E_Iso'; %E_Iso,PEC,M_Iso,PMC,E_Model1,M_Model1,EM_Model1
gridtype=-1; %
Iso_Brick(choice,gridtype,nindex,sigma,xstart,xend,ystart,yend,zstart,zend)
%=================矩形 Brick===========================
%=================矩形 Brick===========================
xstart=1*gdx;
xend=ib*gdx;
ystart=1*gdy;
yend=jb*gdy;
zstart=30*gdz+300e-9;
zend=30*gdz+600e-9;
nindex=1.75^2;
sigma=0;
choice='E_Iso'; %E_Iso,PEC,M_Iso,PMC,E_Model1,M_Model1,EM_Model1
gridtype=-1; %
Iso_Brick(choice,gridtype,nindex,sigma,xstart,xend,ystart,yend,zstart,zend)
%=================矩形 Brick===========================
gdx是grid dx的大小,這裡前面設定是5nm,而gdy,gdz則與gdx相同。X從1到邊界ib,Y從1到邊界jb。
注意這裡Z方向(厚度)的寫法
第一層厚度為100nm,而入射波源在第Z=21網格的位置。也就是在Z=21*gdz的位置上
因此這裡我們結構寫成從第30格開始。Zend則為往上加100nm.材料我們選擇E_Iso (Electric Isotropic),所以可以給予相對電導率relative permittivity (er)。
這裡er=nindex=n^2, (n 為折射率refractive index)
zstart=30*gdz;
zend=30*gdz+100e-9;
nindex=1.5^2;
sigma=0;
choice='E_Iso';
後面以此列推
這樣按下執行後就能把材料填入記憶體內
1.設定頻譜分析 & 觀測波長範圍
2.檢察波源
下面是理論解析解的程式碼,請與下方PDF裡的multilayer_p.m, multilayer_s.m兩的檔案一起執行
對照引用 Comparison & Reference:
OptiScan Simulation Program
http://fp.optics.arizona.edu/milster/optiscan/OptiScan_MENU_PAGE.htm
或此 pdf 檔案
% This program is an example to use thin film model. The design if a
% broadband reflector for the visible region of design.
% Data resource: Figure 4-27 in "Optical thin film"
% initial program
clear all;
close all;
um = 1e-6;
nm = 1e-9;
% define admittance for medium
Air = 1;
Glass = 1.52;
% define the reference wavelength and thickness
lambda_f = 480*nm;
% define visible region of light
lambda = linspace(200,1500,501)*nm;
% define thin film structure
y_inc = Air; % incident medium admittance
y_sub = Air; % substrate medium admittance
theta = 0; % in degree
%d = film thickness
%y = index for d, n-ik
d=[100*nm;200*nm;300*nm;];
y=[1.25;1.5;1.75;];
%rho= sqrt(R), complex reflection coefficient
%tao= sqrt(T), complex reflection coefficient
% y_inc|y|y_sub 共三層
for ii=1:length(lambda),
[rho(ii),tao(ii),R(ii),T(ii)] =multilayer_s(d,y,y_inc,y_sub,lambda(ii),theta);
end
% plot the result
figure;hold on;
plot(lambda/nm,R*1,'-k','LineWidth',3);
plot(lambda/nm,T*1,'-k','LineWidth',3);
title('A broadband reflector for the visible region');
xlabel('Wavelength(nm)');
ylabel('Reflectance(%)');
%axis([350 850 0 105]);
grid on;
for ii=1:length(lambda),
[rho2(ii),tao2(ii),R2(ii),T2(ii)] =multilayer_p(d,y,y_inc,y_sub,lambda(ii),theta);
end
% plot the result
figure;hold on;
plot(lambda/nm,R2*1,'-k','LineWidth',3);
plot(lambda/nm,T2*1,'-k','LineWidth',3);
title('A broadband reflector for the visible region');
xlabel('Wavelength(nm)');
ylabel('Reflectance(%)');
%axis([350 850 0 105]);
grid on;