Xây dựng chương trình mô phỏng hiệu suất đỉnh năng lượng toàn phần của detector

56 274 0
Xây dựng chương trình mô phỏng hiệu suất đỉnh năng lượng toàn phần của detector

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA VẬT LÝ – VẬT LÝ KỸ THUẬT BỘ MÔN VẬT LÝ HẠT NHÂN - KHÓA LUẬN TỐT NGHIỆP Đềtài: XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG HIỆU SUẤT ĐỈNH NĂNG LƯỢNG TOÀN PHẦN CỦA DETECTOR BÙI HẢI ÂU - TP HỒ CHÍ MINH - 2015 LỜI CẢM ƠN Khóa luận thực với giúp đỡ thầy cô, gia đình bạn bè Thông qua khóa luận này, xin bày tỏ lòng biết ơn đến  Các Thầy cô Bộ Môn Vật lý Hạt nhân trường Đại học Khoa học Tự nhiên Thành Phố Hồ Chí Minh  Đặc biệt, chân thành cảm ơn đến thầy hướng dẫn PGS.TS Châu Văn Tạo tận tình dạy bảo, dẫn lúc học tập hoàn thành khóa luận  Tôi xin đặc biệt cảm ơn ThS Trần Thiện Thanh tận tình dẫn, cung cấp tài liệu giúp đỡ hoàn thành khóa luận  Tôi xin cám ơn GS Takahisa Itahashi dành thời gian xem xét góp ý cho khóa luận  Cuối cùng, xin chân thành cảm ơn tất bạn bè, người thân gia đình động viên, chia sẻ để hoàn thành khóa luận Bùi Hải Âu Khóa luận tốt nghiệp MỤC LỤC Trang Trang bìa phụ Mục lục Danh mục bảng Danh mục hình vẽ Các từ viết tắt MỞ ĐẦU CHƢƠNG I : HIỆU SUẤT HỆ PHỔ KẾ GAMMA 1.1 Hệ phổ kế gamma 1.2 Hiệu chuẩn hệ phổ kế gamma 1.2.1 Hiệu chuẩn hệ phổ kế gamma 1.2.2 Chuẩn lƣợng độ rộng đỉnh 1.3 Chuẩn hiệu suất ghi 11 1.3.1 Khái niệm hiệu suất 11 1.3.2 Hiệu suất đỉnh lƣợng toàn phần (FEPE) 12 1.3.3 Hiệu suất tổng 15 1.3.4 Tỉ số P/T 15 1.4 Nhận xét 18 CHƢƠNG II : PENELOPE HỆ MÃ NGUỒN MÔ PHỎNG MONTE–CARLO CỦA VẬN CHUYỂN PHOTON VÀ ELECTRON 16 2.1 Giới thiệu 16 2.2 Một số khái niệm mô Monte-Carlo 16 2.2.1 Các phƣơng pháp lấy mẫu ngẫu nhiên 16 2.2.1.1 Bộ tạo số ngẫu nhiên 16 2.2.1.2 Phƣơng pháp hàm ngƣợc 17 2.2.1.3 Phân bố rời rạc 19 Khóa luận tốt nghiệp 2.2.1.4 Lấy mẫu từ phân bố Gauss 21 2.2.1.5 Phân bố mặt cầu 22 2.2.2 Mô trình vận chuyển 23 2.3 Cấu trúc hình học 24 2.4 Cấu trúc điều khiển mã nguồn 24 CHƢƠNG III : CHƢƠNG TRÌNH MÔ PHỎNG HIỆU SUẤT ĐỈNH NĂNG LƢỢNG DETECTOR 28 3.1 Sơ lƣợc chƣơng trình mô hiệu suất đỉnh detector 28 3.2 Chƣơng trình mô hiệu suất đỉnh 28 3.2.1 Mô tƣơng tác 28 3.2.1.1 Mô nguồn 28 3.2.1.2 Tính lƣợng để lại thể tích detector 30 3.2.2 Giao diện 31 3.3 Các kết chạy mô 32 3.3.1 Cấu hình detector HPGe Bộ môn Vật lý Hạt nhân 32 3.3.2 Kết mô 34 3.4 Nhận xét 38 KẾT LUẬN VÀ KIẾN NGHỊ 39 TÀI LIỆU THAM KHẢO 41 Phụ lục 43 Phụ lục Kết mô cho nguồn Eu-152 43 Phụ lục Sơ lƣợc nội dung chƣơng trình mô phần FORTRAN 45 Phụ lục Sơ lƣợc nội dung chƣơng trình mô phần Visual Basic.Net 50 Khóa luận tốt nghiệp DANH MỤC CÁC BẢNG Bảng 3.1: Kết mô hai khoảng cách 2,4cm 4,2cm 36 Bảng 3.2: Kết FEPE khoảng cách 2,4cm hiệu chỉnh trùng phùng 36 Bảng 3.3: Kết so sánh với chƣơng trình DETEFF 37 Bảng 3.4: Kết so sánh thực nghiệm mô nguồn đơn 39 Khóa luận tốt nghiệp DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ Hình 1.1: Phân bố xung độ cao vi phân nguồn 152Eu Hình 1.2: Nguồn phóng xạ thƣờng dùng việc xây dựng đƣờng cong hiệu suất thực nghiệm 12 Hình 2.1: Lấy mẫu ngẫu nhiên từ phân bố p(x) dùng phƣơng pháp hàm ngƣợc 18 Hình 2.2: Lấy mẫu ngẫu nhiên từ phân bố rời rạc phƣơng pháp hàm ngƣợc 20 Hình 3.1: Sơ đồ khối tiến trình mô 29 Hình 3.2: Sơ đồ khối thuật toán tính lƣợng để lại detector 30 Hình 3.3: Giao diện chƣơng trình mô hiệu suất đỉnh lƣợng toàn phần detector phần tab detector 31 Hình 3.4: Giao diện chƣơng trình mô hiệu suất đỉnh lƣợng toàn phần detector phần tab mô 32 Hình 3.5: Cấu hình detector HPGe GC 2018 Bộ môn Vật lý Hạt nhân 33 Hình 3.6: Mặt cắt dọc detector đƣợc vẽ gview 34 Hình 3.7: FEPE trƣớc sau hiệu chỉnh trùng phùng 36 Hình 3.8: So sánh kết mô DETEFF với thực nghiệm 38 Khóa luận tốt nghiệp DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT  Ký hiệu: εint: hiệu suất nội εp: hiệu suất đỉnh lƣợng toàn phần εabs: hiệu suất tuyệt đối εt: hiệu suất tổng  Từ viết tắt: MCA: Bộ phân tích đa kênh (Multi Channel Analyzer) FEPE: Hiệu suất đỉnh lƣợng toàn phần (Full Energy Peak Efficiency) FWHM: Bề rộng nửa chiều cao (Full Width Half Max) HPGe: Germanium siêu tinh khiết (High Pure Germanium) MCNP: Monte – Carlo N Particle PDF: Hàm phân bố xác suất vi phân (Probabilty Distribution Function) PENELOPE: Penetration and energy loss of Positron and Electron P/T: Tỷ số hiệu suất đỉnh lƣợng toàn phần hiệu suất tổng Khóa luận tốt nghiệp MỞ ĐẦU Để khai thác hiệu detector bán dẫn nói riêng loại detector khác nói chung tham số nhƣ hiệu suất, hiệu suất đỉnh, đƣờng chuẩn lƣợng… thiếu Trong hiệu suất đỉnh lƣợng toàn phần đóng vai trò quan trọng việc xác định định lƣợng phép đo Tuy nhiên, việc chuẩn hiệu suất đỉnh lƣợng toàn phần dạng hình học nguồn khác lúc thuận lợi thiếu nguồn chuẩn có dạng hình học phù hợp Việc đầu tƣ chế tạo nguồn chuẩn không dễ dàng điều kiện Hơn nữa, việc chế tạo nguồn chuẩn nhiều thời gian phép đo phải đƣợc tiến hành thời gian ngắn Với khó khăn nhƣ vậy, phƣơng pháp mô giải pháp tốt, điều kiện máy tính ngày phát triển đủ mạnh cho việc mô Phƣơng pháp mô Monte Carlo ngày đƣợc sử dụng rộng rãi, đƣợc ứng dụng thành công việc giải toán vận chuyển hạt vi mô Các chƣơng trình lớn kể đến MCNP, GEANT, PENELOPE,… Việc vận hành chƣơng trình thƣờng phức tạp chƣơng trình đƣợc xây dựng cho việc mô chung tất hiệu ứng Thấy đƣợc thực trạng đó, khóa luận này, ngƣời viết sử dụng hệ mã nguồn PENELOPE để xây dựng chƣơng trình mô với mục đích chuyên biệt tính hiệu suất đỉnh lƣợng toàn phần detector Chƣơng trình đƣợc viết thêm phần giao diện giúp việc sử dụng đƣợc thuận tiện Khóa luận đƣợc chia thành chƣơng: - Chƣơng 1: Hiệu suất hệ phổ kế gamma - Chƣơng 2: Penelope, hệ mã nguồn mô Monte Carlo vận chuyển photon electron - Chƣơng 3: Chƣơng trình mô hiệu suất đỉnh lƣợng toàn phầncủa detector Cuối phần kết luận kiến nghị khóa luận Khóa luận tốt nghiệp CHƢƠNG HIỆU SUẤT HỆ PHỔ KẾ GAMMA 1.1.Hệ phổ kế gamma Để xác định hoạt độ n guồn phóng xạ gamma thời điểm , cần phải biết phổ lƣợng của chúng Khả thể phổ đặc điểm h ệ phổ kế gamma Lƣợng tử gamma không mang điện tích không gây ion hóa kích thích tr ực tiếp vào vật liệu làm đ ầu dò Vì vậy, đầu dò hoạt động nhƣ chuyển đổi trung bì nh , mà lƣợng tử gamma có xác suất tƣơng tác trung bình sinh hay nhiều electron nhanh Đồng thời, hoạt động nhƣ thiết bị ghi nhận, chuyển đổi electron nhanh thành nhƣ̃ng tí n hiệu điện Bất kỳ tƣơng tác nào đƣợc gây đ ầu dò mà tạo xung điện đ ều có biên độ tỉ lệ thuận với lƣợng tƣơng ƣ́ng với tƣơng tác đó Nhƣ̃ng xung này đƣợc tập hợp và lƣu trƣ̃ cho sƣ̣ thể hiện sau đó Cách thông thƣờng nhất để trì nh bày thông tin của xung là phân bố độ cao xung vi phân Hệ tr ục tọa độ Descartes v ới trục hoành vi phân biên độ dH, trục tung biểu thị vi phân của số đếm xung dN quan sát đƣợc với biên độ khoảng vi phân dH tƣơng ứng Đơn vị trục hoành biên độ xung, trục tung nghịch đảo biên độ xung Số xung mà biên độ nằm khoảng hai giá trị đặc biệt H H nhận đƣợc bằn g cách lấy tí ch phân của diện tí ch dƣới phân bố đƣợc giới hạn giƣ̃a chúng N H1 HH2  H2 dN H dH dH (1.1) Do tỉ lệ biên độ xung và lƣợng , biến đổi đơn vị trục hoành từ biên độ thành đơn vị lƣợng (thƣờng dù ng là KeV hoặc MeV ), trục tung thành đơn vị nghịch đảo lƣợng Phƣơng trì nh (1.1) lúc đƣợc viết lại nhƣ sau: N E1 EE  E2 dN  dE dE (1.2) E1 Khóa luận tốt nghiệp Công thức (1.2) thể hiện số photon tƣơng tác có nă ng lƣợng giƣ̃a E E Phân bố độ cao xung lúc này đƣợc gọi là phổ gamma Hình 1.1 ví dụ phân dN(E)/dE bố độ cao xung vi phân (phổ gamma) nguồn 152Eu 10 -3 10 -4 10 -5 10 -6 10 -7 10 -8 200 400 600 800 1000 1200 1400 E(KeV) Hình 1.1: Phân bố xung độ cao vi phân nguồn 152Eu.[3] 1.2 Hiệu chuẩn hệ phổ kế gamma 1.2.1 Giới thiệu Hiệu chuẩn hệ phổ kế gamma bao gồm việc chuẩn lƣợng , chuẩn độ rộng đỉnh chuẩn hiệu suất ghi Trong chuẩn lƣợng tìm mối quan hệ số kênh và lƣợng ; chuẩn độ rộng đỉnh xác định thăng giáng độ rộng đỉ nh theo lƣợng ; quan trọng chuẩn hiệu suất ghi , nghĩa tìm mối quan hệ giƣ̃a số đếm mà hệ phổ kế ghi đƣợc với tốc độ phát gamma tƣ̀ nguồn chuẩn theo hì nh học chất liệu (matrix) mẫu đo thƣ̣c tế [1], [5] 1.2.2 Chuẩn lƣợng độ rộng đỉnh Mục đích việc chuẩn lƣợng tìm mối quan hệ vị trí đỉnh (số kênh, ch) phổ lƣợng gamma tƣơng ứng Công việc này thƣờng đƣợc tiến hành trƣớc đo phổ gamma nguồn Chuẩn lƣợng đ ƣợc tiến hành bằng cách đo phổ gamma của một s ố nguồn gamma đã biết chí nh xác lƣợng , sau đó lập mối quan hệ lƣợng vị trí đỉnh (kênh, ký hiệu ch) Nguồn 152 Eu và 226Ra phù hợp tốt với quá trì nh chuẩn lƣợng Khóa luận tốt nghiệp 41 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Hồ Mạnh Dũng (2003), Nghiên cứu phát triển phương pháp K – Zero phân tích kích hoạt neutron lò phản ứng hạt nhân cho việc xác định đa nguyên tố, Luận án Tiến sĩ, Trƣờng ĐHKHTN Tp.HCM [2] Đặng Nguyên Phƣơng (2006), Khảo sát đư ờng cong hiệu suất của đầu dò HPGe chương trình MCNP, Khóa luận tốt nghiệp đại học, Trƣờng ĐHKHTN Tp.HCM [3] Trần Thiện Thanh (2007), Hiệu chỉnh trùng phùng phổ gamma dùng chương trình MCNP , Luận văn Thạc sĩ, Trƣờng ĐHKHTN Tp.HCM [4] Trần Thiện Thanh, Trƣơng Thị Hồng Loan Mai Văn Nhơn (2007), Mô phổ gamma xác định hiệu suất đỉnh lượng toàn phần đầu dò HPGe với nguồn điểm Eu-152 chương trình MCNP,Hội nghị Khoa Học Công Nghệ Hạt Nhân toàn quốc lần VII Tiếng nƣớc ngoài: [5] K Derbetin and R.G Helmer (1988), Gamma And X-Ray Spectrometry With Semiconductor Detector, Amsterdam, North-Holland, The Netherland, Elsevier [6] Pavel Dryak and Petr Kovar (2006), “Experimental and MC determination of HPGe detector efficiency in the 40–2754 keV energy range for measuring point source geometry with the source-to-detector distance of 25 cm”, Applied Radiation and Isotopes, 1346-1349 [7] H.A El-Gharbawy, S.M Metwally, T Sharshar, T Elnimr and H.M Badran (2005), “Establishment of HPGe detector efficiency for point source including true coincidence correction”, Nuclear Instruments and Methods in Physics Research A550, 201-211 Khóa luận tốt nghiệp 42 [8] M García-Talavera, H Neder, M J Daza and B Quintana (2000), “Towards a proper modeling of detector and source characteristics in Monte Carlo simulations”, Applied Radiation and Isotopes, 777-783 [9] L Moens, J De Donder, Lin Xi-lei, F De Corte, A De Wispelaere, A Simonits and J Hoste (1981), “Calculation of the absolute peak efficiency of gamma-ray detectors for different counting geometries”, Nuclear Instruments and Method, 187, 451-472 [10] E K Oase, B J B Nayrko, Y Serfor-Armah, E O Darko (1999), An empirical expression for the full energy peak efficiency of an N-type high purity germanium detector, Journal of Radioanalytical and Nuclear Chemistry, Vol 242, No (1999) 617-622 [11] Francesc Salvat, José M Fernández-Vaera, Josep Sempau (2006), PENELOPE-2006, A Code System for Monte Carlo Simulation of Electron and Photon Transport, Nuclear Energy Agency, Oganisation for Economic Cooperation and Development [12] Genie 2000 Tutorials Manual (2004), Canberra Industries, Inc Khóa luận tốt nghiệp 43 PHỤ LỤC Phụ lục 1: Kết mô cho nguồn Eu-152 Bảng P.1: Kết FEPE với nguồn Eu-152 khoảng cách 5,8cm 7,6cm 5,8cm 7,4cm Năng lƣợng (KeV) Mô Thực nghiệm Sai số(%) Mô Thực nghiệm Sai số(%) 121,78 0,01980 0,020197 2,0 0,01361 0,01371 0,7 244,70 0,01314 0,013002 1,1 0,00926 0,00917 0,9 344,28 0,00940 0,009605 2,2 0,00661 0,00668 1,1 411,12 0,00780 0,007943 1,8 0,00551 0,00552 0,2 443,97 0,00720 0,007376 2,4 0,00512 0,00517 0,9 688,67 0,00490 0,00505 3,0 0,00347 0,00360 3,8 778,91 0,00426 0,004446 4,1 0,00301 0,00313 3,7 867,38 0,00392 0,003913 0,3 0,00276 0,00277 0,3 964,08 0,00355 0,003671 3,4 0,00255 0,00259 1,3 1085,84 0,00320 0,003436 6,9 0,00229 0,00239 4,5 1089,74 0,00316 0,003479 9,1 0,00228 0,00244 6,4 1112,08 0,00314 0,003377 7,1 0,00226 0,00236 4,2 1212,95 0,00287 0,003079 6,6 0,00213 0,00214 0,5 1299,15 0,00273 0,00279 2,1 0,00198 0,00197 0,6 1408,01 0,00253 0,002658 4,8 0,00186 0,00187 0,7 Khóa luận tốt nghiệp 44 Bảng P.2:Kết FEPE với nguồn Eu-152 khoảng cách 8,9cm 10,6cm 8,9cm 10,6cm Năng lƣợng (KeV) Mô Thực nghiệm Sai số(%) Mô Thực nghiệm Sai số(%) 121,78 0,01012 0,00988 2,5 0,00754 0,00783 3,6 244,70 0,00694 0,00680 2,0 0,00524 0,00532 1,6 344,28 0,00498 0,00502 0,7 0,00378 0,00394 3,9 411,12 0,00417 0,00427 2,2 0,00319 0,00329 3,1 443,97 0,00387 0,00391 1,1 0,00293 0,00305 4,1 688,67 0,00262 0,00259 1,1 0,00200 0,00222 9,9 778,91 0,00228 0,00235 2,8 0,00175 0,00185 5,5 867,38 0,00209 0,00212 1,5 0,00157 0,00168 6,5 964,08 0,00193 0,00195 1,4 0,00145 0,00155 6,0 1085,84 0,00172 0,00180 4,4 0,00130 0,00141 7,7 1089,74 0,00173 0,00176 1,9 0,00132 0,00144 8,3 1112,08 0,00171 0,00180 4,6 0,00130 0,00140 6,7 1212,95 0,00162 0,00163 0,5 0,00119 0,00122 2,0 1299,15 0,00152 0,00150 1,7 0,00112 0,00119 5,3 1408,01 0,00140 0,00142 1,4 0,00105 0,00112 5,5 Bảng P.3: Kết FEPE với nguồn Eu-152 khoảng cách 15,3cm 24,9cm Năng lƣợng (KeV) 121,78 244,70 344,28 411,12 443,97 688,67 778,91 867,38 964,08 1085,84 1089,74 1112,08 1212,95 1299,15 1408,01 Mô 0,00391 0,00282 0,00204 0,00171 0,00160 0,00110 0,00095 0,00088 0,00079 0,00074 0,00072 0,00073 0,00068 0,00065 0,00059 15.3cm 24.9cm Thực nghiệm Sai số(%) Mô Thực nghiệm Sai số(%) 0,00406 3,8 0,00160 0,00161 0,6 0,00293 3,9 0,00118 0,00116 1,4 0,00211 3,3 0,00087 0,00087 0,2 0,00178 3,7 0,00073 0,00075 2,6 0,00164 2,4 0,00068 0,00067 1,3 0,00114 3,3 0,00047 0,00051 8,6 0,00100 4,7 0,00041 0,00042 2,4 0,00091 3,3 0,00037 0,00038 1,6 0,00083 5,2 0,00034 0,00035 1,4 0,00076 3,0 0,00032 0,00031 0,5 0,00077 7,1 0,00030 0,00032 4,7 0,00076 4,4 0,00031 0,00032 1,8 0,00069 1,2 0,00029 0,00029 0,1 0,00065 0,6 0,00027 0,00027 1,4 0,00061 3,1 0,00026 0,00026 0,2 Khóa luận tốt nghiệp 45 Phụ lục 2: Sơ lƣợc nội dung chƣơng trình mô phần FORTRAN INTEGER*4 FUNCTION simulate(enrg,matdet,enmint,enmin)RESULT(KENH) !DEC$ ATTRIBUTES DLLEXPORT :: simulate !DEC$ ATTRIBUTES STDCALL,REFERENCE,ALIAS:'simulate' :: simulate IMPLICIT DOUBLE PRECISION (A-H,O-Z), INTEGER*4 (I-N) PARAMETER (NS=50,NB=30,NX=50) INTEGER*4 MATD,LEFT,NCROSS,ICOL,matdet DOUBLE PRECISION enrg,ENDEP,ENIN,ENOUT,ENTOT,DS,DE,DSEF DOUBLE PRECISION enmint,enmin COMMON/TRACK/E,X,Y,Z,U,V,W,WGHT,KPAR,IBODY,MAT,ILB(5) PARAMETER (MAXMAT=15) PARAMETER (PI=3.1415926535897932D0, TWOPI=2.0D0*PI) COMMON/CSIMPA/EABS(3,MAXMAT),C1(MAXMAT),C2(MAXMAT), WCC(MAXMAT),WCR(MAXMAT) COMMON/RSEED/ISEED1,ISEED2 COMMON/GEOSOURCE/SX(2),SY(2),SZ(2) COMMON/LINHTINH/SQRS2,DSMAX(50) COMMON/QTREE/NBODY,MATER(NB),KMOTH(NB),KDGHT(NB,NX), KSURF(NB,NX),KFLAG(NB,NX),KSP(NS),KSLAST EXTERNAL RAND EMIN=enmin ENINT=enmint E=enrg MATD=matdet GPHI=TWOPI*RAND(1.0D0) SMUY=RAND(2.0D0) U=SQRT(4.0*SMUY*(1.0-SMUY))*COS(GPHI) V=SQRT(4.0*SMUY*(1.0-SMUY))*SIN(GPHI) W=1-2*SMUY Khóa luận tốt nghiệp 46 21 X=2*SX(2)*RAND(3.0D0) X=X-SX(2) Y=2*SY(2)*RAND(4.0D0) Y=Y-SY(2) RADIAL=X*X+Y*Y IF(RADIAL.GT.SQRS2)GOTO 21 Z=(SZ(2)-SZ(1))*RAND(6.0D0)+SZ(1) KPAR=2 C C The simulation start here C CALL LOCATE IF(MAT.EQ.0)THEN CALL STEP(1.0D30,DSEF,NCROSS) IF(MAT.EQ.0)THEN KENH=-1 RETURN ENDIF ENDIF CALL CLEANS C K defines if particle is primary particle K=1 ENIN=E ENDEP=0.0 ENOUT=0.0 14 CALL START 15 CALL JUMP(DSMAX(IBODY),DS) C Particles enter or escape from body INMAT=MAT CALL STEP(DS,DSEF,NCROSS) Khóa luận tốt nghiệp 47 IF(MAT.NE.INMAT)THEN IF(MAT.EQ.MATD)THEN ENIN=E ELSE IF(INMAT.EQ.MATD)THEN C Energy deposited in material IF(K.EQ.1)THEN ENDEP=ENIN-E ELSE ENOUT=ENOUT+E ENDIF C ENDIF ENDIF ENDIF C IF(MAT.EQ.0)THEN GOTO 16 ENDIF IF(NCROSS.GT.0) GOTO 14 CALL KNOCK(DE,ICOL) IF(E.LT.EABS(KPAR,MAT))THEN IF((K.EQ.1).AND.(MAT.EQ.MATD))THEN ENDEP=ENIN ENDIF GOTO 16 ENDIF GOTO 15 16 CONTINUE C CALL SECPAR(LEFT) IF(LEFT.GT.0)THEN Khóa luận tốt nghiệp 48 K=0 GOTO 14 C ELSE IF(K.EQ.1) THEN C KENH=-1 C RETURN ENDIF C C Obtain spectrum C ENTOT=ENDEP-ENOUT IF(ENTOT.GT.EMIN)THEN KENH=INT((ENTOT-EMIN)/ENINT+1.0) ELSE KENH=-1 RETURN ENDIF RETURN END SUBROUTINE geomsuf(pxx,pxy,pxz,pyy,pyz,pzz,px,py,pz,p0,nsuf,kpl) !DEC$ ATTRIBUTES DLLEXPORT :: geomsuf !DEC$ ATTRIBUTES STDCALL,REFERENCE,ALIAS: 'geomsuf' :: geomsuf IMPLICIT DOUBLE PRECISION (A-H,O-Z), INTEGER*4 (I-N) PARAMETER (NS=50) DOUBLE PRECISION pxx,pxy,pxz,pyy,pyz,pzz,px,py,pz,p0 INTEGER*4 nsuf INTEGER*4 kpl DIMENSION pxx(NS),pyy(NS),pzz(NS) DIMENSION pxy(NS),pxz(NS),pyz(NS) DIMENSION px(NS),py(NS),pz(NS),p0(NS) DIMENSION kpl(NS) Khóa luận tốt nghiệp 49 COMMON/QSURF/AXX(NS),AXY(NS),AXZ(NS),AYY(NS),AYZ(NS),AZZ(NS), AX(NS),AY(NS),AZ(NS),A0(NS),NSURF,KPLANE(NS) AXX=pxx AYY=pyy AZZ=pzz AXY=pxy AXZ=pxz AYZ=pyz AX=px AY=py AZ=pz A0=p0 KPLANE=kpl NSURF=nsuf RETURN END SUBROUTINE geombod(nbod,matr,kmom,kdau,ks,kflg,kp) !DEC$ ATTRIBUTES DLLEXPORT :: geombod !DEC$ ATTRIBUTES STDCALL,REFERENCE,ALIAS:'geombod' :: geombod IMPLICIT DOUBLE PRECISION (A-H,O-Z), INTEGER*4 (I-N) PARAMETER (NS=50,NB=30,NX=50) INTEGER*4 nbod,matr,kmom,kdau,ks,kflg,kp DIMENSION matr(NB),kmom(NB),kdau(NB,NX),ks(NB,NX) !DEC$ ATTRIBUTES REFERENCE::kdau !DEC$ ATTRIBUTES REFERENCE::ks DIMENSION kflg(NB,NX),kp(NS) !DEC$ ATTRIBUTES REFERENCE::kflg COMMON/QTREE/NBODY,MATER(NB),KMOTH(NB),KDGHT(NB,NX), Khóa luận tốt nghiệp 50 KSURF(NB,NX),KFLAG(NB,NX),KALIAS(NS),KSLAST NBODY=nbod MATER=matr KMOTH=kmom KDGHT=kdau KSURF=ks KFLAG=kflg KALIAS=kp RETURN END Phụ lục 3: Sơ lƣợc nội dung chƣơng trình mô phần Visual Basic.Net Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer, j As Integer, k As Integer Dim inrad As Double Dim outrad As Double Dim height As Double Dim holedeep As Double Dim inel As Double Dim outel As Double Dim inal As Double Dim outal As Double Dim althick As Double Dim alring As Double Dim alrh As Double Dim alrd As Double Dim mylthick As Double Dim kapthick As Double Dim windthick As Double Dim sourcedia As Double Dim sourcehei As Double Dim sourcehld As Double Dim sourcehlt As Double Dim sourcedst As Double Dim surfindex() As Integer For i = To 30 - bodindex(i) = Next i For i = To 50 - surfexist(i) = Next i inrad = dktrong.Text inrad = inrad / outrad = dkngoai.Text Khóa luận tốt nghiệp 51 outrad = outrad / height = chcao.Text holedeep = dosaulo.Text inel = diencuctrong.Text outel = diencucngoai.Text inal = lopaltrong.Text outal = lopalngoai.Text alring = vongal.Text alrh = docaovong.Text alrd = kcvong.Text althick = bedayal.Text mylthick = mylar.Text kapthick = kapton.Text windthick = cuaso.Text sourcedia = dknguon.Text sourcehei = docaonguon.Text sourcehld = dkvo.Text sourcehlt = bedayvo.Text sourcedst = kcnguon.Text Call geominit() surfexist(1) = surface(1, 1, (inrad - inel)) surfexist(2) = surface(2, 1, inrad) surfexist(3) = surface(3, 1, (outrad - outel)) surfexist(4) = surface(4, 1, outrad) surfexist(5) = surface(5, 1, (outrad + inal)) surfexist(6) = surface(6, 1, (outrad + inal + alring)) surfexist(7) = surface(7, 1, (outal + outrad + inal + alring)) surfexist(8) = surface(8, 1, (outal + outrad + inal + alring + althick)) surfexist(9) = surface(9, 2, -0.7) surfexist(10) = surface(10, 2, -1.02) surfexist(11) = surface(11, 2, -15.7) surfexist(12) = surface(12, 3, 0) surfexist(13) = surface(13, 2, height - alrh / - alrd - alrh alrd - alrh) surfexist(14) = surface(14, 2, holedeep) surfexist(15) = surface(15, 2, height - alrh / - alrd - alrh alrd) surfexist(16) = surface(16, 2, height - alrh / - alrd - alrh) surfexist(17) = surface(17, 2, height - alrh / - alrd) surfexist(18) = surface(18, 2, height - alrh / 2) surfexist(19) = surface(19, 2, height) surfexist(20) = surface(20, 2, height - outel) surfexist(21) = surface(21, 2, height + outal) surfexist(22) = surface(22, 2, height + outal + althick) surfexist(23) = surface(23, 2, holedeep + inel) surfexist(24) = surface(24, 2, -15.55) surfexist(25) = surface(25, 2, height + mylthick) surfexist(26) = surface(26, 2, height + mylthick + kapthick) surfexist(27) = surface(27, 2, height + outal + althick windthick) surfexist(28) = surface(28, 1, sourcedia / 2) sxa(0) = sourcedia / sxa(1) = sxa(0) surfexist(29) = surface(29, 1, sourcehld / 2) sya(0) = sourcedia / sya(1) = sya(0) Khóa luận tốt nghiệp 52 surfexist(30) = surface(30, 2, height + outal + althick + sourcedst) sza(0) = height + outal + althick + sourcedst + (sourcehlt sourcehei) / surfexist(31) = surface(31, 2, height + outal + althick + sourcedst + (sourcehlt - sourcehei) / 2) surfexist(32) = surface(32, 2, height + outal + althick + sourcedst + (sourcehlt - sourcehei) / + sourcehei) sza(1) = height + outal + althick + sourcedst + (sourcehlt sourcehei) / + sourcehei surfexist(33) = surface(33, 2, height + outal + althick + sourcedst + sourcehlt) pxx(34) = pyy(34) = pzz(34) = p0(34) = -100000000000000.0 kp(34) = 33 surfexist(34) = nsuf = 34 ReDim surfindex(nsuf + 1) For i = To nsuf surfindex(i) = i Next i 'rearrange surfaces k = nsuf For i = To nsuf If (kp(i) = 0) Then For j = i + To nsuf pxx(j - 1) = pxx(j) pz(j - 1) = pz(j) p0(j - 1) = p0(j) kpl(j - 1) = kpl(j) surfindex(j) = j - Next j surfindex(i) = 'the old surface no longer exists k = k - 'number of surface decreases kp(i) = i 'now the new surface appears End If Next i nsuf = k pyy = pxx Call geomsuf(pxx(1), pxy(1), pxz(1), pyy(1), pyz(1), pzz(1), px(1), py(1), pz(1), p0(1), nsuf, kpl(1)) 'body 1: hole bodindex(0) = cyld_bod(0, 0, surfindex(1), surfindex(14), surfindex(11), 0) 'module include body 1: inner electrode 'material index of inner electrode is mattype(0, 0) = vatlieu1.SelectedIndex + mattype(0, 1) = bodindex(1) = cyld_mod(1, 1, surfindex(2), surfindex(12), surfindex(23)) Call add_dau(1, 0) 'TextBox1.Text = kdau(1, 0) 'module include module 2: crystal 'material index of crystal is Khóa luận tốt nghiệp 53 mattype(1, 0) = vatlieu2.SelectedIndex + mattype(1, 1) = bodindex(2) = cyld_mod(2, 2, surfindex(3), surfindex(12), surfindex(20)) Call add_dau(2, 1) 'module include module 3: outer electrode 'materal index of outer electrode is mattype(2, 0) = vatlieu3.SelectedIndex + mattype(2, 1) = bodindex(3) = cyld_mod(3, 3, surfindex(4), surfindex(12), surfindex(19)) Call add_dau(3, 2) 'body 5: space under crystal bodindex(4) = cyld_bod(4, 0, surfindex(4), surfindex(12), surfindex(9), 0) 'module include module 4, module 5: detector holder 'material index of detector holder is mattype(3, 0) = vatlieu4.SelectedIndex + mattype(3, 1) = bodindex(5) = cyld_mod(5, 4, surfindex(5), surfindex(10), surfindex(19)) Call add_dau(5, 3, 4) 'body 7: 1st holder ring 'material index of ring mattype(4, 0) = vatlieu5.SelectedIndex + mattype(4, 1) = bodindex(6) = cyld_bod(6, surfindex(5), surfindex(6), surfindex(19), surfindex(18), 5) 'body 8: 2nd alluminum ring bodindex(7) = cyld_bod(7, surfindex(5), surfindex(6), surfindex(17), surfindex(16), 5) mattype(5, 0) = vatlieu5.SelectedIndex + mattype(5, 1) = 'body 9: 3rd alluminum ring mattype(6, 0) = vatlieu5.SelectedIndex + mattype(6, 1) = bodindex(8) = cyld_bod(8, surfindex(5), surfindex(6), surfindex(15), surfindex(13), 5) 'body 10: mylar foil 'mylar material index is mattype(7, 0) = vatlieu6.SelectedIndex + mattype(7, 1) = bodindex(9) = cyld_bod(9, 0, surfindex(4), surfindex(24), surfindex(19), 6) 'body 11: kapton 'kapton material index is mattype(8, 0) = vatlieu7.SelectedIndex + mattype(8, 1) = 10 bodindex(10) = cyld_bod(10, 0, surfindex(4), surfindex(26), surfindex(25), 7) 'module 12 include module 5, body 6,7,8,9,10: space beetween det and cup bodindex(11) = cyld_mod(11, 0, surfindex(7), surfindex(24), surfindex(21)) Call add_dau(11, 5, 6, 7, 8, 9, 10) 'body 13: space in window bodindex(12) = cyld_bod(12, 0, surfindex(4), surfindex(27), surfindex(21), 0) Khóa luận tốt nghiệp 54 'body 14: window 'material index of window mattype(9, 0) = vatlieu8.SelectedIndex + mattype(9, 1) = 13 bodindex(13) = cyld_bod(13, 0, surfindex(4), surfindex(22), surfindex(27), 8) 'module 15: alluminum cup 'material index of outer shield mattype(10, 0) = vatlieu9.SelectedIndex + mattype(10, 1) = 14 bodindex(14) = cyld_mod(14, 9, surfindex(8), surfindex(11), surfindex(22)) Call add_dau(14, 11, 12, 13) 'body 16: source 'material index of source mattype(11, 0) = vatlieu10.SelectedIndex + mattype(11, 1) = 15 bodindex(15) = cyld_bod(15, 0, surfindex(28), surfindex(32), surfindex(31), 10) 'module 17: source holder 'material index of source holder is 11 mattype(12, 0) = vatlieu11.SelectedIndex + mattype(12, 1) = 16 bodindex(16) = cyld_mod(16, 11, surfindex(29), surfindex(30), surfindex(33)) Call add_dau(16, 15) 'module 18: enclosure Call enclosure(17, surfindex(33)) bodindex(17) = Call add_dau(17, 14, 16) 'number of body nbod = 18 'rearrange kp(i) For i = To 50 If (kp(i) = 0) Then For j = i + To 50 kp(j - 1) = kp(j) Next j End If Next i 'rearrange the material index For i = 12 To Step -1 If (mattype(i, 0) = 0) Then For j = i + To 12 matr(mattype(j, 1)) = matr(mattype(j - 1, 1)) mattype(j - 1, 1) = mattype(j, 1) mattype(j - 1, 0) = mattype(j, 0) Next j matr(mattype(i, 1)) = mattype(12, 0) = mattype(12, 1) = End If For j = i - To Step -1 If (mattype(j, 0) = mattype(i, 0)) Then matr(mattype(i, 1)) = matr(mattype(j, 1)) For k = i + To 12 mattype(k - 1, 0) = mattype(k, 0) Khóa luận tốt nghiệp 55 mattype(k - 1, 1) = mattype(k, 1) Next k End If Next j Next i nomat = For i = To 12 If (mattype(i, 0) 0) Then nomat = nomat + End If Next i If (nomat > 1) Then matdet = Else : matdet = End If Call sendparam() Dim testarray(10, 10) As Integer For i = To For j = To testarray(i, j) = i + j Next j Next i Dim testarraytemp(100) As Integer Dim testtemp(10) As Integer For i = To testtemp(i) = testarray(3, i) For j = To testarraytemp(i * (9 + 1) + j) = testarray(i, j) Next j Next i vatlieubt.Enabled = True Call geomtest(bodindex(0), surfexist(0), testarraytemp(0), testtemp(0)) 'TextBox1.Text = sxa(0) 'Erase bodindex, surfexist, testarraytemp, testtemp 'Erase pxx, pxy, pxz, pyy, pyz, pzz, px, py, pz, p0 'Erase matr, kmom, kdau, ks, kflg, kp 'Erase surfindex End Sub Khóa luận tốt nghiệp [...]... trình VISUAL BASIC.NET Chƣơng trình mô phỏng detector bán dẫn và tính hiệu suất đỉnh năng lƣợng toàn phần của detector Chƣơng trình đƣợc có thể mô phỏng trong khoảng năng lƣợng từ vài trăm eV đến 1 GeV và có mô phỏng cho cả ba hạt electron, photon, và positron Bƣớc đầu, chƣơng trình chỉ mô phỏng cho nguồn có dạng trụ 3.2 Chƣơng trình mô phỏng hiệu suất đỉnh Chƣơng trình đƣợc viết thành hai phần : phần. .. hình 3.3 và 3.4 Hình 3.3: Giao diện chƣơng trình mô phỏng hiệu suất đỉnh detector phần tab detector Khóa luận tốt nghiệp 32 Hình 3.4: Giao diện chƣơng trình mô phỏng hiệu suất đỉnh detector phần tab mô phỏng 3.3 Các kết quả chạy mô phỏng Để kiểm tra độ tin cậy của chƣơng trình, tác giả đã chạy mô phỏng cho detector bán dẫn Germanium siêu tinh khiết (HPGe) ở bộ môn Vật lý Hạt nhân – Trƣờng Đại học Khoa... Co-60(1332.49) xây dựng đƣờng cong hiệu suất đỉnh năng lƣợng toàn phần bằng thực nghiệm 0 Đồng vị Hình 1.2: Nguồn phóng xạ thƣờng dùng trong việc xây dựng đƣờng conghiệu suất đỉnh năng lƣợng toàn phần bằng thực nghiệm Khóa luận tốt nghiệp 13 Trong thực nghiệm hiệu suất đỉnh năng lƣợng toàn phần đƣợc xác định bởi: Np  E   E  AI   E  t P (1.10) Với p , N p , A, I  , t lần lƣợt là hiệu suất đỉ nh năng. .. Sau đó áp dụng nguyên lý của Moens [9] để hiệu chỉnh hình học đo của nguồn và đầu dò, từ đó xây dựng đƣờng cong hiệu suất tại vị trí cần xác định - Trong phƣơng pháp mô phỏng, hiệu suất đỉnh năng lƣợng toàn phần mô phỏng đƣợc định nghĩa là số gamma tại đỉnh năng lƣợng toàn phần chia cho số gamma phát ra từ nguồn [6], [8] p  Npeak Nemit (1.11) Hiệu suất của mô t gamma có năng lƣợng xác đị nh... tí nh cả hiệu suất đỉnh năng lƣợng toàn phần εp và tỉ số đỉnh năng lƣợng toàn phần trên tổng εp/εt 1.4 Nhận xét Trong chƣơng một các khái niệm cơ bản của phổ kế gamma cũng nhƣ việc thu nhận phổ, một số khái niệm cơ bản của hiệu suất, những khó khăn của phƣơng pháp thực nghiệm trong quá trình xác định hiệu suất đã đƣợc trình bày Có nhiều hệ số có thể đóng góp vào sai số của chuẩn hoá hiệu suất, một... lượng ban đầu có Vật thể ban đầu = vật thể detector không Hạt photon? có Năng lượng giữ lại = năng lượng ban đầu – năng lượng hạt Năng lượng mất đi = năng lượng ban đầu – năng lượng hạt Năng lượng để lại = năng lượng giữ lại – năng lượng mất đi Kết thúc Hình 3.2: Sơ đồ khối thuật toán tính năng lƣợng để lại trong detector Khóa luận tốt nghiệp 31 3.2.2 Giao diện Phần giao diện đƣợc viết bằng ngôn ngữ VISUAL... sau quá trình SUBROUTINE STORE(E,X,Y,Z,U,V,W,WGHT,KPAR,IBL)… Lƣu trữ trạng thái một hạt thứ cấp tạo ra trong quá trình Các tham số có ý nghĩa tƣơng tự nhƣ trong khối COMMON/TRACK/ Khóa luận tốt nghiệp 27 CHƢƠNG 3 CHƢƠNG TRÌNH MÔ PHỎNG HIỆU SUẤT ĐỈNH NĂNG LƢỢNG DETECTOR 3.1 Sơ lƣợc về chƣơng trình mô phỏng hiệu suất đỉnh của detector Chƣơng trình mô phỏng đƣợc viết bằng ngôn ngữ FORTRAN, phần giao... viết bằng ngôn ngữ FORTRAN là phần chính mô phỏng các quá trình vận chuyển của các hạt ; phần giao diện ngƣời dùng nhập các thông số về kích thƣớc, năng lƣợng 3.2.1 Mô phỏng tƣơng tác Phần mô phỏng gọi các hàm của PENELOPE để tiến hành quá trình vận chuyển của hạt Sơ đồ khối chung của chƣơng trình đƣợc cho trong hình 3.1 Để mô phỏng chính xác dạng hình học và cách phát hạt của nguồn, cần viết thêm các... positron đƣợc mô phỏng bằng cách gọi các chƣơng trình con tƣơng tự nhau Vì vậy, dựa trên hệ mã nguồn này, rất thuận lợi để tác giả phát triển một chƣơng trình mô phỏng hiệu suất của detector [11] 2.2 Một số khái niệm cơ bản của mô phỏng Monte-Carlo 2.2.1 Các phƣơng pháp lấy mẫu ngẫu nhiên Thành phần đầu tiên của sự tính toán Monte-Carlo là lấy mẫu số học của những biến ngẫu nhiên với một phân bố xác suất (PDF)... j=0 Với aij là hệ số của đa thức, m là bậc của đa thức Các hệ số này cũng có thể nhận đƣợc bằng cách khớp ai(z) và z theo phƣơng trình (1.13) Kết hợp hai phƣơng trình (1.12) và (1.13), ta nhận đƣợc phƣơng trình tổng quát cho hiệu suất đỉnh năng lƣợng toàn phần [10]: n m ln()   a ij z j (ln(E))i (1.14) i=0 j=0 Vì vậy, biết đƣợc các hằng số aij, hiệu suất đỉnh năng lƣợng toàn phần ε có thể tính đƣợc ... 10,4 1,149 3,9 Khúa lun tt nghip 36 -1 Hiệu suất 10 10 -2 Hiệu suất ch-a hiệu chỉnh trùng phùng Hiệu suất sau hiệu chỉnh trùng phùng Hiệu suất làm khớp mô 100 Năng l-ợng (KeV) 1000 Hỡnh 3.7: FEPE... 0,00122(1) 13,6 Khúa lun tt nghip 37 -2 Hiệu suất 10 Hiệu suất mô Hiệu suất DETEFF Hiệu suất thực nghiệm Hiệu suất thực nghiệm làm khớp -3 10 100 1000 Năng l-ợng (KeV) Hỡnh 3.8: So sỏnh kt qu... li detector 30 Hỡnh 3.3: Giao din chng trỡnh mụ phng hiu sut nh nng lng ton phn ca detector phn tab detector 31 Hỡnh 3.4: Giao din chng trỡnh mụ phng hiu sut nh nng lng ton phn ca detector

Ngày đăng: 22/04/2016, 21:50

Từ khóa liên quan

Mục lục

  • bia.pdf

  • khoa luan tot nghiep(4).pdf

Tài liệu cùng người dùng

Tài liệu liên quan