Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 111 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
111
Dung lượng
3,11 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HOC TỰ NHIÊN KHOA VẬT LÝ CHUYÊN NGÀNH VẬT LÝ HẠT NHÂN - - KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Đề tài: MÔ PHỎNG TƯƠNG TÁC CỦA POSITRON VỚI VẬT CHẤT SVTH: PHAN LÊ HOÀNG SANG CBHD: PGS.TS CHÂU VĂN TẠO CBPB: CN TRẦN DUY TẬP TP HỒ CHÍ MINH - 2008 LỜI CẢM ƠN Thời điểm khóa luận bảo vệ lúc kết thúc năm học thời sinh viên với kỉ niệm thầy cô kính quý, bạn bè thân thương Khóa luận đánh dấu cho trình đường nghiên cứu khoa học qua trình làm khóa luận, rút nhiều học bổ ích, thấy điểm yếu điểm mạnh thân để tự hoàn thiện Để hoàn thành khóa luận này, nỗ lực phấn đấu thân, nhận nhiều giúp đỡ đắc lực từ thầy cô, bạn bè người thân Trước hết chân thành cảm ơn PGS.TS Châu Văn Tạo gợi mở đề tài cho Cảm ơn thầy rộng lượng bỏ qua sửa chữa sai sót em trình làm khóa luận đồng thời thầy ân cần hết lòng bảo cho em giải khó khăn Cảm ơn CN Trần Duy Tập dành thời gian quý giá để đọc, nhận xét góp ý cho khóa luận Cảm ơn ThS Trương Thị Hồng Loan tận tình truyền đạt cho kiến thức phương pháp mô Monte Carlo để hoàn thành khóa luận Cảm ơn ThS Trần Thiện Thanh nhiệt tình giúp đỡ cung cấp liệu quý báu cho đề tài Cảm ơn bạn sinh viên khóa 04VL môn Vật Lý Hạt Nhân hỏi thăm, động viên, lôi thúc đẩy hoàn thành khóa luận Cuối cùng, cảm ơn bố mẹ gia đình chăm lo tạo điều kiện cho trình làm khóa luận Cảm ơn em trai dành đánh máy giúp anh TP HCM, tháng 07 năm 2008 Phan Lê Hoàng Sang 10 LỜI MỞ ĐẦU Positron Carl D Anderson phát vào năm 1932 Kể từ đến có nhiều công trình nghiên cứu positron Vật lý positron trở thành đề tài quan tâm nhiều Mặc dù lý thuyết chế tương tác positron với vật chất xây dựng hoàn chỉnh, song nghiên cứu chuyên sâu năm gần mang đến bàn luận sôi Đứng trước thực tế lúc thực nghiệm phổ positron đối tượng, đặc biệt ngành y khoa, nhu cầu mô tương tác positron với vật chất cấp thiết để ước đoán ảnh hưởng positron lên vật chất, qua soi xét lại thực nghiệm nhằm đạt hiệu tối ưu Hiện có nhiều chương trình dùng để mô tương tác xạ (photon , electron positron, ) với vật chất Các tác giả không ngừng nâng cao cải tiến chương trình tốc độ xác, để đạt đồng thời hai yêu cầu khó khăn Trên đà phát triển thời đó, khóa luận trình bày phương pháp mô tương tác đơn lẻ dựa lựa chọn thích hợp mô hình sẵn có áp dụng thuật toán để mô thử cho tương tác tán xạ đàn hồi vật liệu nhôm Khóa luận bao gồm chương: Chương 1: Tổng quan lý thuyết tương tác positron với vật chất Chương 2: Mô tương tác positron vật chất Chương 3: Áp dụng mô tương tác tán xạ đàn hồi positron vật liệu nhôm MỤC LỤC Mục lục Trang Danh mục ký hiệu, chữ viết tắt, đơn vị Danh mục hình vẽ LỜI MỞ ĐẦU 10 CHƢƠNG 1: TỔNG QUAN TƢƠNG TÁC CỦA POSITRON VỚI VẬT CHẤT 11 1.1 Tán xạ đàn hồi 12 1.1.1 Mô hình tương tác 12 1.1.2 Các đại lượng dùng mô tán xạ đàn hồi 15 1.1.3 Tiết diện sóng riêng phần 17 1.1.4 Mô hình Wentzel bổ sung 19 1.2 Tán xạ không đàn hồi 21 1.2.1 Mô hình GOS 26 1.2.2 Tiết diện vi phân 27 1.2.3 Tiết diện tích phân 29 1.2.4 Năng suất hãm cho positron lượng cao 32 1.3 Sự ion hóa lớp electron bên 33 1.3.1 Tiết diện ion hóa 33 1.3.2 Sự lấp đầy lỗ trống 36 1.4 Sự phát xạ hãm 39 1.4.1 Tiết diện vi phân theo lượng mát 40 1.4.2 Tiết diện tích phân 41 1.4.3 Khoảng CSDA 43 1.4.4 Phân phối góc photon phát 44 1.5 Sự hủy cặp positron 46 1.6 Kết luận 49 CHƢƠNG 2: MÔ PHỎNG TƢƠNG TÁC CỦA POSITRON VỚI VẬT CHẤT 50 2.1 Quãng đường tự trung bình 51 2.2 Điều kiện biên – Điều kiện lượng 53 2.3 Thuật toán khớp nối ngẫu nhiên – Mối quan hệ tán xạ mềm lượng mềm bước nhảy 54 2.3.1 Phân phối góc lệch tương tác tán xạ mềm 54 2.3.2 Phân phối lượng mát 59 2.3.3 Thuật toán mô 62 2.4 Mô tương tác cứng 62 2.4.1 Mô tượng tán xạ đàn hồi 63 2.4.1.1 Mô tượng tán xạ đàn hồi phương pháp RITA 63 2.4.1.2 Mô tượng tán xạ đàn hồi mô hình Wentzel bổ sung 66 2.4.2 Mô tượng tán xạ không đàn hồi 68 2.4.2.1 Mô tán xạ không đàn hồi cứng 68 2.4.2.2 Tương tác tán xạ không đàn hồi tầm xa positron 69 2.4.2.3 Tương tác tán xạ không đàn hồi tầm gần positron 70 2.4.2.4 Sự phát electron thứ cấp 72 2.4.3 Mô ion hóa lớp electron bên 73 2.4.4 Mô tượng phát xạ hãm 75 2.4.4.1 Mô lượng photon 75 2.4.4.2 Mô phân phối góc photon phát 78 2.4.5 Mô tượng hủy cặp 79 2.5 Đổi hướng chuyển động hạt 82 2.6 Ghi nhận lưu trữ kết 82 2.6.1 Phân phối liều – độ sâu 83 2.6.2 Phân phối góc chùm positron 84 2.6.3 Phân bố tầm truyền chùm positron 85 2.6.4 Phân bố lượng chùm positron 85 2.7 Kết luận 86 CHƢƠNG 3: ÁP DỤNG THUẬT TOÁN MÔ PHỎNG TÁN XẠ ĐÀN HỒI CỦA POSTRON TRONG VẬT LIỆU NHÔM 87 3.1 Giao diện nhập thông số nguồn phát positron 87 3.2 Giao diện nhập thông số vật liệu 88 3.3 Giao diện nhập thông số bố trí hình học nguồn vật liệu 88 3.4 Mô vết quỹ đạo tán xạ đàn hồi positron 89 3.5 Kết luận 93 KẾT LUẬN VÀ KIẾN NGHỊ 94 TÀI LIỆU THAM KHẢO 95 PHỤ LỤC 97 DANH MỤC CÁC HÌNH VẼ Trang Hình 1.1 Tán xạ đàn hồi positron với nguyên tử tự trung hòa 12 Hình 1.2 Tiết diện tán xạ đàn hồi vi phân electron positron 18 Hình 1.3 Tán xạ không đàn hồi positron với nguyên tử tự trung hòa 21 Hình 1.4 Giản đồ động lượng tượng tán xạ không đàn hồi 22 Hình 1.5 Thừa số hiệu chỉnh hiệu ứng mật độ Fermi số vật liệu 29 Hình 1.6 Năng suất hãm va chạm electron positron số vật liệu 31 Hình 1.7 Tiết diện ion hóa lớp K lớp L electron positron số vật liệu 35 Hình 1.8 Năng lượng ion hóa lớp electron nguyên tử tự 36 Hình 1.9 Cấu hình lớp electron dịch chuyển chiếm mức cho phép 38 Hình 1.10 Xác suất tương đối dịch chuyển phát xạ không phát xạ lấp đầy lỗ trống lớp K nguyên tử 39 Hình 1.11 Sự phát xạ hãm positron 40 Hình 1.12 Năng suất hãm xạ electron positron số vật liệu 42 Hình 1.13 Khoảng CSDA electron positron số vật liệu 44 Hình 1.14 Sự hủy cặp positron phát hai photon 46 Hình 1.15 Phân phối góc photon hủy căp ứng với số giá trị lượng positron 48 Hình 1.16 Tiết diện hủy cặp toàn phần phát hai photon theo giá trị lượng khác positron 48 Hình 2.1 Bố trí hình học việc mô 50 Hình 2.2 Vết positron hai tương tác cứng liên tiếp 54 Hình 2.3 Lưu đồ thuật toán mô tán xạ đàn hồi phương pháp RITA 66 Hình 2.4 Lưu đồ thuật toán mô tán xạ không đàn hồi 71 Hình 2.5 Lưu đồ thuật toán mô lượng xạ hãm 77 Hình 2.6 Lưu đồ thuật toán mô góc phát xạ hãm 79 Hình 2.7 Lưu đồ thuật toán mô tượng hủy cặp 81 Hình 3.1 Giao diện nhập thông số nguồn phát positron 87 Hình 3.2 Giao diện nhập thông số vật liệu 88 Hình 3.3 Giao diện nhập thông số khoảng cách nguồn vật 89 Hình 3.4 Vết quỹ đạo chùm positron sau bị tán xạ đàn hồi nhôm 90 Hình 3.5 Vết quỹ đạo positron có lượng 0.1 MeV sau bị tán xạ đàn hồi nhôm 91 Hình 3.6 Vết quỹ đạo positron lượng MeV sau bị tán xạ đàn hồi nhôm 91 Hình 3.7 Vết quỹ đạo positron lượng 10 MeV sau bị tán xạ đàn hồi nhôm 92 Hình 3.8 Vết quỹ đạo positron lượng 20 MeV sau bị tán xạ đàn hồi nhôm 92 Hình 3.9 Vết quỹ đạo positron lượng 50 MeV sau bị tán xạ đàn hồi nhôm 93 DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT, CÁC ĐƠN VỊ Các kí hiệu E: lượng positron : số lượng tử quỹ đạo hạt tới Z: bậc số nguyên tử nguyên tố : độ lệch pha ρ: khối lượng riêng vật liệu P cos : đa thức Legendre bậc : số hạt đơn vị thể tích P1 cos : hàm Legendre liên kết môi trường θ: góc phát cực positron : góc phát phương vị positron e+: positron V(r): tương tác positron c: vận tốc ánh sáng chân không : số Planck me: khối lượng electron j : hàm Bessel cầu bậc nguyên tử bia : hàm Bessel cầu biến dạng bậc Vst(r): tương tác tĩnh điện μ: độ lệch góc Vcp(r): phân cực – tương quan W: lượng mát Wabs(r): hấp thụ Wmax: lượng mát cực đại φ(r): tĩnh điện nguyên tử bia v: vận tốc positron φn(r): tĩnh điện hạt nhân β: vận tốc positron theo đơn vị c nguyên tử bia γ: lượng toàn phần positron φe(r): tĩnh điện đám mây điện tính theo đơn vị lượng nghỉ tử nguyên tử bia z0: điện tích hạt tới ρn(r): mật độ hạt nhân nguyên tử θr: góc giật lùi nguyên tử bia bia Ωp: lượng plasma khí ρe(r): mật độ electron nguyên tử electron tự bia ε(Q, W): hàm điện môi λdB: bước sóng DeBroglie Wi: lượng cộng hưởng k: số sóng hạt tới electron nguyên tử bia lớp i f(θ): biện độ tán xạ trực tiếp Ui: lượng ion hóa lớp g(θ): biên độ tán xạ đảo spin electron thứ i Wcb: lượng cộng hưởng θc: góc ngưỡng tán xạ đàn hồi electron vùng dẫn smax: chiều dài bước nhảy cực đại I: lượng kích thích trung bình R(E): khoảng CSDA δF: thừa số hiệu chỉnh hiệu ứng mật x, y, z: tọa độ positron độ ix, iy, iz: cosine phương Sin: suất hãm va chạm positron Sbr: suất hãm xạ ωmax: lượng mát cực đại S: suất hãm toàn phần bước nhảy κ: lượng photon rút gọn s: chiều dài bước nhảy positron χ(Z, E, κ): tiết diện vi phân xạ Eabs: lượng hấp thụ môi hãm tỉ lệ trường Wcc: lượng ngưỡng tán xạ không μc; độ lệch góc ngưỡng đàn hồi F+(E, W): thừa số Bhabha Wcr: lượng ngưỡng xạ hãm Các chữ viết tắt LDA: phép gần mật độ cục (Local Density Approximation) CSDA: phép gần làm chậm liên tục (Continuous Slowing Down Approximation) an: tượng hủy cặp el: tượng tán xạ đàn hồi in: tượng tán xạ không đàn hồi br: tượng phát xạ hãm si: tượng ion hóa lớp elctron bên δ: tương tác delta RITA (Rational Inverse Transform with Aliasing) GOS: cường độ dao dộng tử suy rộng (Generalized Oscillator Strength) OOS: cường độ dao động tử quang học (Optical Oscillator Strength) 99 m = m + 1; composition[m] = compos->ReadLine(); } m = -1; while(!(atmwght->EndOfStream)) { m = m + 1; atomwei[m] = atmwght->ReadLine(); } m = -1; while(!(elasdbase1->EndOfStream)) { m = m + 1; ElasCross[m] = elasdbase1->ReadLine(); } m = -1; while(!(elasdbase2->EndOfStream)) { m = m + 1; MWCross[m] = elasdbase2->ReadLine(); } for(m = 0; m < 99; m++) { atomicweight[m] = Convert::ToDouble(atomwei[m]); } for(m = 0; m < 99; m++) { Density[m] = Convert::ToDouble(composition[16 + 3*m]->Substring(36,11)); } density = Density[Z - 1]; EE = gcnew array(111); ToTranCross = gcnew array(111); for(m = 0; m < 111; m++) ToTranCross[m] = gcnew array(3); DiffCross = gcnew array(96); EEPW = gcnew array(96); for(m = 0; m < 96; m++) DiffCross[m] = gcnew array(606); ELASPROBAB = gcnew array(96); for(m = 0; m < 96; m++) ELASPROBAB[m] = gcnew array(606); ELASCUMUPROBAB = gcnew array(96); for(m = 0; m < 96; m++) ELASCUMUPROBAB[m] = gcnew array(606); for(m = 0; m < 111; m++) { EE[m] = Convert::ToDouble(MWCross[m + 1]->Substring(0,10)); ToTranCross[m][0] = Convert::ToDouble(MWCross[m + 1]->Substring(46,12)); ToTranCross[m][1] = Convert::ToDouble(MWCross[m + 1]->Substring(58,12)); ToTranCross[m][2] = Convert::ToDouble(MWCross[m + 1]->Substring(70,12)); } 100 for(m = 0; m < 96; m++) EEPW[m] = EE[m]; m = -1; int i = 0; int j = 0; int k = 0; for(i = 1; i < 5952; i+= 62) { m = m + 1; int n = 0; for(j = i; j < i + 60; j++) { int p = -1; for(k = n; k < 10 + n; k++) { p = p + 1; DiffCross[m][k] = 4*Math::PI*(Convert::ToDouble(ElasCross[j]>Substring(0 + p*12, 12))); ELASPROBAB[m][k] = DiffCross[m][k]/ToTranCross[m][0]; } n = k; } for(int q = 0; q < 6; q++) { DiffCross[m][k + q] = 4*Math::PI*(Convert::ToDouble(ElasCross[i + 60]>Substring(0 + q*12, 12))); ELASPROBAB[m][k + q] = DiffCross[m][k + q]/ToTranCross[m][0]; } } if(E < 1.0E+8) { THETADEG = gcnew array(606); MU = gcnew array(606); THETADEG[0] = 0; THETADEG[1] = 1.0E-4; for(k = 2; k < 606; k++) if(THETADEG[k - 1] Length); array^ w = gcnew array(Datay->Length); A = gcnew array(Datay->Length - 1); B = gcnew array(Datay->Length - 1); 102 C = gcnew array(Datay->Length - 1); D = gcnew array(Datay->Length - 1); e[0] = e[1] = 0; r[0] = f[0] = 0; g[0] = g[Datay->Length -2] = 0; for(int i = 1; i Length - 2; i++) { f[i]=2*(Datax[i+1]-Datax[i-1]); r[i]=6*((Datay[i+1]-Datay[i])/(Datax[i+1]-Datax[i])+(Datay[i-1]Datay[i])/(Datax[i]-Datax[i-1])); e[i+1]=Datax[i+1]-Datax[i]; g[i]=Datax[i+1]-Datax[i]; } w[0] = 0; w[Datay->Length -1] = 0; for(int i = 2; i Length - 2; i++) { e[i] = f[i - 1]; f[i] -= e[i]*g[i - 1]; r[i] -= e[i]*r[i - 1]; } w[Datay->Length -2] = r[Datay->Length -2]/f[Datay->Length -2]; for(int i = Datay->Length - 3; i >= 1; i ) { w[i] = (r[i] - g[i]*w[i+1])/f[i]; } for(int i = 1; i Length - 1; i++) { A[i - 1] = w[i - 1]/(6*(Datax[i] - Datax[i - 1])); B[i - 1] = w[i]/(6*(Datax[i] - Datax[i - 1])); C[i - 1] = Datay[i - 1]/(Datax[i] - Datax[i - 1]) - w[i - 1]/6*(Datax[i] - Datax[i - 1]); D[i - 1] = Datay[i]/(Datax[i] - Datax[i - 1]) - w[i]/6*(Datax[i] - Datax[i - 1]); } int i = BiSearch(x, Datax); double y = A[i]*Math::Pow(Datax[i + 1] - x, 3) + B[i]*Math::Pow(x - Datax[i], 3) + C[i]*(Datax[i + 1] - x) + D[i]*(x - Datax[i]); return y; } // Khai báo hàm tìm kiếm phương pháp chia đôi int BiSearch(double x, array^ Data) { int i = 0; int j = Data->Length - 1; { k = (i + j)/2; if (Data[k] 1); return i; } int k = 0; 103 // Khai báo hàm tính tích phân từ hàm nội suy Spline bậc double CSplineArea(double a, double b, array^ Datax, array^ Datay) { int i = 0; int j = 0; array^ f = gcnew array(Datay->Length); array^ r = gcnew array(Datay->Length); array^ e = gcnew array(Datay->Length); array^ g = gcnew array(Datay->Length); array^ w = gcnew array(Datay->Length); A = gcnew array(Datay->Length - 1); B = gcnew array(Datay->Length - 1); C = gcnew array(Datay->Length - 1); D = gcnew array(Datay->Length - 1); e[0] = e[1] = 0; r[0] = f[0] = 0; g[0] = g[Datay->Length -2] = 0; for(i = 1; i Length - 2; i++) { f[i]=2*(Datax[i+1]-Datax[i-1]); r[i]=6*((Datay[i+1]-Datay[i])/(Datax[i+1]-Datax[i])+(Datay[i-1]Datay[i])/(Datax[i]-Datax[i-1])); e[i+1]=Datax[i+1]-Datax[i]; g[i]=Datax[i+1]-Datax[i]; } w[0] = 0; w[Datay->Length -1] = 0; for(i = 2; i Length - 2; i++) { e[i] = f[i - 1]; f[i] -= e[i]*g[i - 1]; r[i] -= e[i]*r[i - 1]; } w[Datay->Length -2] = r[Datay->Length -2]/f[Datay->Length -2]; for(i = Datay->Length - 3; i >= 1; i ) { w[i] = (r[i] - g[i]*w[i+1])/f[i]; } for(i = 1; i Length - 1; i++) { A[i - 1] = w[i -1]/(6*(Datax[i] - Datax[i - 1])); B[i - 1] = w[i]/(6*(Datax[i] - Datax[i - 1])); C[i - 1] = Datay[i - 1]/(Datax[i] - Datax[i - 1]) - w[i - 1]/6*(Datax[i] - Datax[i - 1]); D[i - 1] = Datay[i]/(Datax[i] - Datax[i - 1]) - w[i]/6*(Datax[i] - Datax[i - 1]); } i = BiSearch(a, Datax); j = BiSearch(b, Datax); double AA = B[i] - A[i]; double BB = 3*(A[i]*Datax[i + 1] - B[i]*Datax[i]); double CC = 3*(B[i]*Math::Pow(Datax[i],2) - A[i]*Math::Pow(Datax[i + 1],2)) + D[i] C[i]; double DDD = A[i]*Math::Pow(Datax[i + 1],3) - B[i]*Math::Pow(Datax[i],3) + C[i]*Datax[i + 1] - D[i]*Datax[i]; double sum = Math::Abs(DDD*(Datax[i+1] - a) + CC*(Math::Pow(Datax[i+1], 2)Math::Pow(a, 2))/2 + BB*(Math::Pow(Datax[i+1], 3)-Math::Pow(a, 3))/3 + AA*(Math::Pow(Datax[i+1], 4)-Math::Pow(a, 4))/4); 104 AA = B[j] - A[j]; BB = 3*(A[j]*Datax[j + 1] - B[j]*Datax[j]); CC = 3*(B[j]*Math::Pow(Datax[j],2) - A[j]*Math::Pow(Datax[j + 1],2)) + D[j] - C[j]; DDD = A[j]*Math::Pow(Datax[j + 1],3) - B[j]*Math::Pow(Datax[j],3) + C[j]*Datax[j + 1] - D[j]*Datax[j]; double temp = Math::Abs(DDD*(b - Datax[j]) + CC*(Math::Pow(b, 2)Math::Pow(Datax[j], 2))/2 + BB*(Math::Pow(b, 3)-Math::Pow(Datax[j], 3))/3 + AA*(Math::Pow(b, 4)-Math::Pow(Datax[j], 4))/4); sum = sum + temp; for(int k = i + 1; k Length); array ^ newDatay = gcnew array(Datay->Length); for(int i = 0; i Length -1; i++) { newDatax[i] = Datax[i]; newDatay[i] = CSplineArea(0, Datax[i], Datax, Datay); } Random^ generator = gcnew Random; double ran = generator->NextDouble(); int i = BiSearch(ran, newDatay); double bi = - Math::Pow((newDatay[i+1] - newDatay[i])/(newDatax[i+1] - newDatax[i]), 2)/(Datay[i+1]*Datay[i]); double = (newDatay[i+1] - newDatay[i])/(newDatax[i+1] - newDatax[i])/Datay[i] - bi 1; double nu = ran - newDatay[i]; double deltai = newDatay[i+1] - newDatay[i]; double x = newDatax[i] + (1 + + bi)*deltai*nu/(Math::Pow(deltai, 2) + ai*deltai*nu + bi*Math::Pow(nu, 2))*(newDatax[i+1] - newDatax[i]); return x; } // Khai báo hàm mô tán xạ đàn hồi phương pháp sóng riêng phần 105 void PartWave(double E, array^ EE, array^ ELASPROBAB) { int i = BiSearch(E, EE); double pi1 = (Math::Log(EE[i+1]) - Math::Log(E))/(Math::Log(EE[i+1]) Math::Log(EE[i])); double pi2 = (Math::Log(E) - Math::Log(EE[i]))/(Math::Log(EE[i+1]) Math::Log(EE[i])); int k = 0; array^ THETADEG = gcnew array(606); array^ MU = gcnew array(606); THETADEG[0] = 0; THETADEG[1] = 1.0E-4; for(k = 2; k < 606; k++) if(THETADEG[k - 1] 1.0E-6); double A = k; 107 mu1MW = A*((1 + A)*Math::Log((1 + A)/A) - 1); mu2MW = A*(1 - 2*mu1MW); double B = (mu1avg - mu1MW)/(5./6 - mu1MW); Random^ generator = gcnew Random; double xi = generator->NextDouble(); if ((xi > 0) && (xi < (1 - B)*(1 + A)/(2*A + 1))) muy = A*xi/((1 - B)*(1 + A) - xi); else { muy = 3/4;// Tìm độ lệch góc phương pháp Newton-Raphson { double temp = muy; double f = (1 - B)*(1 + A)*muy/(A + muy) + 4*B*(muy*muy muy + 1/4) - xi; double df = (1 - B)*(1 + A)*A/Math::Pow(A + muy, 2) + 4*B*(2*muy - 1); muy -= f/df; }while (Math::Abs(muy - temp) > 1.0E-4); } } SecondaryType = 0; Eloss = 0; theta = (Math::Acos(1 - 2*muy))*180/Math::PI; double ran = generator->NextDouble(); phi = (2*Math::PI*ran)*180/Math::PI; } // Khai báo hàm xác định quãng đường tự trung bình double FreePath(double E, array^ EE, array^ ToTranCross) { int i = BiSearch(E, EE); double pi1 = (Math::Log(EE[i+1]) - Math::Log(E))/(Math::Log(EE[i+1]) Math::Log(EE[i])); double pi2 = (Math::Log(E) - Math::Log(EE[i]))/(Math::Log(EE[i+1]) Math::Log(EE[i])); double ToElasCross = pi1*ToTranCross[i][0] + pi2*ToTranCross[i + 1][0]; double AVOGADRO = 6.023*10E+23; double density = 2.69890E+00; double N = density/27*AVOGADRO; double MeanElasFreePath = 1/(N*ToElasCross); Random^ generator = gcnew Random; double xi = generator->NextDouble(); double path = -(MeanElasFreePath)*Math::Log(xi); return path; } // Khai báo hàm xác định điều kiện biên hạt bool IsOut(void) { if ((Math::Abs(x) > w/2) || (Math::Abs(y) > h/2) || (Math::Abs(z) > d) || (Math::Abs(z) NextDouble(); x = w*xi1 - w/2; double xi2 = generator->NextDouble(); y = h*xi2 - h/2; } else { x = 0; y = 0; } z = 0; theta = Math::Atan(Math::Sqrt(x*x + y*y)/DD); double ran = generator->NextDouble(); phi = 2*Math::PI*ran; ix = Math::Sin(theta)*Math::Cos(phi); iy = Math::Sin(theta)*Math::Sin(phi); iz = Math::Cos(theta); } // Khai báo hàm di chuyển hạt đến vị trí void MoveParticle(void) { x = x + ix*s; y = y + iy*s; z = z + iz*s; } // Khai báo hàm đổi hướng chuyển động hạt void ChangeDirection(void) { double ixx; double iyy; double izz; double norm = 1; double dxyz = ix*ix + iy*iy + iz*iz; if(Math::Abs(dxyz - 1.0E+0) > 1.0E-14) norm = 1.0/Math::Sqrt(dxyz); ix = norm*ix; iy = norm*iy; iz = norm*iz; if(Math::Abs(iz) > 0.99999) { ixx = Math::Sin(theta*Math::PI/180)*Math::Cos(phi*Math::PI/180); iyy = Math::Sin(theta*Math::PI/180)*Math::Sin(phi*Math::PI/180); izz = iz/Math::Abs(iz)*Math::Cos(theta*Math::PI/180); 109 } else { ixx = ix*Math::Cos(theta*Math::PI/180) + Math::Sin(theta*Math::PI/180)*(ix*iz*Math::Cos(phi*Math::PI/180) iy*Math::Sin(phi*Math::PI/180))/Math::Sqrt(1 - iz*iz); iyy = iy*Math::Cos(theta*Math::PI/180) + Math::Sin(theta*Math::PI/180)*(iy*iz*Math::Cos(phi*Math::PI/180) + ix*Math::Sin(phi*Math::PI/180))/Math::Sqrt(1 - iz*iz); izz = iz*Math::Cos(theta*Math::PI/180) - Math::Sqrt(1iz*iz)*Math::Sin(theta*Math::PI/180)*Math::Cos(phi*Math::PI/180); } ix = ixx; iy = iyy; iz = izz; } // Khai báo chiều dài bước nhảy ngẫu nhiên double s; // Khai báo nguồn có chuẩn trực hay không? bool IsCollimate; private: System::Void radioButtonIsCollimateYes_CheckedChanged(System::Object^ sender, System::EventArgs^ e) { radioButtonIsCollimateNo->Checked = false; if(radioButtonIsCollimateNo->Checked == false) radioButtonIsCollimateYes->Checked = true; IsCollimate = true; } private: System::Void radioButtonIsCollimateNo_CheckedChanged(System::Object^ sender, System::EventArgs^ e) { radioButtonIsCollimateYes->Checked = false; if(radioButtonIsCollimateYes->Checked == false) radioButtonIsCollimateNo->Checked = true; IsCollimate = false; } private: System::Void buttonDoAgain_Click(System::Object^ sender, System::EventArgs^ e) { String^ = L""; textBoxEnergy->Clear(); textBoxParNum->Clear(); textBoxHeight->Clear(); textBoxWidth->Clear(); textBoxDepth->Clear(); textBoxDistance->Clear(); } Phần chƣơng trình private: System::Void buttonSimulate_Click(System::Object^ sender, System::EventArgs^ e) { if(textBoxEnergy->Text == L"" ||textBoxParNum->Text == L"" ||comboBoxMaterial>SelectedItem == nullptr || textBoxWidth->Text == L"" || textBoxHeight->Text == L"" ||textBoxDepth->Text == L"" ||textBoxDistance->Text == L"") { 110 MessageBox::Show(L"Ban chua nhap day du so lieu Vui long nhap lai ", L"Thong bao", MessageBoxButtons::OK, MessageBoxIcon::Error); } else FormDrawing->Show(); FormDrawing->WindowState = System::Windows::Forms::FormWindowState::Normal; Graphics ^ track = FormDrawing->CreateGraphics(); Pen^ redPen = gcnew Pen( Color::Red,1.0f ); long kx = static_cast(FormDrawing->Height/w*kK); long kz = static_cast(FormDrawing->Width/d); for(int i = 1; i FormDrawing->Height/2 - X); if( E > 1.0E+8) MWentzel(E, EE, MU1, MU2); else PartWave(E, EEPW, ELASPROBAB, ELASCUMUPROBAB); ChangeDirection(); s = FreePath(E, EE, ToTranCross); MoveParticle(); X = safe_cast(x*kx); Z = safe_cast(z*kz); Point point2 = Point(Z, FormDrawing->Height/2 - X); track->DrawLine(redPen, point1, point2); if(IsOut() == false) { if( E > 1.0E+8) MWentzel(E, EE, MU1, MU2); else PartWave(E, EEPW, ELASPROBAB, ELASCUMUPROBAB); s = FreePath(E, EE, ToTranCross); point1 = point2; ChangeDirection(); s = FreePath(E, EE, ToTranCross); MoveParticle(); X = safe_cast(x*kx); Z = safe_cast(z*kz); point2 = Point(Z, FormDrawing->Height/2 - X); track->DrawLine(redPen, point1, point2); }while(IsOut() == false); } } 94 KẾT LUẬN VÀ KIẾN NGHỊ Về bản, khóa luận đạt số kết sau: - Trong chương 1, khóa luận nêu lên lý thuyết tương tác positron với vật chất, lựa chọn mô hình loại tương tác mô hình sóng riêng phần mô hình Wentzel bổ sung cho tán xạ đàn hồi, mô hình GOS Liljequist cho tán xạ không đàn hồi, mô hình Bethe-Heitler cho xạ hãm, mô hình Nelson cho hủy cặp phát photon - Trong chương 2, khóa luận hình thành thuật toán để mô loại tương tác phương pháp Monte Carlo dựa mô hình chương Trong chương 2, khóa luận nêu lên trình tự bước mô tương tác positron từ lúc vào vật chất đến kết thúc hành trình - Trong chương 3, khóa luận áp dụng thuật toán mô tán xạ đàn hồi để mô tán xạ đàn hồi vật liệu nhôm vẽ vết quỹ đạo positron vật liệu, qua thấy việc mô tán xạ đàn hồi positron phương pháp sóng riêng phần mô hình Wentzel bổ sung khả thi Một số kiến nghị hướng phát triển sau khóa luận: - Tiến hành mô cho tất tương tác lại tán xạ không đàn hồi, ion hóa lớp electron bên trong, phát xạ hãm, hủy cặp positron - Mở rộng loại vật liệu mô cho nhiều nguyên tô khác, không giới hạn nhôm - Xét thêm nhiều loại hình học vật liệu mô phỏng, không giới hạn hình học mỏng - Mở rộng việc mô cho loại nguồn positron đồng vị 22Na, 68Ge\68Ga - Tiến hành thu nhận thông số phân phối liều-độ sâu, phân phối tầm truyền, phân phối góc phân phối lượng sau chùm positron tương tác với vật liệu tiến hành so sánh với kết số chương trình khác SRIM, MCNP, 95 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Phùng Nhật Anh (2004), Mô trình tương tác tạo ảnh X – quang phương pháp Monte Carlo, Luận văn tốt nghiệp, Trường Đại học Sư phạm TP Hồ Chí Minh [2] Trần Phong Dũng, Châu Văn Tạo, Nguyễn Hải Dương (2005), Phương pháp ghi xạ ion hóa, Nxb Đại học Quốc gia, TP Hồ Chí Minh [3] Đặng Văn Liệt (2004), Giải tích số, Nxb Đại học Quốc gia, TP Hồ Chí Minh [4] Trương Thị Hồng Loan (2004), Phương pháp mô Monte Carlo, Chuyên đề tiến sĩ, Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh Tiếng Anh [5] Acosta E., Llovet X., Salvat F (2002), “Monte Carlo simulation of bremsstrahlung emission by electrons”, Applied Physics Letters, 80(17), pp 3228-3230 [6] Charlton M., Humberston J.M (2001), Positron Physics, Cambridge University Press, United Kingdom [7] Heitler W (1944), The Quantum Theory of Radiation, Oxford University Press, England [8] Horton I (2006), Beginning Visual C++ 2005, Wiley Publishing [9] International Atomic Energy Agency (1995), Atomic and molecular data for radiotherapy and radiation research [10] Koch H.W., Motz J.W (1959), “Bremsstrahlung Cross-section Formulas and Related Data”, Reviews of Modern Physics, 31(4), pp 920-955 [11] Legarda F., Idoeta R (2001), “Monte Carlo transport of electrons and positrons through thin foils”, Radiation Physics and Chemestry, 61, pp 549-551 [12] Mott N.F, Massey H.S.W (1965), The Theory of Atomic Collisions, Oxford University Press, England [13] Salleh S., Zomaya A.Y., Bakar S.A (2008), Computing for Numerical Methods Using Visual C++, Wiley Interscience 96 [14] Salvat F., Jablonski A., Powell C.J (2005), “ELSEPA: Dirac partial-wave calculation of elastic scattering of electrons and positrons by atoms, positive ions and molecules”, Computer Physics Communications, 165, pp 157-190 [15] Salvat F., Fernández-Varea J.M., Sempau J (2006), PENELOPE-2006: A Code System for Monte Carlo Simulation of Electron and Photon Transport, Universitat de Barcelona, Spain [16] Fernández-Varea J.M., Salvat F., Dingfelder M., Liljequist D (2005), “A relativistic optical-data model for inelastic scattering of electrons and positrons in condensed matter”, Nuclear Instruments and Methods in Physics Research B, 229, pp 187-218 [17] Fernández-Varea J.M (1998), “Monte Carlo simulation of the inelastic scattering of electrons and positrons using optical-data models”, Radiation Physics and Chemistry, 53, pp 235-245 [...]... được từ mô hình GOS có thể được tách thành những thành phần theo tương tác tầm gần và tương tác tầm xa trong đó bao gồm tương tác dọc ( là những tương tác thông qua trường Coulomb tức thời ) và tương tác ngang ( là những tương tác thông qua sự trao đổi những photon ảo ) Để tiện theo dõi ta lần lượt kí hiệu tương tác tầm gần là “clo”, tương tác tầm xa là “dis” trong đó tương tác dọc và tương tác ngang... cho phép sử dụng kỹ thuật mô phỏng nhanh và đủ linh hoạt để phân biệt từng loại tương tác Không giống như photon, positron chịu rất nhiều tương tác với chất làm chậm trước khi bị hãm lại hoàn toàn, ví dụ một positron có năng lượng khoảng 30 MeV chịu trung bình 1 triệu lần va chạm cho đến khi bị hấp thụ hoàn toàn trong môi trường Do đó, phương pháp mô phỏng chi tiết từng tương tác riêng lẻ theo tiến trình... hồi của positron với nguyên tử tự do trung hòa Trong mục này, ta sẽ tìm hiểu lý thuyết tán xạ đàn hồi của positron với nguyên tử trung hòa đứng yên cô lập có bậc số nguyên tử Z 1.1.1 Mô hình tƣơng tác Những tương tác đàn hồi là những loại tương tác trong đó trạng thái đầu và trạng thái cuối của nguyên tử bia là giống nhau, thường là trạng thái cơ bản Sự lệch góc quỹ đạo của positron trong vật chất chủ... tốc ánh sáng trong chân không c 2.998108 m/s Hằng số Avogadro NA 6,0231023 mol-1 Bán kính electron cồ điển re 2.8210-13 cm 11 CHƢƠNG 1 TỔNG QUAN TƢƠNG TÁC CỦA POSITRON VỚI VẬT CHẤT Trong chương này, ta sẽ xem xét tương tác của positron có năng lượng E với vật chất Để đơn giản, ta giả sử hạt di chuyển trong một môi trường đơn nguyên tố có bậc số nguyên tử Z, mật độ ρ và có nguyên tử trong một đơn... của tương tác tán xạ không đàn hồi lên hạt tới trong gần đúng Born Tiết diện vi phân nguyên tử của tương tác tán xạ không đàn hồi trong môi trường đậm đặc có thể thu được từ cách tiếp cận bán cổ điển trong đó môi trường được coi như là chất điện môi, được đặc trưng bởi hàm điện môi k, , phụ thuộc vào số sóng k và tần số và giả sử rằng động lượng và năng lượng của hạt tới được chuyển cho môi... Những tương tác khả dĩ của positron với vật chất là: tán xạ đàn hồi, tán xạ không đàn hồi, sự phát bức xạ hãm, bức xạ synchrotron, bức xạ Cherenkov và sự hủy cặp Mỗi loại tương tác được đặc trưng bởi một đại lượng được gọi là tiết diện vi phân được biểu diễn dưới dạng các biểu thức giải tích hoặc được cho dưới dạng bảng số liệu Những biểu thức này cho phép mô phỏng nhanh và chính xác từng loại tương tác. .. độ electron .Z của môi trường 1.3 SỰ ION HÓA CÁC LỚP ELECTRON BÊN TRONG Ta sẽ xem xét sự ion hóa các lớp electron bên trong như là tương tác độc lập không ảnh hưởng đến trạng thái của hạt tới Sự lấp đầy lỗ trống do sự ion hóa các lớp electron bên trong được mô phỏng như là hệ quả của quá trình ion hóa 1.3.1 Tiết diện ion hóa Để mô phỏng sự ion hóa của lớp K, L, M do va chạm của positron, người ta giả... hạt tới gấp nhiều lần nên ta có thể giả sử bia có khối lượng vô hạn và không bị giật lùi Thế tương tác giữa positron ở vị trí cách nguyên tử bia một khoảng r được mô tả bởi thế quang học V r Vst r Vcp r iWabs r (1.1) trong đó Vst (r) là thế tương tác tĩnh điện, Vcp (r) là thế phân cực -tương quan ( chỉ áp dụng cho hạt tới có năng lượng nhỏ hơn 10 keV ), Wabs là phần ảo của thế... đoán từ công thức Bethe 31 Hình 1.6: Năng suất hãm do va chạm của electron và positron trong một số vật liệu Tiết diện tích phân in và in có thể được tính thông qua trường hợp tổng quát như 1 2 sau in dis,l dis,t clo n n n n (1.75) Sự đóng góp từ tương tác dọc tầm xa và tương tác ngang tầm xa tương ứng là dis,l n và n dis,t Wi Q 2mec2 2e4 n 1 f W ln i i... trường Do đó, phương pháp mô phỏng chi tiết từng tương tác riêng lẻ theo tiến trình thời gian trở nên không khả thi đối với positron năng lượng cao Để khắc phục hạn chế này, ta sử dụng kỹ thuật mô phỏng kết hợp thay cho các kỹ thuật mô phỏng thông thường trong những chương trình mô phỏng khác như ETRAN (Berger và Seltzer, 1988), ITS3 (Halbleib và cộng sự, 1992), EGS4 (Nelson và cộng sự, 1985), GEANT3 ... Chương 1: Tổng quan lý thuyết tương tác positron với vật chất Chương 2: Mô tương tác positron vật chất Chương 3: Áp dụng mô tương tác tán xạ đàn hồi positron vật liệu nhôm MỤC LỤC Mục lục Trang... hồi thu từ mô hình GOS tách thành thành phần theo tương tác tầm gần tương tác tầm xa bao gồm tương tác dọc ( tương tác thông qua trường Coulomb tức thời ) tương tác ngang ( tương tác thông qua... tạo thành sở liệu chương trình mô 50 CHƢƠNG MÔ PHỎNG TƢƠNG TÁC CỦA POSITRON VỚI VẬT CHẤT Trong chương này, ta trình bày tiến trình mô vết positron từ lúc vào vật chất lúc kết thúc hành trình (năng