Kỹ thuật mô phỏng quang - Quang phổ và vật lý Plasma

- Giữ lớp 1 bằng d12, giữ lớp 2 bằng d22, cho lớp 3 chạy (từ 2 → 300nm). Tìm được độ dày d33 của lớp 3 tại đó Fmin.

- Giữ lớp 2 bằng d22, giữ lớp 3 bằng d33, cho lớp 1 chạy (từ 2 → 300nm). Tìm được độ dày d13 của lớp 1 tại đó Fmin.

- Giữ lớp 3 bằng d33, giữ lớp 1 bằng d13, cho lớp 2 chạy (từ 2 → 300nm). Tìm được độ dày d23 của lớp 2 tại đó Fmin.

 Như vậy, 3 độ dày tối ưu của lượt chạy 2 là: d13, d23, d33.

 3 độ dày tối ưu cần tìm của cả bài toán: d13, d23, d33.

4) Từ 7 độ dày tối ưu của 7 lớp màng tìm được, vẽ đồ thị độ phản xạ R thay đổi theo bước sóng.

 

doc58 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 1622 | Lượt tải: 0download
Tóm tắt nội dung Kỹ thuật mô phỏng quang - Quang phổ và vật lý Plasma, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
vao so lop mang:7
Thu tu cac lop mang la:
thutu =
1 0 1 0 1 0 1
Do day cac lop lan luot la:
Nhap:245
Nhap:338
Nhap:81
Nhap:25
Nhap:30
Nhap:26
Nhap:146
Nhap:0
Nhap vao so lop mang:7
Thu tu cac lop mang la:
thutu =
0 1 0 1 0 1 0
Do day cac lop lan luot la:
Nhap:245
Nhap:338
Nhap:81
Nhap:25
Nhap:30
Nhap:26
Nhap:146
% HO TEN SV: PHAM DANG KHOA ---------------- MSSV:0513009 -------------------- LOP: 05VLUD2
% -----------------------------------------------------------------------------------------
clc
clear all
% ----------------------------------- CAU 1 ------------------------------------------------
BSmin=input('NHAP BUOC SONG NHO NHAT (NANOMET):');
BSmax=input('NHAP BUOC SONG LON NHAT (NANOMET):');
STEP=input('NHAP BUOC NHAY (NANOMET):');
BS=[BSmin:STEP:BSmax]
% ----------------------------------- CAU 2 ------------------------------------------------
disp('DANH SACH 12 CHAT CO THE MO PHONG VA MA SO TUONG UNG:')
disp('PbTe Ge CdTe ZnSe ZnS Ta2O5 YbF3 YF3 SiO2 MgF2 CaF2 BaF2')
disp(' 1 2 3 4 5 6 7 8 9 10 11 12')
disp('MOI BAN CHON RA 2 CHAT BAT KY BANG CACH NHAP VAO MA SO TUONG UNG')
disp('CHAT THU NHAT LA:')
NUM1=input('');
disp('CHAT THU HAI LA:')
NUM2=input('');
% ----------------------------------- CAU 3 ------------------------------------------------
K1=[5.0781 4.0517 2.0681 2.0845 1.7951 1.9079 0.90287 1.0527 0.76991 1.371 1.1199 0.86148];
K2=[8.0749*10^7 6.0528*10^7 9.2789*10^7 3.4469*10^8 7.0775*10^8 6.4378*10^8 2.7005*10^9 4.8652*10^8 4.3456*10^9 1.9465*10^8 1.1747*10^9 1.50799*10^9];
K3=[4 1 1 1 1 1 1 1 1 1 1 1];
K4=[6715 8131.5 8157.6 6715 35622 27923 15717 14675 40506 132800 41379 30788];
K5=[6.0882*10^7 7.9566*10^6 1.2387*10^8 2.7301*10^8 8.3564*10^8 2.2668*10^9 1.9486*10^9 1.1942*10^9 4.4229*10^9 2.9588*10^9 4.8958*10^9 2.3347*10^9];
for RUN=1:length(BS)
 MOM1(RUN)=K3(NUM1)*(1/BS(RUN)-K4(NUM1))^2+K5(NUM1);
 INDEX1(RUN)=K1(NUM1)+K2(NUM1)/MOM1(RUN);
end
IND1=mean(INDEX1)
for RUN=1:length(BS)
 MOM2(RUN)=K3(NUM2)*(1/BS(RUN)-K4(NUM2))^2+K5(NUM2);
 INDEX2(RUN)=K1(NUM2)+K2(NUM2)/MOM2(RUN);
end
IND2=mean(INDEX2)
if (IND1>IND2)
 disp('CHAT CO CHIET SUAT CAO LA CHAT:');NUM1
 disp('CHAT CO CHIET SUAT THAP LA CHAT:');NUM2
else
 disp('CHAT CO CHIET SUAT CAO LA CHAT:');NUM2
 disp('CHAT CO CHIET SUAT THAP LA CHAT:');NUM1
 CHANGE=INDEX1
 INDEX1=INDEX2
 INDEX2=CHANGE
end
% ----------------------------------- CAU 4 ------------------------------------------------
disp('BAN CHON LOP DAU TIEN LA LOP CO CHIET SUAT THAP HAY CAO?')
disp('NEU THAP THI NHAP TEST = 1')
disp('NEU CAO THI NHAP TEST = 2')
TEST=input('TEST = ');
LAYER=input('NHAP VAO SO LOP MANG BAN MUON MO PHONG:');
disp('THU TU PHU MANG LA:')
disp('-------------------')
if (TEST==1)
 if (mod(LAYER,2)==0)
 for MOVE=1:LAYER/2
 disp('LOW')
 disp('HIGH')
 end
 else
 for MOVE=1:LAYER/2
 disp('LOW')
 disp('HIGH')
 end
 disp('LOW')
 end
elseif (TEST==2)
 if (mod(LAYER,2)==0)
 for MOVE=1:LAYER/2
 disp('HIGH')
 disp('LOW')
 end
 else
 for MOVE=1:LAYER/2
 disp('HIGH')
 disp('LOW')
 end
 disp('HIGH')
 end
else
 error('TEST CHI BANG 1 HOAC 2. VUI LONG CHAY LAI TU DAU.')
end
disp('-------------------')
% ----------------------------------- CAU 5 ------------------------------------------------
disp('HAY NHAP VAO DO DAY MOI LOP')
ONE=1;
while (ONE<=LAYER)
 DODAY(ONE)=input('DO DAY LA:');
 ONE=ONE+1;
end
DODAY
% ----------------------------------- CAU 6 ------------------------------------------------
S=1.52;
if (TEST==1)
 for S1=1:length(BS)
 MASK=eye(2,2);
 for S2=1:LAYER
 if (mod(S2,2)~=0)
 THETA(S2)=2*pi*INDEX2(S1)*DODAY(S2)*1/(BS(S1));
 TITAN1(S2)=cos(THETA(S2));
 TITAN2(S2)=0+sin(THETA(S2))/INDEX2(S1)*i;
 TITAN3(S2)=0+INDEX2(S1)*sin(THETA(S2))*i;
 TITAN4(S2)=cos(THETA(S2));
 TITAN=[TITAN1(S2) TITAN2(S2);TITAN3(S2) TITAN4(S2)];
 MASK=MASK*TITAN;
 else
 THETA(S2)=2*pi*INDEX1(S1)*DODAY(S2)*1/(BS(S1));
 TITAN1(S2)=cos(THETA(S2));
 TITAN2(S2)=0+sin(THETA(S2))/INDEX1(S1)*i;
 TITAN3(S2)=0+INDEX1(S1)*sin(THETA(S2))*i;
 TITAN4(S2)=cos(THETA(S2));
 TITAN=[TITAN1(S2) TITAN2(S2);TITAN3(S2) TITAN4(S2)];
 MASK=MASK*TITAN;
 end
 end
 MODERN=MASK*[1;S];
 B(S1)=MODERN(1,1);
 C(S1)=MODERN(2,1);
 R(S1)=(abs((B(S1)-C(S1))/(B(S1)+C(S1))))^2;
 end
else
 for S1=1:length(BS)
 MASK=eye(2,2);
 for S2=1:LAYER
 if (mod(S2,2)~=0)
 THETA(S2)=2*pi*INDEX1(S1)*DODAY(S2)*1/(BS(S1));
 TITAN1(S2)=cos(THETA(S2));
 TITAN2(S2)=0+sin(THETA(S2))/INDEX1(S1)*i;
 TITAN3(S2)=0+INDEX1(S1)*sin(THETA(S2))*i;
 TITAN4(S2)=cos(THETA(S2));
 TITAN=[TITAN1(S2) TITAN2(S2);TITAN3(S2) TITAN4(S2)];
 MASK=MASK*TITAN;
 else
 THETA(S2)=2*pi*INDEX2(S1)*DODAY(S2)*1/(BS(S1));
 TITAN1(S2)=cos(THETA(S2));
 TITAN2(S2)=0+sin(THETA(S2))/INDEX2(S1)*i;
 TITAN3(S2)=0+INDEX2(S1)*sin(THETA(S2))*i;
 TITAN4(S2)=cos(THETA(S2));
 TITAN=[TITAN1(S2) TITAN2(S2);TITAN3(S2) TITAN4(S2)];
 MASK=MASK*TITAN;
 end
 end
 MODERN=MASK*[1;S];
 B(S1)=MODERN(1,1);
 C(S1)=MODERN(2,1);
 R(S1)=(abs((B(S1)-C(S1))/(B(S1)+C(S1))))^2;
 end
end
% ----------------------------------- CAU 7 ------------------------------------------------
plot(BS,R);
xlabel('BUOC SONG (NANOMET)');
ylabel('DO PHAN XA R');
title('SU PHU THUOC CUA R THEO BUOC SONG');
grid on
-------------------------------------------------------
KET QUA THU DUOC
NHAP BUOC SONG NHO NHAT (NANOMET):1000
NHAP BUOC SONG LON NHAT (NANOMET):2000
NHAP BUOC NHAY (NANOMET):2
DANH SACH 12 CHAT CO THE MO PHONG VA MA SO TUONG UNG:
PbTe Ge CdTe ZnSe ZnS Ta2O5 YbF3 YF3 SiO2 MgF2 CaF2 BaF2
 1 2 3 4 5 6 7 8 9 10 11 12
MOI BAN CHON RA 2 CHAT BAT KY BANG CACH NHAP VAO MA SO TUONG UNG
CHAT THU NHAT LA:
6
CHAT THU HAI LA:
10
IND1 =
 2.1192
IND2 =
 1.3805
CHAT CO CHIET SUAT CAO LA CHAT:
NUM1 =
 6
CHAT CO CHIET SUAT THAP LA CHAT:
NUM2 =
 10
BAN CHON LOP DAU TIEN LA LOP CO CHIET SUAT THAP HAY CAO?
NEU THAP THI NHAP TEST = 1
NEU CAO THI NHAP TEST = 2
TEST = 2
NHAP VAO SO LOP MANG BAN MUON MO PHONG:7
THU TU PHU MANG LA:
-------------------
HIGH
LOW
HIGH
LOW
HIGH
LOW
HIGH
-------------------
HAY NHAP VAO DO DAY MOI LOP
DO DAY LA:245
DO DAY LA:338
DO DAY LA:81
DO DAY LA:25
DO DAY LA:30
DO DAY LA:26
DO DAY LA:146
DODAY =
 245 338 81 25 30 26 146
TEST = 1
NHAP VAO SO LOP MANG BAN MUON MO PHONG:7
THU TU PHU MANG LA:
-------------------
LOW
HIGH
LOW
HIGH
LOW
HIGH
LOW
-------------------
HAY NHAP VAO DO DAY MOI LOP
DO DAY LA:245
DO DAY LA:338
DO DAY LA:81
DO DAY LA:25
DO DAY LA:30
DO DAY LA:26
DO DAY LA:146
DODAY =
 245 338 81 25 30 26 146
BÀI LẬP TRÌNH 5 (Cảnh báo! Đây là bài KHÓ nhất trong loạt bài mô phỏng quang học bằng Matlab! Lớp 04 tác giả ngày xưa không ai làm nổi!!! Ngoài ra, thời gian để chạy bài này trung bình từ 30 phút đến 2 tiếng, một cách tốt để kiểm tra sức mạnh máy tính )
	Các yêu cầu trong bài lập trình:
1) Thực hiện lại từ yêu cầu 1 đến yêu cầu 4 của bài lập trình 4. Các yêu cầu cụ thể như sau:
 a) Lập trình chọn vùng bước sóng khảo sát (lamdamin, lamdamax, bước nhảy)
 b) Lập trình chọn ra 2 chất bất kỳ trong số 12 chất: PbTe, Ge, CdTe, ZnSe, ZnS, Ta2O5, YbF3, YF3, SiO2, MgF2, CaF2, BaF2.
 In kết quả với 2 chất là Ta2O5 và MgF2
 c) So sánh chiết suất của 2 chất vừa chọn ở câu 2 tại phần tử đầu tiên của mảng bước sóng. Chất nào có chiết suất lớn hơn sẽ là chất chiết suất cao, chất nào có chiết suất nhỏ hơn sẽ là chất chiết suất thấp.
 d) Lập trình chọn chất đầu tiên là chất chiết suất cao hay chất chiết suất thấp. Chọn số lớp màng cần mô phỏng. Sắp xếp xen kẽ các lớp màng theo thứ tự chiết suất cao – chiết suất thấp – chiết suất cao – ... hay chiết suất thấp – chiết suất cao – chiết suất thấp – ...
 In kết quả với số lớp là 7.
2) Nhập vào độ phản xạ Rtarget mà bạn mong muốn màng đa lớp của bạn đạt được. Nhập vào khoảng giới hạn độ dày (độ dày nhỏ nhất, độ dày lớn nhất).
 Chạy chương trình với Rtarget = 0.005. Khoảng giới hạn độ dày: 2 → 300nm. Cho biết chiết suất đế là 1.52. Chiết suất môi trường là 1.
3) Thực hiện thuật giải N-Square Scan để tìm độ dày từng lớp màng sao cho độ phản xạ đạt được gần bằng giá trị Rtarget nhất. 
 Độ phản xạ R của màng theo bước sóng dựa vào công thức:
 Trong đó: 
 Với: 
 Hàm so sánh giá trị:
 n là số phần tử trong mảng bước sóng
 Hướng dẫn về thuật giải như sau: (Ví dụ đơn giản với 3 lớp màng)
Lượt chạy 1:
- Cho lớp 1 chạy (từ 2 → 300nm), cố định lớp 2 và lớp 3 ở 2nm. Tìm được độ dày d11 của lớp 1 tại đó Fmin.
- Giữ lớp 1 bằng d11, cho lớp 2 chạy (từ 2 → 300nm), cố định lớp 3 ở 2nm. Tìm được độ dày d21 của lớp 2 tại đó Fmin.
- Giữ lớp 1 bằng d11, lớp 2 bằng d21, cho lớp 3 chạy (từ 2 → 300nm), tìm được độ dày d31 của lớp 3 tại đó Fmin
 Như vậy, 3 độ dày tối ưu của lượt chạy 1 là: d11, d21, d31. (Số 1 ở cuối thể hiện lượt chạy 1)
Lượt chạy 2:
- Giữ lớp 1 bằng d11, lớp 3 bằng d31, cho lớp 2 chạy (từ 2 → 300nm). Tìm được độ dày d22 của lớp 2 tại đó Fmin.
- Giữ lớp 2 bằng d22, giữ lớp 1 bằng d11, chạy lớp 3 (từ 2 → 300nm). Tìm được độ dày d32 của lớp 3 tại đó Fmin.
- Giữ lớp 2 bằng d22, giữ lớp 3 bằng d32, cho lớp 1 chạy (từ 2 → 300nm). Tìm được độ dày d12 của lớp 1 tại đó Fmin.
 Như vậy, 3 độ dày tối ưu của lượt chạy 2 là: d12, d22, d32.
Lượt chạy 3:
- Giữ lớp 1 bằng d12, giữ lớp 2 bằng d22, cho lớp 3 chạy (từ 2 → 300nm). Tìm được độ dày d33 của lớp 3 tại đó Fmin.
- Giữ lớp 2 bằng d22, giữ lớp 3 bằng d33, cho lớp 1 chạy (từ 2 → 300nm). Tìm được độ dày d13 của lớp 1 tại đó Fmin.
- Giữ lớp 3 bằng d33, giữ lớp 1 bằng d13, cho lớp 2 chạy (từ 2 → 300nm). Tìm được độ dày d23 của lớp 2 tại đó Fmin.
 Như vậy, 3 độ dày tối ưu của lượt chạy 2 là: d13, d23, d33.
 3 độ dày tối ưu cần tìm của cả bài toán: d13, d23, d33.
4) Từ 7 độ dày tối ưu của 7 lớp màng tìm được, vẽ đồ thị độ phản xạ R thay đổi theo bước sóng.
 Hướng dẫn:
CÂU 1: 
 Các bạn copy và paste lại từ bài lập trình 3 ở trên. (Câu này dễ, hy vọng bạn nào cũng có thể làm được)
CÂU 2:
 Câu này cũng dễ luôn! Bạn đọc có thể tham khảo đoạn chương trình bên dưới

File đính kèm:

  • docKỹ thuật mô phỏng quang - quang phổ và vật lý Plasma.doc
Tài liệu liên quan