Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.32 MB, 143 trang )
1.4. Cách thực thi chương trình MCNP
14
Hình 1.5: Giao diện chương trình Visual Editor
Hình 1.6: Đồ họa của Visual Editor
• Sử dụng lệnh cd để di chuyển đến ổ đĩa chứa chương trình MCNP.
Ví dụ: cd c:\mcnp (trong trường hợp thư mục mcnp nằm ở ổ đĩa d: thì ta chuyển ổ đĩa bằng
cách gõ d: và bấm enter )
• Thực thi chương trình MCNP bằng cách gõ lệnh mcnp (trong trường hợp sử dụng chương
trình MCNP5 thì gõ lệnh mcnp5)
Ví dụ: mcnp inp=file1 outp=file1o runtpe=file1r mctal=filetally xsdir=xs
Trong đó inp là tuỳ chọn khai báo tên file input, oupt là tên của file output xuất ra, runtpe
là tên của file chứa các thông tin trong suốt quá trình chạy chương trình, mctal là tên của
file chứa kết quả tally và xsdir là tên của thư mục chứa các tiết diện.
• Ngoài ra, ta có thể khai báo tắt bằng cách sử dụng tuỳ chọn name
15
CHƯƠNG 1. GIỚI THIỆU VỀ MCNP
Hình 1.7: Đồ họa 3D của Visual Editor
Ví dụ: mcnp name=file1, chương trình sẽ tự động chạy file file1 và tạo ra file output, runtpe
bằng cách thêm vào các kí tự ‘o’, ‘r ’ ngay sau tên của file input (trong trường hợp này hai
file đó sẽ có tên là file1o và file1r ).
• Ta có thể viết tắt tên các tuỳ chọn bằng cách sử dụng kí tự đầu tiên.
Ví dụ: mcnp i=file1 o=file1o r=file1r hay mcnp n=file1
• Trong trường hợp chúng ta sử dụng text editor để soạn thảo, file input được tạo ra sẽ mặc
định có đuôi .txt. Trong trường hợp này ta cần chuyển thành file không có đuôi mở rộng trước
khi chạy MCNP thông qua lệnh copy hay ren.
Ví dụ: copy file1.txt file1
• Khi chạy lại file input cũ, cần xoá hoặc đổi tên các file ouput và runtpe được tạo ra trước đó,
nếu không MCNP sẽ tự động thay đổi tên output mới được tạo ra để tránh ghi chồng lên các
file cũ.
Hình 1.8: Giao diện trên nền DOS của MCNP
Để đơn giản ta có thể tạo các batch file (có đuôi .bat) để chứa các dòng lệnh thực thi chương trình
1.4. Cách thực thi chương trình MCNP
16
MCNP cho DOS. Cách thức thực hiện như sau:
• Mở trình soạn thảo text (notepad, wordpad).
• Gõ vào các dòng lệnh thực thi MCNP, ví dụ: mcnp n=file1 ip
• Lưu lại file text dưới tên có đuôi .bat (ví dụ run_mcnp.bat) vào trong thư mục có chứa
MCNP.
• Nhấp đôi chuột vào file vừa tạo để chạy chương trình, nếu muốn sửa đổi dòng lệnh trong file,
chỉ cần mở file với trình soạn thảo text và chỉnh sửa.
Một số tuỳ chọn khác Bên cạnh các tuỳ chọn khai báo input, output file, chúng ta còn sử
dụng một số tuỳ chọn để điều khiển quá trình thực thi MCNP:
i
p
x
r
z
đọc và kiểm tra lỗi trong input file.
vẽ hình học mô tả trong input file.
các bảng tiết diện tương tác.
chạy bài toán vận chuyển hạt.
vẽ các kết quả tally từ file RUNTPE hay MCTAL (xem Phần 3.4).
vẽ các tiết diện trong input file.
Các tuỳ chọn này có thể được kết hợp với nhau chẳng hạn như ip (vẽ hình học và kiểm tra lỗi
trong input file), ixz (đọc input file, đọc và vẽ các tiết diện tương tác), ...
Ví dụ: mcnp n=file1 ip (đọc file1 và vẽ hình học mô tả trong file đó).
Cách vẽ hình học mô tả trong input Một số lệnh vẽ hình học trong MCNP
origin
basis
extent
xyz
x1 y1 z1
hv
label
s c des
x2 y2 z2
chọn gốc toạ độ, mặc định 0 0 0
chọn mặt phẳng vẽ, mặc định 0 1 0 0 0 1
thang chia để vẽ, mặc định 100 100
(nếu không khai báo v thì mặc định v = h)
ghi các chỉ số lên hình vẽ
Ví dụ: or 0 -2 10 (chọn gốc toạ độ để vẽ hình tại (0,-2,10), gốc toạ độ luôn nằm giữa hình vẽ).
Hình 1.9: Đồ họa trên nền DOS của MCNP
2
Cơ sở phương pháp Monte Carlo
MCNP là một chương trình mô phỏng vận chuyển hạt bằng phương pháp Monte Carlo, do đó một
số kiến thức cơ sở về phương pháp này là cần thiết để có thể hiểu được cách thức hoạt động cũng
như phân tích các kết quả thu được sau khi thực thi chương trình.
Khi làm việc với chương trình MCNP, hoạt động của người dùng chủ yếu là ở hai khâu: cung cấp
dữ liệu đầu vào và phân tích dữ liệu đầu ra. Đối với việc cung cấp dữ liệu đầu vào, một trong
những thông tin quan trọng cần cung cấp đó chính là cách thức lấy mẫu phân bố (phân bố vị trí
nguồn, phân bố năng lượng, phân bố xác suất phát,...). Trong chương này, tôi sẽ trình bày một số
nét chính về số ngẫu nhiên, phân bố xác suất và cách lấy mẫu phân bố bằng phương pháp Monte
Carlo. Còn đối với dữ liệu đầu ra, việc hiểu rõ cách thức ước lượng kết quả mô phỏng Monte Carlo
là cần thiết để có thể đánh giá các kết quả thu được từ chương trình. Do đó phần cuối của chương
sẽ được dành cho việc trình bày các khái niệm ước lượng mẫu và đánh giá độ chính xác của kết
quả ước lượng thu được.
2.1
Cơ sở của phương pháp Monte Carlo
Phương pháp Monte Carlo được xây dựng dựa trên nền tảng
• Các số ngẫu nhiên (random numbers): đây là nền tảng quan trọng, góp phần hình thành
nên “thương hiệu” của phương pháp. Các số ngẫu nhiên không chỉ được sử dụng trong việc
mô phỏng lại các hiện tượng ngẫu nhiên xảy ra trong thực tế mà còn được sử dụng để lấy
mẫu ngẫu nhiên của một phân bố nào đó, chẳng hạn như trong tính toán các tích phân số
(numerical integration).
• Luật số lớn (law of large numbers): luật này đảm bảo rằng khi ta chọn ngẫu nhiên các giá trị
(mẫu thử) trong một dãy các giá trị (quần thể), kích thước dãy mẫu thử càng lớn thì các đặc
trưng thống kê (trung bình, phương sai,...) của mẫu thử càng “gần” với các đặc trưng thống
kê của quần thể. Luật số lớn rất quan trọng đối với phương pháp Monte Carlo vì nó đảm bảo
cho sự ổn định của các giá trị trung bình của các biến ngẫu nhiên khi số phép thử đủ lớn.
• Định lý giới hạn trung tâm (central limit theorem): định lý này phát biểu rằng dưới một số
điều kiện cụ thể, trung bình số học của một lượng đủ lớn các phép lặp của các biến ngẫu
nhiên độc lập (independent random variables) sẽ được xấp xỉ theo phân bố chuẩn (normal
distrbution). Do phương pháp Monte Carlo là một chuỗi các phép thử được lặp lại nên định
lý giới hạn trung tâm sẽ giúp chúng ta dễ dàng xấp xỉ được trung bình và phương sai của các
kết quả thu được từ phương pháp.
2.2. Số ngẫu nhiên
18
Các thành phần chính của phương pháp mô phỏng Monte Carlo (Hình 2.1) gồm có
• Hàm mật độ xác suất (probability density function − PDF): một hệ vật lý (hay toán học)
phải được mô tả bằng một bộ các PDF.
• Nguồn phát số ngẫu nhiên (random number generator − RNG): một nguồn phát các số ngẫu
nhiên đồng nhất phân bố trong khoảng đơn vị.
• Quy luật lấy mẫu (sampling rule): mô tả việc lấy mẫu từ một hàm phân bố cụ thể.
• Ghi nhận (scoring hay tallying): dữ liệu đầu ra phải được tích luỹ trong các khoảng giá trị
của đại lượng cần quan tâm.
• Ước lượng sai số (error estimation): ước lượng sai số thống kê (phương sai) theo số phép thử
và theo đại lượng quan tâm.
• Các kĩ thuật giảm phương sai (variance reduction technique): các phương pháp nhằm giảm
phương sai của đáp số được ước lượng để giảm thời gian tính toán của mô phỏng Monte
Carlo.
• Song song hoá (parallelization) và vector hoá (vectorization): các thuật toán cho phép phương
pháp Monte Carlo được thực thi một cách hiệu quả trên một cấu trúc máy tính hiệu năng
cao (high-performance).
Hình 2.1: Nguyên tắc hoạt động của phương pháp Monte Carlo
2.2
Số ngẫu nhiên
Trong phương pháp mô phỏng Monte Carlo, chúng ta không thể nào thiếu được các số ngẫu nhiên.
Các số ngẫu nhiên có mặt trong các hiện tượng tự nhiên như nhiễu loạn điện tử, phân rã phóng
xạ,... Để giải một bài toán bằng phương pháp Monte Carlo điều quan trọng nhất là chúng ta cần
tạo ra các số ngẫu nhiên phân bố đều (uniform distribution) trên khoảng (0,1).
2.2.1
Các loại số ngẫu nhiên
Có 3 loại số ngẫu nhiên chính
• Số ngẫu nhiên thực (real random number ): các hiện tượng ngẫu nhiên trong tự nhiên.
• Số giả ngẫu nhiên (pseudo-random number ): các dãy số xác định mà nó vượt qua được các
kiểm tra về tính ngẫu nhiên.
• Số gần ngẫu nhiên (quasi-random number ): các điểm có sự phân bố tốt (có sự không nhất
quán thấp).