TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN VẬT LÝ KỸ THUẬT BÁO CÁO BÀI TẬP LỚN MÔN PHƯƠNG PHÁP MONTE CARLO ỨNG DỤNG TRONG KỸ THUẬT HẠT NHÂN GIÁO VIÊN HƯỚNG DẪN ThS TRƯƠNG MINH ANH NHÓM 3 SINH VIÊN THỰC HIỆN.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN VẬT LÝ KỸ THUẬT - - BÁO CÁO BÀI TẬP LỚN MÔN PHƯƠNG PHÁP MONTE CARLO ỨNG DỤNG TRONG KỸ THUẬT HẠT NHÂN GIÁO VIÊN HƯỚNG DẪN : ThS.TRƯƠNG MINH ANH NHÓM SINH VIÊN THỰC HIỆN : NGUYỄN KHƯƠNG : DUY LÊ ĐỨC ANH : 20160769 ĐINH THẾ TÌNH : 20164093 BÙI THỊ MỸ NGỌC : 20162933 TRẦN THU TRANG : 20164188 20150062 Hà Nội, tháng 4, năm 2020 MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG CHƯƠNG I GIẢI THÍCH CÁC VÍ DỤ 3.2, 3.3 3.4 1.1 Giải thích ví dụ 3.2 tự làm yếu nguồn tia gamma hình cầu 1.1.1 Các phương trình sử dụng để giải tốn ví dụ 1.1.2 Lý thuyết để giải toán 1.1.3 Giải thích chương trình fortran để giải tốn ví dụ 3.2 1.1.4 Thay số liệu vào chương trình kết 1.2 Giải thích ví dụ 3.3 Dịng notron vào lớp che chắn dạng phẳng 10 1.2.1 Các phương trình sử dụng giải tốn ví dụ 3.3 10 1.2.2 Lý thuyết để giải toán 11 1.2.3 Giải thích chương trình fortran để giải tốn ví dụ 3.3 .13 1.2.4 Thay số liệu vào chương trình kết chạy chương trình 18 1.3 Giải thích ví dụ 3.4 khoảng cách trung bình đến va chạm .18 1.3.1 Các phương trình sử dụng tốn 18 1.3.2 Lý thuyết để giải toán 19 1.3.3 Giải thích chương trình fortran để giải tốn ví dụ 3.4 .20 1.3.4 Thay số liệu vào chương trình kết chạy chương trình 22 CHƯƠNG II MỘT SỐ CHƯƠNG TRÌNH CON VÀ HÀM TÍNH TỐN ĐƯỢC ĐỂ CẬP TRONG CÁC VÍ DỤ 23 CHƯƠNG III CHƯƠNG TRÌNH HỒN THIỆN 25 3.1 Chương trình giải tốn ví dụ 3.2 25 3.2 Chương trình giải tốn ví dụ 3.3 27 3.3 Chương trình giải tốn ví dụ 3.4 30 DANH MỤC HÌNH ẢNH Hình 1 Tọa độ theo cosin Hình Kết ví dụ 3.2 chạy chương trình 10 Hình Kết chạy chương trình fortran ví dụ 3.3 .18 Hình Kết chạy chương trình ví dụ 3.4 22 DANH MỤC BẢNG Bảng 1 Tỷ số xạ gamma thoát từ nguồn tự chắn .10 Bảng Kết tính tốn trực tiếp gián tiếp quãng bay trung bình 23 CHƯƠNG I GIẢI THÍCH CÁC VÍ DỤ 3.2, 3.3 3.4 1.1 Giải thích ví dụ 3.2 tự làm yếu nguồn tia gamma hình cầu 1.1.1 Các phương trình sử dụng để giải tốn ví dụ Phương trình 2.14, qng chạy hạt đến va trạm: x= −1 ln (ξ) Σt (2.14) Phân bố vị trí x khoảng (0;+∞ ), ξ khảng Phương trình 2.18, bán kính R hình cầu số ngẫu nhiên ξ (2.18) R=√3 ξ ξ : số ngẫu nhiên nằm khoảng Phương trình 3.16: r =r O + sΩ (3.16) r: vị trí sau va trạm rO: vị trí trước va trạm Ω : Hướng 1.1.2 Lý thuyết để giải toán Một toán thực tế vận chuyển tia gamma tự che chắn nguồn xạ gamma có phân bố thể tích Vấn đề mấu chốt tốn xác định phần xạ gamma sinh phân rã phóng xạ nguồn mà khơng va chạm Mọi tia gamma ma có phản ứng với vật liệu nguồn (hầu hết) thay đổi lượng Do số tia gamma không va chạm thoát ra, phần tổng số xạ gamma phát từ nguồn, quan trọng việc xác định đại lượng cường độ tương đối tia gamma với lượng khác nhau, hiệu suất tuyệt đối detector, hoạt độ tổng cộng nguồn Case, de Hoffmann Plazek cho thấy rằng, nguồn cầu, đồng vị, đồng có bán kính R với hệ số làm yếu gamma (hay, cách tương đương, tiết diện vĩ mô tổng cộng) μ cm–1, tỷ số số gamma khơng va chạm tổng số gamma sinh vật liệu nguồn là: [ ( ) J 1 = ( μR )2− + μR+ e−2 μR J O (μR) 2 ] (3.37) Kỹ thuật tính tốn phương pháp Monte Carlo sử dụng để chứng minh kết mơ hình hóa chất hấp thụ nghèo Đối với vấn đề này, vị trí hạt khởi đầu phân bố thể tích cầu Phương trình 2.18 cung cấp đánh giá cho việc chọn lựa bán kính r thể tích cầu Hướng mà xạ gamma phát ngẫu nhiên, mơ hình tán xạ đẳng hướng phịng thí nghiệm ví dụ 3.1 Do lấy đoạn code mà thực ví dụ trước xây dựng chương trình riêng biệt để xác định J/J0 Để xác định số lượng tia gamma thoát khỏi thể tích nguồn khơng va chạm cần ghi nhận tất bước ngẫu nhiên mà với quãng bay tạo nên điểm va chạm bên ngồi thể tích nguồn Đối với gamma nguồn sinh với hướng ban đầu ngẫu nhiên điểm r0, quãng bay xác định phương trình 2.14, dễ dàng đạt cách tìm điểm va chạm ảo điểm r từ phương trình 3.16 Trong s khoảng cách va trạm sau va trước va trạm, r vị trí sau va trạm, r vị trí trước va trạm, Ω hướng Nếu bán kính cầu R nhỏ so với |r|, hạt ngồi mà khơng va chạm Ngược lại hạt có tương tác với vật liệu nguồn Do tính đối xứng, vị trí hạt khởi đầu bề mặt cầu có bán kính r xác định phương trình 2.18 điểm bề mặt Để thuận tiện chọn địa điểm gốc tọa độ tâm nguồn hình cầu khởi đầu hạt theo trục +Z Khi chọn vị trí khởi đầu cần thiết chọn lựa hướng khởi đầu ngẫu nhiên Sử dụng phương pháp miêu tả Ví dụ 3.1, thu nhận cosine hướng vector ngẫu nhiên đặt điểm z trục Z Do tính đối xứng, góc phương vị cần chọn cách khơng ngẫu nhiên Thay điều chọn theo cách thuận tiện Chúng ta chọn đặt góc phương vị φ = Như chọn lựa hướng khởi đầu ngẫu nhiên đơn giản hố thành việc tính tốn vector U=sinθ V=0 W=cosθ Trong θ góc độc cực vết đường bay (xem hình 1.1) Hình 1 Tọa độ theo cosin 1.1.3 Giải thích chương trình fortran để giải tốn ví dụ 3.2 Bảng 3.4: Chương trình cho suy giảm gamma ( đơn giản hiểu chương trình dùng để tính xem hạt ngồi nguồn hình cầu hay chưa cách so sánh vị trí hạt va chạm với bán kính nguồn cách sử dụng vịng lặp Tiếp theo tính xác suất hạt ngồi ! Code giải thích viết sau dấu chấm than ‘!’ ! Tự che chắn nguồn hình cầu ! Kích thước theo đơn vị đường dẫn tự trung bình ! NMAX= Số hạt bắt đầu DOUBLE PRECISION fltrn ! Khai báo fltrn số thực độ xác kép kiểu thực WRITE(*,*) New_case_Loop: DO !In hình, cách xuống dịng !Vịng lặp chấm dứt NMAX=0 WRITE(*,’(lX,A\)’)’ Enter number of start particles’ ! In ’ Enter number of start particles’ hình, cho người chạy code biết vị trí nhập số READ(*,*) NMAX ! Nhập NMAX số lượng hạt IF ( NMAX.LE.0) EXIT New_case_Loop ! Nếu NMAX nhỏ vịng lặp New_case_Loop kết thúc WRITE(*, ‘(1x,a\)’) ‘ Enter sphere radius in mfp’ !In hình ‘ Enter sphere radius in mfp’, ‘Nhập bán kính hình cầu mfp’ READ(*,*) r; rsq=r*r !Nhập r bán kín hình cầu rsq bình phương bán kính r WRITE(*,’(1X,A\)’) ‘Enter start random number seed’ !In hình ‘Enter start random number seed’, ‘ nhập số hạt giống cho số ngẫu nhiên bắt đầu’ READ (*,*) ISEED !Nhập ISEED hạt giống số ngẫu nhiên CALL rndin(ISEED) !Gọi chương trình rndin, để đặt số ngẫu nhiên bắt đầu nr=0 !Gán giá trị mặc định nr=0, tránh lỗi chạy code DO 300 n=1, NMAX ! Vòng lặp DO 300, Bắt đầu theo dõi hạt - vòng lặp hạt từ đến NMAX z= r*fltrn()**0.33333333 !Chọn đồng từ hình cầu Đây biểu thức thu bán kính hình cầu từ số ngẫu nhiên tính theo phương trình (2.18) : r =√3 ξ , ! Hàm fltrn() ξ số ngẫu nhiên nằm khoảng (0,1) costh = 2.*fltrn() -1 ! Thành phần theo trục z ( Hàm fltrn() nằm [ 0;1] costh nằm khoảng [-1;1] ) sinth = SQRT(1 -costh*costh) ! cos2 θ + sin2θ =1 nên sinθ = √ – cos2 θ d = -DLOG(fltrn()) !d: khoảng cách va chạm !DLOG hàm log số 10 số thực zc = z+d*costh ! Khoảng cách va chạm theo trục z xc = d*sinth ! Khoảng cách va chạm vng góc với trục z rcsq = xc*xc + zc*zc ! Bình phương bán kính điểm đến va chạm IF(rcsq GT rsq) nr = nr+1 ! rcsq bình phương khoảng cách từ tâm nguồn hình cầu đến điểm va chạm, !rsq bình phương bán kính cầu: rcsq > rsq có nghĩa điểm va chạm ! hạt nằm bán kính nguồn hay hạt khỏi nguồn hình cầu !Khi , đếm hạt nr thêm 300 CONTINUE Prob = FLOAT(nr)/FLOAT(nmax) ! Tính xác suất hạt thoát dự kiến StDev = SQRT(prob-prob**2)/SQRT(FLOAT(nmax)) ! Độ lệch chuẩn so với phương trình để ước tính giá trị trung bình phân phối nhị thức, cơng thức chứng minh phần 3.3 WRITE (0,13) nr, prob, StDev !Ở dòng code WRITE(0,13) sử dụng sai !Do khơng có khai báo vị trí file để ghi vào !Nên sử dụng WRITE(*,13) chạy chương trình code hoạt động 13 FORMAT(‘ Particles escaping =’,I9,’,probability of escape =’,f11.4,& /,’standard deviation =’,f12.5) !I9 : in số nguyên có độ rộng trường 9, vị trí in nr !f11.4 : In số thực có độ rộng trường 11 lấy chữ số sau dấu phẩy, vị trí in prob !f12.5: In số thực có độ rộng trường 12 lấy số sau dấu phẩy, vị trí in StDev END DO New_Case_Loop STOP; END 1.1.4 Thay số liệu vào chương trình kết Theo mơ hình trên, chương trình Fortran để tính tốn J/J0 thể Chương trình bảng 3.4 Chương trình cho phép người sử dụng đặt bán kính vùng nguồn μR theo mfp Nó cho phép người sử dụng đặt số hạt khởi đầu gieo số ngẫu nhiên khởi đầu Sử dụng 106 hạt khởi đầu giá trị bán kính ngồn chọn, seed=1 , xác suất hạt nguồn thoát cho bảng 3.5 sau Kết so sánh với kết từ phương trình 3.37 Các kết có phù hợp tuyệt vời Hình Kết ví dụ 3.2 chạy chương trình Bảng 1 Tỷ số xạ gamma từ nguồn tự chắn Bán kính nguồn (mfp) Monte Carlo Phương trình 3.37 0,5269 ± 0,00050 0,5273 0,3322 ± 0,00047 0,3324 0,1417 ± 0,00035 0,1470 1.2 Giải thích ví dụ 3.3 Dịng notron vào lớp che chắn dạng phẳng 1.2.1 Các phương trình sử dụng giải tốn ví dụ 3.3 Đầu tiên cần tìm độ lệch chuẩn cho giá trị phân phối nhị thức: 10 Nếu vị trí hạt ZC >Z2 hạt xun qua phẳng Nếu vị trí hạt khơng qua phẳng ( ZC>Z2) có nghĩa hạt bị hấp thụ 1.2.4 Thay số liệu vào chương trình kết chạy chương trình Hình Kết chạy chương trình fortran ví dụ 3.3 Chạy chương trình với số hạt bắt đầu 104 hạt, seed=1, chương trình cho kết quả: -Hạt notron xuyên qua: 1256± 33 hạt -Hạt notron phản xạ : 5176 ± 50 hạt -Hạt notron hấp thụ :3568 ± 48 hạt Xác xuất notron: -Xác suất notron xuyên qua : 0.126±0.003 -Xác xuất notron phản xạ: 0.518±0.005 Do xác xuất xuyên qua phẳng không sảy va chạm ta tính 0.05, ta thấy có khoảng 40% hạt notron theo tính tốn phương pháp Monte Carlo khơng va chạm 1.3 Giải thích ví dụ 3.4 khoảng cách trung bình đến va chạm 1.3.1 Các phương trình sử dụng tốn Phương trình 3.4, Sử dụng hàm phân bố ngũ tính số hạt notron giảm va trạm: n ( x )=n ( ) e− Σ x t (3.4) 18 Điều có nghĩa số lượng neutron dự kiến di chuyển khoảng cách x va chạm giảm theo cấp số nhân tăng x n(0): số notron ban đầu n(x): số notron đến vị trí x Phương trình 2.14, qng chạy tự hạt từ vị trí xét đến vị trí va trạm: x= −1 ln (ξ) Σt (2.14) Phân bố vị trí x khoảng (0;+∞ ), ξ khảng 1.3.2 Lý thuyết để giải toán Khảo sát phẳng đồng bán hữu hạn có tiết diện tồn phần Σ t Một chùm notron di chuyển dọc theo trục Z, hướng theo chiều dương trục Z vng góc với phẳng Chúng ta mong muốn xác định khoảng cách trung bình đến va chạm notron này, sử dụng hai phương pháp khác để xác định Cách thứ nhất, sử dụng trực tiếp mơ hình hóa phân bố mũ phương trình 3.4 phương trình 2.14 Ta : z= −1 ln ¿ ξ ¿ Σt (3.43) Trong ξ số ngẫu nhiễn thuộc khoảng Cách thứ hai, sử dụng chế mơ hình hóa lặp mà tính tốn lại chiều dài quãng bay hạt qua điểm z bội số 0,1/ Σt , z khoảng cách từ bề mặt phẳng mà các notron va trạm Trong trường hợp thứ hai này, tưởng tượng loạt mặt phẳng nhau, mặt phẳng chúng song song Khi hạt xuyên qua mặt phẳng xóa bỏ quãng bay cũ hạt mặt phẳng trước tính quãng bay hạt Đối với trường hợp này, phải xác định khoảng cách tổng cộng từ va chạm cách thêm khúc đường quãng bay nhỏ 0.1/ Σ t vị trí hạt va trạm Khi đó, va chạm diễn trước tới mặt phẳng tưởng tượng quãng bay bị chấm dứt Một chương trình Fortran để tính tốn khoảng cách trung bình từ va trạm sử dụng tính tốn theo hai phương pháp trình bày code bảng 3.9 Tiết diện vĩ mô giả thiết đơn vị, Σ t =1 19 Ở phần đầu chương trình giá trị z chọn theo phương trình 3.43 giá trị trung bình để thu đánh giá với λ Trong phần cách thứ hai chương trình giá trị z chọn lựa lấy tổng đoạn 0.1/ Σ t giá trị ξ chọn lớn e -0.1≈ 0.9048 chọn tức hạt dừng lại, cụ thể với −ln (ξ)/Σ t quãng chạy hạt lớp khơng gian có độ dày 0.1¿ Σt , quãng bay hạt dừng lại quãng bay nhỏ 0.1¿ Σt tức −ln (ξ)/Σ t e−0.1 qng bay dừng lại va trạm Khi đó, quãng bay nhỏ 0.1/ Σt tìm thấy Do đó, có n số ngẫu nhiên nhỏ 0.9048 tạo trước ξ chọn lớn giá trị 0.9048, ta tính tổng khoảng cách quãng bay mfp hạt λ=0.1 n+ (−lnξ ) / Σ t 1.3.3 Giải thích chương trình fortran để giải tốn ví dụ 3.4 Bảng 3.9 Chương trình fortran tính qng chạy tự trung bình ! Tính qng chạy trung bình sử dụng đơn vị tiết diện mặt cắt ngang ! Bằng phương pháp trực tiếp gián tiếp DOUBLE PRECISION rnd,fltrn,X,Y !Lệch khai báo biến thực có độ xác kép thuộc kiểu số thức WRITE(*,'(1X,A\)')'seed ' !In ‘seed’ hình READ(*,*)iseed !Gán giá trị iseed CALL rndin (iseed) !Gọi chương trình con, chức cài lại số ngẫu nhiên bắt đầu iseed, Loop:DO !Vòng lặp Loop, tác dụng để ta quay lại vịng lặp để tính tốn lại với NMAX hạt mà ta không cần phải chạy lại chương trình để chạy lại từ đầu WRITE(*,'(1X,A\)')'Enter Number of Start Particles: ' !In hình dịng ’’ READ(*,*)NMAX !Nhập NMAX số hạt bắt đầu IF (NMAX.EQ.0) STOP !Nếu NMAX=0 dừng vịng lặp Loop X=0.0D0 20