You are on page 1of 8

Những câu hỏi thường gặp trong mô phỏng vận chuyển hạt

bằng phương pháp Monte Carlo
Đặng Nguyên Phương
dnphuong1984@gmail.com
Ngày 5 tháng 5 năm 2014
Danh sách câu hỏi
Câu hỏi chung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Những chương trình nào được dùng để mô phỏng vận chuyển hạt bằng phương pháp Monte Carlo? . . . . . . . 2
Số lịch sử hạt là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Trong mô phỏng phổ gamma, vì sao chương trình thường hay chuẩn xác suất phát về 1? . . . . . . . . . . . . . . 3
Vì sao kết quả mô phỏng thường hay được chuẩn về dạng xác suất (tính trên 1 hạt nguồn)? . . . . . . . . . . . . 3
Khi mô phỏng phổ gamma đa năng (có nhiều đỉnh năng lượng), làm thế nào để chuyển đổi giữa kết quả mô
phỏng và thực nghiệm? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Trong trường hợp có bỏ qua một số đỉnh năng lượng do nằm ngoài ngưỡng đo của detector, phải tính xác suất
phát như thế nào để chuyển đổi qua lại giữa mô phỏng và thực nghiệm? . . . . . . . . . . . . . . . . . . . . . . 3
Vì sao phải cung cấp thông tin năng lượng theo kênh trong mô phỏng phổ gamma? . . . . . . . . . . . . . . . . . 4
Vì sao phải áp dụng xấp xỉ nở rộng Gaussian trong mô phỏng phổ gamma? . . . . . . . . . . . . . . . . . . . . . . 4
MCNP5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Tôi có thể tham khảo tài liệu hướng dẫn MCNP5 bằng tiếng Việt ở đâu? . . . . . . . . . . . . . . . . . . . . . . . 5
Độ quan trọng của cell là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Trọng số hạt là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Làm sao khi phương trình giải tích của mặt elliptic paraboloid không giống với trong MCNP? . . . . . . . . . . 5
Cách khai báo nguồn hỗn hợp? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Cách tính tally tổng của các cell? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Giá trị bán kính R
0
trong khai báo tally F5? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Chương trình MCNP5 đang chạy đột nhiên bị ngừng vì lý do cúp điện, liệu có thể chạy tiếp được không? . . . 6
Tại sao khi dùng tally F6 thì bị lỗi “tally volumes or areas were not input or nor calculated” mà dùng tally F4
thì không bị? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
GEANT4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Tôi có thể tham khảo tài liệu hướng dẫn GEANT4 bằng tiếng Việt ở đâu? . . . . . . . . . . . . . . . . . . . . . . 8
1
Đặng Nguyên Phương Tài liệu nội bộ NMTP
1 Câu hỏi chung
Những chương trình nào được dùng để mô phỏng vận chuyển hạt bằng phương pháp Monte Carlo?
Hiện nay có rất nhiều chương trình mô phỏng vận chuyển hạt bằng phương pháp Monte Carlo, một số chương trình
thông dụng có thể kể đến như là:
MCNP (Monte Carlo N-Particle) chương trình mô phỏng đa mục đích dùng để mô phỏng vận chuyển của các
hạt neutron, photon và electron. Ngoài ra, phiên bản mở rộng MCNPX còn có thể mô phỏng vận chuyển của các ion
nặng và các hạt cơ bản. Chương trình MCNP lần đầu tiên ra đời vào năm 1977 tại Phòng Thí nghiệm Quốc gia Los
Alamos (Hoa Kì).
Homepage: http://mcnp-green.lanl.gov/
Giới thiệu: http://mcnp-green.lanl.gov/pdf/MCNP5_Manual_Volume_I_LA-UR-03-1987.pdf
Diễn đàn: http://mcnp-green.lanl.gov/forum.html
Tài liệu: http://mcnp-green.lanl.gov/resources.html,http://mcnp-green.lanl.gov/documentation.html
GEANT (GEometry ANd Tracking) chương trình dùng để mô phỏng vận chuyển hạt tương tự như MCNP,
thường tập trung vào lĩnh vực vật lý năng lượng cao, hạt nhân và máy gia tốc. Hai phiên bản phổ biến hiện nay là
GEANT3 được xây dựng trên ngôn ngữ lập trình Fortran và GEANT4 với ngôn ngữ lập trình C
++
. Chương trình này
được phát triển tại Phòng Thí nghiệm CERN (Châu Âu).
GEANT4: http://geant4.web.cern.ch/geant4/
Download: http://geant4.web.cern.ch/geant4/support/download.shtml
Trong trường hợp chỉ cần mô phỏng các hạt điện từ (electron/photon), ta có thể sử dụng các chương trình sau:
EGS (Electron Gamma Shower) chương trình mô phỏng Monte Carlo cho vận chuyển photon và electron, được
phát triển đầu tiên tại SLAC (National Accelerator Laboratory, US) với mục đích ban đầu cho tính toán vật lý năng
lượng cao, sau này được phát triển tiếp dưới sự hỗ trợ của NRC (National Research Council, Canada) và KEK (High
Energy Accelerator Research Organization, Japan) nhằm sử dụng để giải quyết các bài toán với mức năng lượng thấp
hơn.
EGS4: http://www.irs.inms.nrc.ca/EGS4/get_egs4.html
EGSnrc: http://www.irs.inms.nrc.ca/EGSnrc/EGSnrc.html
PENELOPE (PENetration and Energy LOss of Positrons and Electrons) chương trình mô phỏng Monte
Carlo cho vận chuyển cặp electron/photon, được phát triển đầu tiên tại Đại học Barcelona.
Giới thiệu: http://www.nea.fr/html/science/pubs/2009/nea6416-penelope.pdf
Số lịch sử hạt là gì?
2
Đặng Nguyên Phương Tài liệu nội bộ NMTP
Số lịch sử hạt (number of particle histories) theo định nghĩa thì chính là số các lịch sử của các hạt được mô phỏng bởi
chương trình (nghe rắc rối quá nhỉ ). Nhưng trong thực tế thì hầu như nó chính là số hạt phát ra từ nguồn (number
of source particles).
Trong mô phỏng phổ gamma, vì sao chương trình thường hay chuẩn xác suất phát về 1?
Khi bắt đầu mô phỏng một hạt phát ra từ nguồn, chương trình sẽ gieo ngẫu nhiên để quyết định các thông số nào sẽ
được mô phỏng dựa vào danh sách các thông số (năng lượng, vị trí, hướng,...) người dùng đưa vào chương trình cùng
với xác suất tương ứng của nó. Tổng các xác suất này không nhất thiết phải bằng 1.
Tuy nhiên, trong hầu hết các chương trình, dãy số ngẫu nhiên thông thường được gieo trong khoảng (0,1) nên để có
thể gieo ngẫu nhiên xác định các thông số, chương trình sẽ phải chuẩn các xác suất phát này về 1 bằng cách chia lần
lượt các xác suất ứng với từng thông số cho tổng xác suất của thông số đó. Trong một số chương trình như MCNP
việc này được thực hiện hoàn toàn tự động, người dùng chỉ cần khai báo xác suất thực tế của các thông số là được,
không nhất thiết phải chuẩn xác suất trước khi đưa vào chương trình.
Vì sao kết quả mô phỏng thường hay được chuẩn về dạng xác suất (tính trên 1 hạt nguồn)?
Thực sự thì việc chuẩn kết quả mô phỏng về dạng xác suất (tính trên 1 hạt nguồn) không phải là việc bắt buộc, tuy
nhiên nó sẽ giúp cho người dùng thuận lợi hơn trong việc chuyển đổi giữa kết quả mô phỏng và thực nghiệm (sẽ được
trình bày trong những phần sau).
Khi mô phỏng phổ gamma đa năng (có nhiều đỉnh năng lượng), làm thế nào để chuyển đổi giữa kết
quả mô phỏng và thực nghiệm?
Trong đo đạc thực nghiệm (TN), đối với một phân rã hạt nhân, có thể có nhiều hơn 1 gamma phát ra, tuy nhiên trong
mô phỏng ta không thể mô phỏng được tất các các gamma phát ra cùng một lúc mà phải mô phỏng từng gamma một.
Khi mô phỏng (MP), kết quả người dùng nhận được thường là phân bố xác suất tính trên 1 hạt phát ra từ nguồn.
Trong trường hợp mô phỏng phổ gamma, hạt phát ra từ nguồn thông thường là photon, do đó nếu muốn chuyển đổi
giữa phân bố xác suất mô phỏng về số đếm tương ứng với thực nghiệm ta cần phải nhân hoặc chia cho tổng số photon
trong thực tế phát ra từ nguồn của em. Cụ thể hơn là:
MP → TN: phổ mô phỏng × tổng số photon từ nguồn
TN → MP: phổ thực nghiệm / tổng số photon từ nguồn
Trong đó: tổng số photon từ nguồn = hoạt độ nguồn × thời gian đo × tổng xác suất phát của tất cả các tia gamma
Khi chuẩn về phân bố theo xác suất, chương trình mô phỏng chỉ chia cho tổng số hạt nguồn mà nó mô phỏng, không
quan tâm số lượng hạt phát ứng với mức năng lượng này hay mức năng lượng kia là bao nhiêu. Do đó khi muốn biến
đổi qua lại giữa mô phỏng và thực nghiệm, ta cần sử dụng tổng xác suất chứ không phải từng xác suất riêng lẻ.
Trong trường hợp mô phỏng phổ riêng cho từng đỉnh và sau đó tổng hợp lại thành 1 phổ tổng, ta có thể sử dụng xác
suất phát của từng đỉnh năng lượng.
3
Đặng Nguyên Phương Tài liệu nội bộ NMTP
Trong trường hợp có bỏ qua một số đỉnh năng lượng do nằm ngoài ngưỡng đo của detector, phải
tính xác suất phát như thế nào để chuyển đổi qua lại giữa mô phỏng và thực nghiệm?
Trong trường hợp đó, ta chỉ tính tổng xác suất của những đỉnh năng lượng mà được sử dụng trong mô phỏng thôi, dù
có trong ngưỡng đo của detector hay không. Khi đó, số photon mà ta thu được sau khi quy đổi mới ứng với số photon
thực tế phát ra từ nguồn.
Ví dụ: có 3 đỉnh gamma có xác suất phát là x, y và z (tất cả đều trong ngưỡng đo của detector), số phân rã trong
suốt thời gian đo là N. Giả sử ta không mô phỏng đỉnh có xác suất z, khi đó tổng số photon tương ứng với mô phỏng
lúc này sẽ là N × (x + y).
Nếu ta nhân phổ mô phỏng với tổng số photon là N × (x + y + z) thì số photon phát ra từ nguồn ứng với mỗi đỉnh sẽ
thành ra
N × x + N
x
x + y
× z (thực tế số photon phải là N × x)
N × y + N
y
x + y
× z (thực tế số photon phải là N × y)
Tất nhiên nếu nhân với N × (x + y) thì phổ mô phỏng cũng vẫn còn chưa khớp với thực nghiệm do thiếu sự đóng góp
của đỉnh có xác suất z, nhưng phần đóng góp của 2 đỉnh kia là chính xác.
Vì sao phải cung cấp thông tin năng lượng theo kênh trong mô phỏng phổ gamma?
Sau khi kết thúc quá trình mô phỏng một hạt, chương trình sẽ tính toán xem hạt đó mất năng lượng là bao nhiêu
trong vùng nhạy. Việc sử dụng đường chuẩn năng lượng theo kênh giúp quyết định xem số đếm sẽ được thêm vào
kênh nào tương ứng với năng lượng mất mát đó.
Vì sao phải áp dụng xấp xỉ nở rộng Gaussian trong mô phỏng phổ gamma?
Trong quá trình mô phỏng, khi photon để lại năng lượng E bên trong vùng thể tích hoạt động của detector, chương
trình sẽ ghi nhận lại chính xác giá trị E này. Tuy nhiên trong thực tế thì do các ảnh hưởng của các nhiễu thông kê,
nhiễu điện tử, giá trị năng lượng ghi nhận lại sẽ thăng giáng quanh giá trị thực tế E, tạo ra một đỉnh phổ có dạng
Gauss. Các chương trình như GEANT4 hay MCNP5 có chức năng chủ yếu là mô phỏng vận chuyển hạt nên các hiệu
ứng liên quan đến các thiết bị điện tử sẽ không được mô phỏng chi tiết (về sau này thì các chương trình cũng cố gắng
tích hợp thêm ít nhiều các hiệu ứng đó).
Để có thể thu được dạng phổ như trong thực nghiệm, người mô phỏng có sử dụng một thủ thuật nhỏ, đó là thay vì
ghi nhận giá trị năng lượng E lại, người ta sẽ ghi nhận một giá trị E

phân bố quanh giá trị E theo dạng phân bố
Gauss (được xây dựng dựa trên hàm FWHM đo bằng thực nghiệm). Cuối cùng ta sẽ thu được phổ được biến đổi lại
với xấp xỉ nở rộng Gauss (Gaussian broadening) cho phù hợp với thực nghiệm.
4
Đặng Nguyên Phương Tài liệu nội bộ NMTP
2 MCNP5
Tôi có thể tham khảo tài liệu hướng dẫn MCNP5 bằng tiếng Việt ở đâu?
Tập tài liệu “Hướng dẫn sử dụng MCNP cho hệ điều hành Windows” có thể được tải về ở đây.
Độ quan trọng của cell là gì?
Trong MCNP, mỗi cell đều được gán cho một đại lượng được gọi là “độ quan trọng” (importance) của cell đó. Đại
lượng này chỉ thực sự có ý nghĩa khi người dùng sử dụng các kĩ thuật giảm phương sai (variance reduction technique).
Khi đó, các cell có “độ quan trọng” cao hơn sẽ nhận được mô phỏng chi tiết hơn (số lượng các hạt được mô phỏng
nhiều hơn) so với các cell có “độ quan trọng” thấp.
Theo quy ước, khi hạt đi vào trong cell có “độ quan trọng” bằng 0, quá trình mô phỏng hạt sẽ kết thúc. Thông thường
các cell mô tả vùng không gian bao ngoài khu vực mô phỏng sẽ được gán giá trị này.
Trọng số hạt là gì?
Tương tự như độ quan trọng của cell, “trọng số hạt” (particle weight) cũng là đại lượng được gán cho mỗi hạt nhằm
phục vụ cho việc thực hiện các kĩ thuật giảm phương sai. Khi đó, trọng số của hạt sẽ thay đổi tùy thuộc vào các kĩ
thuật giảm phương sai được áp dụng, nhằm làm cho kết quả không bị chệch (bias) ra khỏi giá trị kì vọng trong quá
trình mô phỏng.
Ví dụ: Ta có hai cell, cell 1 và cell 2 có độ quan trọng lần lượt là imp = 1 và imp = 3, một hạt có trọng số w = 1 đi từ
cell 1 vào cell 2. Giả sử rằng giá trị kì vọng của năng lượng hạt để lại trong cell 2 là 0.5MeV . Khi đi từ cell 1 sang cell
2, do cell 2 có độ quan trọng lớn hơn nên hạt sẽ được chia làm 3 hạt con với trọng số của mỗi hạt con là 1/3.
Bây giờ nếu ta xem như mỗi hạt để lại năng lượng trong cell bằng với kì vọng là 0.5MeV , thì tổng năng lượng các hạt
để lại trong cell 2 lúc này sẽ là
0.5 + 0.5 + 0.5 = 1.5(MeV )
Tuy nhiên do mỗi hạt chỉ có trọng số 1/3 nên kết quả cuối cùng thực sự sẽ là
0.5 × 13 + 0.5 × 13 + 0.5 × 13 = 0.5(MeV )
Giá trị này tương đương với kết quả khi không áp dụng kĩ thuật giảm phương sai cho hạt đi từ cell 1 vào cell 2.
Như vậy ta có thể thấy việc sử dụng trọng số hạt giúp cho kết quả khảo sát năng lượng để lại trong cell 2 có thống kê
tốt hơn (khảo sát 3 hạt thay vì 1 hạt) nhưng kết quả vẫn không bị chệch ra khỏi giá trị kì vọng.
Làm sao khi phương trình giải tích của mặt elliptic paraboloid không giống với trong MCNP?
Trong MCNP, công thức tổng quát để mô tả các mặt (ellipsoid, hyperboloid, paraboloid,...) là
Ax
2
+ By
2
+ Cz
2
+ Dxy + Eyz + Fzx + Gx + Hy + Jz + K = 0
5
Đặng Nguyên Phương Tài liệu nội bộ NMTP
Trong các sách giáo khoa, phương trình elliptic paraboloid được mô ta qua công thức
z
c
=
x
2
a
2
+
y
2
b
2
Phương trình trên có thể dễ dàng chuyển đổi sang dạng tương ứng với công thức tổng quát trong MCNP
b
2
c x
2
+ a
2
c y
2
+ 0z
2
+ 0xy + 0yz + 0zx + 0x + 0y − a
2
b
2
z + 0 = 0
Cách khai báo nguồn hỗn hợp?
Để khai báo nguồn hỗn hợp gồm nhiều loại hạt khác nhau, ta có thể sử dụng phân bố Dn cho khai báo PAR, và sử
dụng FPAR để khai báo cho các phân bố phụ thuộc vào loại hạt phát ra từ nguồn.
Ví dụ: Giả sử ta cần khai báo một nguồn điểm (point source) hỗn hợp gồm photon và electron có xác suất phát tương
ứng là 0.7 và 0.3. Năng lượng phát của photon là 1MeV và của electron là 0.5MeV . Cách thức khai báo như sau:
SDEF PAR=D1 ERG=FPAR=D2 X=1 Y=0.5 Z=−3
SI1 L P E
SP1 . 7 . 3
DS2 L 1. . 5
Cách tính tally tổng của các cell?
Để tính tally tổng, ta thêm kí tự T vào cuối dòng khai báo các vùng ghi nhận tally.
Giá trị bán kính R
0
trong khai báo tally F5?
Trong tally F5, R
0
là bán kính của mặt cầu loại trừ (exclusion sphere), được tính theo đơn vị cm nếu R
0
> 0 và mfp
(mean free path) nếu R
0
< 0.
Như ta đã biết, tally F5 sử dụng phương pháp ước lượng sự kiện tiếp theo (next-event estimator), theo đó xác suất
mà sự kiện tiếp theo xảy ra tại ví trí của detector được tính theo công thức
W p(µ)e
−λ
2πR
2
với W là trọng số hạt; p(µ) là giá trị hàm mật độ xác suất tại µ (cosine của góc tạo bởi vết của hạt và vector chỉ
hướng tới vị trí detector); λ là tích phân của quãng chạy tự do (mfp) từ vị trí va chạm đến vị trí detector; và R là
khoảng cách giữa vị trí va chạm với detector. Việc ước lượng này chỉ có thể thực hiện được khi vị trí va chạm không
quá gần detector. Do đó việc khai báo bán kính R
0
nhằm giúp loại trừ việc áp dụng ước lượng với các vị trí ở gần
detector (cụ thể là trong phạm vi của mặt cầu R
0
).
Theo khuyến cáo, giá trị của bán kính R
0
nên nằm trong khoảng từ 1/8 đến 1/2 mfp, và không nên bao quá một loại
vật chất (MCNP sẽ không báo lỗi trong quá trình chạy nhưng kết quả có thể sẽ không chính xác).
6
Đặng Nguyên Phương Tài liệu nội bộ NMTP
Chương trình MCNP5 đang chạy đột nhiên bị ngừng vì lý do cúp điện, liệu có thể chạy tiếp được
không?
Để chạy tiếp một chương trình MCNP5 bị ngừng đột ngột, ta cần thêm chữ CONTINUE vào trước các dòng khai báo
input file (sau dòng đầu tiên) và thêm option ‘c’ vào lệnh khi chạy lại, ví dụ
mcnp5 c n=input r=runtpe
Chương trình sẽ tiếp tục chạy với file runtpe được tạo ra trong quá trình chạy trước đó.
Tại sao khi dùng tally F6 thì bị lỗi “tally volumes or areas were not input or nor calculated” mà
dùng tally F4 thì không bị?
Đó là do tally F6 là tally dùng để ước lượng năng lượng trung bình để lại trong cell trên một đơn vị khối lượng
(MeV gm) nên cần phải biết thông tin về thể tích cell để có thể tính được khối lượng. Còn tally F4 chỉ ước lượng độ
dài vết trong cell nên không cần thông tin về thể tích.
7
Đặng Nguyên Phương Tài liệu nội bộ NMTP
3 GEANT4
Tôi có thể tham khảo tài liệu hướng dẫn GEANT4 bằng tiếng Việt ở đâu?
Tập tài liệu “Hướng dẫn sử dụng GEANT4 cho hệ điều hành Windows” có thể được tải về ở đây.
8