Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Mô phỏng trong vật lý
PREMIUM
Số trang
284
Kích thước
14.6 MB
Định dạng
PDF
Lượt xem
1755

Mô phỏng trong vật lý

Nội dung xem thử

Mô tả chi tiết

MÔ PHỎNG

TRONG VẬT LÝ

NHÀ XUẤT BẬN

ĐẠI HQC QUỐC GIA TP. Hổ CHÍ MINH

VÕ VÂN Hq ạ NG (Chù biên)

HUỲNH KIM LÂM - NGUYỄN TRU^e HÂI - NGUYÊN HÀ HÙNG CHƯƠNG

ĐẠI HỌC QUỐC GIA TP H ồ CHÍ MINH

TRỮỜNG ĐẠI HỌC BÁCH KHOA

Võ Văn Hoàng (Chủ biên)

Huỳnh Kim Lâm - Nguyên Trung Hải - Nguyễn Hà Hùng Chương

MỖ PHỎNG

TRONG VẬT LÝ

NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA

T P HỒ CHÍ MINH . 2016

vồ VẦN HOẢNG (Chù biên)

ihũỷnhkimlAn

MÔ PHỎNG TRONG VẠT LY NGUYỀN TRUNG HẢI

MU r 1 nguyênhấhùngchuông

---------- ------------ ‘ " ^ T HQGHc vŨNXBĐHQG-HCM vàCẢCTÁC GIẢ.

Bản tiếng Việt © TRƯỜNG ĐẠI HỌC BACH vi Luật Sở hữu trí tuệ Việt Nam. Nghiêm cấm mọi hlnh

S S b í S , c h W. P « ^ » S AYBẢO veTẤCQUYÈN,

ĐÊ CỎ SÁCH HAY, CÂN CHƯNG

MỤC LỤ C

L Ờ IN Ó IĐ Ầ U 5

Chương 1 C ơ SỞ CỦA QUÁ TRÌNH MÔ PHỎNG 7

1.1. Bản chất của quá trình mô phỏng trên máy tính 7

1.2. Hệ thống, mô hình và quá trình mô phỏng 8

1.3. Các bước tiến hành quá trình mô phỏng Ị Ị

1.4. Ưu điểm và hạn chế của mô phỏng Ị 3

1.5. Thiết kế một program để mô phỏng 14

1.6. Các chi tiết kỹ thuật của quá trình mô phỏng Ị 6

1.7. Các khái niệm cơ bản về cấu trúc của vật liệu lỏng, vô định hình và tinh thể 24

1.8. Các phương pháp tính toán cổ điẹn và các phương pháp mô phỏng - tính toán lượng tử 33

1.9. Tương quan kích thước - thời gian - phương pháp mô phỏng 34

Tài liệu tham khảo chương 1 36

C hương2 MỘT s ố PHƯƠNG PHÁP MÔ PHỎNG c ổ ĐlỂN d ù n g t r o n g v ậ t l ý 37

2.1. Phương pháp Metropolis Monte-Carlo cổ điển 37

2.2. Phương pháp động lực học phân tử cổ điển 46

2.3. Giới thiệu phần mềm Lammps 50

Tài liệu tham khảo chương 2 53

Chương 3 CÁC PHƯƠNG PHÁP MÔ PHỎNG - TÍNH TOÁN LƯỢNG TỬ 54

3.1. Tổng quan về các phương pháp tính từ các nguyên lý ban đầu 54

3.2. Phương pháp HARTREE-FOCK 63

3.3. Phương pháp DFT 65

3.4. Phương pháp động lực học phân tử sử dụng nguyên lý ban đầu

Tài liệu tham khảo chương 3 74

Chương 4 MÔ PHỎNG CÁC HỆ ĐƠN GIẢN ĐƠN NGUYÊN TỬ 76

4.1. Các khái niệm cơ bản 76

4.2. Một số hệ có tương tác đơn giản thường dùng 78

4.3. Những vân đề thường được khảo sát khi dùng hệ đơn giản đơn nguyên tử 87

4.4. Mô phỏng cấu trúc và các tính chất nhiệt động học của chát lỏng và vô định hình 87

4.5. Mô phỏng hiện tượng tinh thể hóa 96

4.6. Mô phỏng hiện tượng nóng chảy 102

4.7. Mô phỏng hiện tượng chuyển pha từ lỏng sang vô định hình 115

Tài liệu tham khảo chương 4 120

Chương 5 MÔ PHỎNG VẬT LIỆU KHỐI, VẬT LIỆU CÓ KÍCH THUỚC NANO

VÀ VẬT LIỆU HAI CHIỀU 122

5.1. Điều kiện biên dùng trong mô phỏng vật liệu khối, vật liệu có kích thước nano

và vật liệu hai chiều (2D) 122

5.2. Mô phỏng vật liệu khối 124

5.3. Mô phỏng màng mỏng, hạt nano 152

5.4. Mô phỏng vật liệu một lớp nguyên tử (vật liệu hai chiều) 155

Tài liệu tham khảo chương 5 170

Chương 6 MÔ PHỎNG PROTEIN 174

6.1. Tổng quan 174

6.2. Thế tương tác 182

6.3. Các thuật toán cơ bản 206

6.4. Các phương pháp tính năng lượng tự do 214

Tài liệu tham khảo chương 6 224

Chương 7 GIỚI THIỆU VỀ CÁC PHAN m ề m m ô PHỎNG PROTEIN BẰNG

PHUƠNG p h á p đ ộ n g L ự c HỌC PHÂN TỬ c ổ ĐIÊN v à c á c PHAN m è m

XỬ LÝ DỮ LIỆU 226

7.1. Mô phỏng động lực học phân tử cổ điển ứng dụng cho protein và các hệ sinh học 226

7.2. Các phần mềm mô phỏng động lực học phân tử cổ điển phổ biến 227

7.3. Các phần mềm xử lý dữ liệu mô phỏng 230

7.4. Giới thiệu phần mềm Gromacs 230

Tài liệu tham khảo chương 7 257

PHỤ LỤ C 258

Phụ lụ c 1 Những phần mềm mô phỏng sử dụng các nguyên lý ban đầu 258

Phụ lự c2 Những thuật ngữ tiếng Anh thông dụng 268

LỜI NÓI ĐẦU

Môn học Mô phỏng trong vật lý được giảng dạy chính khóa cho sinh viên (SV) bậc đại

học và cao học tại Trường Đại học Bách khoa — Đại học Quốc gia TP HCM, Trường Đại học

Cần Thơ và một sô cơ sở đào tạo khác trong cả nước. Để đáp ứng nhu cầu học tập và tham

khảo cho sv các bậc học, chúng tôi biên soạn lại nội dung sách để tái bản. Phiên bản mới của

sách được biên soạn mới đên hơn 90% so với phiên bản cũ xuất bản năm 2004. Sách mới gồm

07 chương và phân phụ lục bao gôm 04 nội dung chính: Kiến thức cơ sờ cùa lĩnh vực mô

phòng - tính toán', C ác phương pháp tinh toán mô phong cô ¿Hỗn và lượng từ; Giới thiệu một

s ổ phần mềm thông dụng; Kêt quà mô phóng trong một sổ đối tượng cụ thể: mô phỏng hệ đơn

giàn, hạt nano, màng móng, vật liệu khôi, vật liệu hai chiều, protein và các đổi tượng sinh

học. Chúng tôi cũng đưa vào phân Phụ lục những từ, thuật ngữ tiếng Anh thường dùng.

Ngoài những khái niệm cơ bận và thông tin thuộc kiến thức cơ sở chúng tôi cũng đưa

những thông tin khoa học mới nhât trong từng chủ đề kèm theo tài liệu tham khảo tương

ứng. Do vậy, sách cũng rât hữu ích cho đôi tượng đang thực hiện những nghiên cứu trong

Vật lý bằng phương pháp mô phỏng. Trong phạm vi của sách, chủng tôi chi giới hạn đến

một số vấn đê cơ bản trong lĩnh vục Vật lý vật liệu tính toán. Vật lý nano tính toán, Vật lý

thống kê tính toán, Vật lý protein. Cân lưu ý, mục đích chính của tái bàn sách là phục vụ

đào tạo và nghiên cứu khoa học trong phạm vi tương dối hẹp mà chúng tôi có trách nhiệm

tại ĐHQG-HCM hơn là thực hiện một sách chuyên khảo mang tính phổ quát cho toàn bộ

lĩnh vực Vật lý tính toán.

Sách là sản phẩm của đề tài cấp ĐHQG loại B (mã số B 2 0 14-20-01) và chúng tôi cám

ơn sự hỗ trợ về tài chính của ĐHQG-HCM. Sách không khỏi những thiếu sót, chúng tôi chân

thành tiếp thu ý kiên đóng góp của các đồng nghiệp. Các ý kiến xin gởi về GS Võ Văn Hoàng.

Các chương I, II, IV, V do GS.TS Võ Văn Hoàng (Đại học Bách khoa - ĐHQG-HCM) biên

soạn. Chương III và Phụ lục 1 do PGS.TS Huỳnh Kim Lâm (ĐH Quốc tế - ĐHQG HCM)

biên soạn với sự đóng góp của CN. Huỳnh Chơn Thiện. Chương VI do TS Nguyễn Trung Hải

(Viện Công nghệ Illinois) biên soạn. Chương VII do TS. Nguyễn Hà Hùng Chương (ĐH Tôn

Đức Thắng) biên soạn. Phụ lục 2 do GS. Võ Văn Hoàng và TS. Nguyễn Hà Hùng Chương

biên soạn. Các tác giả cảm ơn ThS. Nguyễn Hoàng Giang tham gia chỉnh sửa và lên khuôn

bản thảo.

TP Hồ Chí Minh, tháng 03 năm 2016

GS.TS Võ Văn Hoàng

Phòng thí nghiệm Vật lý tính toán

Trường Đại học Bách khoa TP Hồ Chí Minh

268 Lý Thường Kiệt, Quận 10, TP Hồ Chí Minh

Email: [email protected]

Chương

C ơ SỞ CỦA QUÁ TRÌNH MÔ PHỎNG

1.1. BẢN CHÁT CỦA QUÁ TRÌNH MÔ PHỎNG TRÊN MÁY TÍNH

Nếu lý thuyết và thực nghiệm là hai “cái chân” truyền thống của khoa học thì Khoa học -Tính

toán (KHTT) đã và đang phát triển mạnh mẽ và được xem như là “cái chân thứ ba” của khoa

học. KHTT được hiểu là khoa học về việc xây dựng các mô hình tính toán và thực hiện chúng

trên máy tính để giải quyết các vấn đề phức tạp trong các ngành khoa học - kỹ thuật khác

nhau. Có thể xem KHTT gồm ba phần chính: cơ sở khoa học máy tính, cơ sở của khoa học -

tính toán (bao gôm toán ứng dụng, các phương pháp tính toán - mô phỏng, các ngôn ngữ lập

trình, các phần mêm tính toán - mô phỏng, các phương pháp tính toán - xử lý dữ liệu - đồ

họa,...) và phần kiến thức chuyên ngành của từng lĩnh vực khoa'học cụ thể (như toán học, vật

lý, hóa học, sinh học,...). Trong đó, phần cốt lồi của KHTT có mô hình hóa và mô phỏng.

Hình 1.1. Minh họa ba phần cơ bản cúa Khoa học tính toán: Toán học + Khoa học máy tính +

Khoa học và kỹ thuật chuyên ngành (vẽ lại từ Hình 3 của website: http://luckritzh.

blogspot.com/, ngày lấy: 25/03/2016).

Trước hết, mô hình hóa là quá trình tìm ra mô hình đơn giản khả dĩ để có thể mô tả khái quát

được một hệ thống thực. Ta có thế bó bớt nhừng phức tạp không cần thiết và không bản chất,

chỉ cân mô hình mô tả được những gì bản chất nhất và quan trọng nhât của hệ thông thực mà

ta cần nghiên cứu. Mô hình trong KHTT là những mô hình có thế tính toán đựợc trên máy

tính thể hiện thông qua các thuật toán và ngôn ngữ lập trình, tức chúng có thể mô tả được

băng ngôn ngữ toán học. Trong khi mô phỏng là việc tạo ra như thật trên máy tính các hệ

thống thực sao cho có thể “thấy” chúng vận hành như thế nào. Mô phỏng và mô hình luôn đi

với nhau, muôn mô phỏng một hệ thông thực thl phải có mô hình tinh toán cùa hệ thông thực

đó và thực hiện được việc tính toán cúa mô hình này trên máy tính, chúng cho phép cúc nhà

8 CHƯƠNG I

nghiên cứu xây dựng và thử nghiệm mô hình của các hiện tượng phức tạp trên máy tính. Nói

một cách khác, đó là một hình thức nghiên cứu mới: làm thực nghiệm trên máy tính, với hiệu

quả cao, chi p h í thấp và tiết kiệm nhiều thời gian. Các kỹ thuật mô phóng đã phát triển rất sôi

động trong vòng mây chục năm qua cùng sự phát triên của máy tính, và được ứng dụng rộng

khắp trong nhiều lĩnh vực của khoa học - kỹ thuật. Cho đên hiện nay, rât khó hình dung một

lĩnh vực khoa học-kỹ thuật nào có thể phát triển mà thiếu sự đóng góp của KHTT. Sự ra đời

của KHTT góp phần hình thành nên những ngành khoa học mới như: Toán học tính toán, Vật

lý tính toán, Hóa học tính toán, Sinh học tính toán, Y học tính toán. Cơ học tính toán ...

1.2. HỆ THỐNG, MÔ HÌNH VÀ QUẢ TRÌNH MÔ PHỎNG

1.2.1. Hệ thống

Hệ thống có thể xem như là tập họp của các thực thể, như tập hợp các nguyên tử-phân tử, hệ

thống giao thông một thành phô, tập hợp những khách hàng của siêu thị, ... chúng vận động

và tương tác lẫn nhau hướng đên một kêt thúc có logic nào đó. Trên thực tế, hệ thống còn phụ

thuộc vào đối tượng nghiên cứu. Tập hợp các thực thê tạo nên một hệ thống cho nghiên cứu

này chỉ là tập hợp con thuộc một hệ thông nghiên cứu khác. Trạng thái của một hệ thống là

tập hợp các biến cần thiết để diễn tả hệ thống vào một thời điểm nào đó, liên quan đến đối

tượng nghiên cứu.

Có thể phân ra làm hai loại hệ thống: hệ thống gián đoạn và hệ thống liên tục. Hệ thống là

gián đoạn nếu các biến trạng thái thay đổi tức thời tại những thời điểm rời rạc nhau theo thời

gian. Ví dụ: ngân hàng là một hệ thông gián đoạn, các biên trạng thái - số khách hàng trong

ngân hàng chỉ thay đôi khi có khách hàng đên hoặc đi khởi ngân hàng. Hệ thống là liên tục

khi các biến trạng thái thay đổi liên tục theo thời ẹian, ví dụ: máy bay di chuyển trong không

gian. Khi đó, các biến trạng thái là vị trí và vận tốc máy bav thay đổi liên tục theo thời gian.

Trong.thực tê, có những hệ thông không hoàn toàn là rời rạc, cũng không hoàn toàn là liên

tục. Tuy nhiên, khi một trong hai dạng trên có ưu thê nhiều hơn thì có thể cho ràng hệ thống

thuộc dạng này hay dạng kia.

Tại một số điểm trong thời giạn tồn tại của hệ thống, ta cần kháo sát hệ thống đế hiểu các mối

tương quan giữa các thành phân của hệ thông, hoặc suy đoán các biếu hiện cua hệ thống khi có

tác dụng của các điều kiện mới. Sơ đô nghiên cứu hệ thống có thể xem qua Hình 1.2.

Hệ thổng

phương phâp lỹ tnuyet Ỵh| nghjệm mô hình của hệ thống

với hệ thống tr

Mô hlnh vật lý Mô hlnh toán học

Giải pháp giải tích Mô phỏng

Hình 1.2. Sơ đồ nghiên cứu hệ thống

CO SO CUA QUA TRINH MO PHONG 9

1.2.2. Mo hinh

Trong mot so truang hap khong the lam thi nghiem true tiep vai he thong hoac de tiet kiem

thai gian va tien bac, nguai ta thuang lam thi nghiem vai mo hinh de xac dinh cac thong so

toi uu truac khi tibn hanh thi nghiem true tibp vai lie thong thuc. Dieu nay rfo thuang xay ra

trong che tao thiet bj, thu vu khi,... Khi dung mo hinh. van de dat ra la mo hinh phan anh

chinh xac he thong den muc nao (goi la do tin cay cua mo hinh). Co hai loai mo hinh ca ban:

Mo hinh Vat ly

Mo hinh khoi nha chuan bi xay dung, mo hinh xe hai kieu mai chuan bi san xudt... la nhung

mo hinh vat ly dien hinh. Day la dang mo hinh tinh, chung khong thuoc dang cac mo hinh

thuang dung trong nghien cuu hoat dong hay phan tich he thong. Tuy nhien. trong mot so

truang hap viec dimg cac mo hinh vat ly la rat can thiet de nghien cuu cac he thong ky thuat

hoac he thong quan ly. Nhung phan Ion cac truang hap. de dat dirge muc dich tren nguai ta

lai dung cac mo hinh toan hoc.

Mo hinh toan hoc

La mo hinh the hien he thong vc mat tirong quan logic va luang quan \ c chat ma sau do co

the dieu khien hoac bien doi de l'thay’' mo hinh thay doi - van hanh nhu the nao.

Hinh 1.3. Phan b6 nguyen ttr theo trat tu lap phuang tain dien (fee) trong khong gian ba chilu

cua he dan gian dan nguyen tu co tuang tac Lennard-Jones (U ) tai mot nhiet do xac dmh (Du

li?u rieng cua Vo Van Hoang). Co the xem day la mo hinh vat ly hay mo hinh tinh.

1.2.3. Giai ph^p giai tich va giai phap mo phong

Giai ph^p giai tich

Khi dung xong mo hinh toan hoc thi sau do can kilm tra xem co the dung mo hinh d6 tra Idi

nhijmg cau hoi ma ta quan tarn ve he thong can the hien. Neu mb hinh du dern gian thi co the

lam viec vai cac he thuc tuang quan va cac dai luong dan vao de nhan ket qua chinh xac. Do

la giai phap giai tich. Vi du: mo hinh toan hoc dan gian la moi tirong quan d - v.(, vai d la

10

CHƯƠNG ì

quãng đường dịch chuyển, V là vận tốc và t là thời gian. Vì vậy, nếu ta biết d. và V thì có thể

dùng mô hình để nhận được đại lượng / = íl/ v . Đây là giải pháp giải tích đơn giản, một- số

giải pháp giải tích phức tạp hơn nhiều và đòi hỏi thời gian tính toán lớn. Nếu giải pháp giải

tích tương thích tốt với mô hình toán học và có thể tính trên máy tính một cách hiệu quà thì

thông thường người ta chọn giài pháp giải tích này hơn là phương pháp mô phỏng. Tuy nhiên,

một số trường hợp khi mà hệ thống quá phức tạp thì giai pháp giái tích không thể đáp ứng

được một cách hiệu quả. Khi đó, giải pháp mô phóng được dặt ra.

Mô phỏng trên máy tính

Một cách tổng quát, mô phỏng là xử !ý mô hình một cách -;ố học trên máy tính xem dữ liệu

đâu vào ảnh hường như thê nào đên kêt quả đâu ra. Mô hình dể mô phỏng trong KHTT là

những mô hình có thể tính toán dược trên máy tính thể hiện thông qua các thuật toan và ngôn

ngữ lập trình, tức chúng có thê mô tả được băng ngôn ngữ toán học. Một cách tống quát, mô

phòng là dựng lại mô hình trên máy tính phỏng theo hệ thống có trên thực tế và sau đó khảo

sát sự vận động của hệ.

Vì sao ta p h ả i thực hiện mỏ phòn g trên máy tính?

• Mô phỏng cho những thông tin chi tiết hơn (ớ m,'„> _ s .

phan tư). (ơ mức d9 vi mô từng nguyên tử -

• Có thể khảo sát mô hình trong những điều kiên lílir, tu . ,

hiện trên thực tê. • khÓ thực hiệ" h°ặc không thể thực

• Dễ dàng thay đổi các điều kiện khảo sát.

• Chon đươc dữ liệu tối ưu, tiết kiệm các quá trình tK.r „ 1 - , .J ' 7 , ư "ghiệm nhiều lần trên thực tế.

• Tiêt kiệm thời gian và tiên bạc.

Có một số dạng mô hình để mô phỏng như sau:

• Mô hình mô phon g động lực học VCI tĩnh h ọ c : Mô hình tmi k ., _ „ , , X

vào một thời điểm riêng hoặc diễn tả hê thống tronl tỉi'1- . ọ c dung mo tả hệ thông

không đóng vai trò nào. Ví dụ: các mô hình M onte-^n? mà đơn giản thời g.ian

mô hình mô phỏng động lực học dùng diễn tá he thố ar,r ~ ac trưdrn£ hợp cdn

mô hình diễn tả vân động các nguyên từ theo thoi ó ỉa ^ . '.en ! a tbeo. tbơl g|an' V1 dụ:

đọng lực học phan tử « h 8 « nhạn đưực bàng phtrơng pháp

• Mô hình mô phỏn g ngẫu nhiên vc) tất định: Nếu mò U' V,

cứ yếu tố ngẫu nhiên nào thì dó là mô hình tắt đinh ví H i?»0 P í0I?g chứa bât

vi phân diễn tả phản ứng hóa học. Trong mô hình Ầt l ĩ kÍ I ? 0 phương trìr?

định một lần bởi tập hợp các đại lượng đâu vào và r ắ u ĩ \ u ĩ iệuđẩu ra được quyết

mô hình. Ngược lại, khi mô hình chứa ít nhất môi ? L _ C,Aương quíT bên tronS

đó là mô hình mô phỏng ngẫu nhiên. Ví du- mo h aú phan |ư đail_vào nẾ?au nhiên thì

nguyên tử trong chất sắt từ bảng phương phán p, " g phân bố moment từ

ngẫu nhiên. p p Monte-Carl° mô hình mô phỏng

• Mô hình mô phỏng rời rạc và liên tục: tươne tư IíK : -í Ị. , , , .

thong lỉen tục « g i a i thiên à trên - 8 ự kh4i ni«m ^ h« thố"8 r « rạc vả hệ

1.3. CÁC BƯỚC TIẾN HÀNH QUÁ TRÌNH MÔ PHỎNG

Quá trình mô phỏng bao gôm các bước cơ bản sau:

c o SỜ CỦA QUẢ TRÌNH MÔ PHỎNG 11

Hình 1.4. Sơ đồ khối các bước của quá trình mô phỏng.

• Diễn tả rõ ràng vẩn đ ề và kế hoạch nghiên cứu: Bất kỳ nghiên cứu nào cũng bắt đầu

băng việc xác định rõ ràng và chi tiết các đổi tượng nghiên cứu và những phân đặc

trưng. Nghiên cứu tông quát cần lên kế hoạch về số người tham gia, kinh phí và thời

gian cần cho mỗi phần nghiên cứu.

• Thu thập dữ liệu và xác lập mô hình: Thông tin cần được thu thập một cách có hệ

thống theo những điều quan tâm. Việc thiết kế các mô hình toán học và logic cùa

12 CHƯƠNG

môt hê thống thực là một nghệ thuật và là một khoa học. Một ý tưởng hay luôn b

đầu ban” một mô hình chi tiết vừa phái, sau đó có thể làm tinh vi hơn nêu cân. M

hinh can có vừa đủ chi tiết đế nấm bắt những điều cân thiêt của hệ thông cho ca

mue tiêu mà mô hình dự định hướng tới. Không cần thiết phải có sự phù hợp mợ

mọt giữa các phần tử của mô hình và các phần tử của hệ thống. Một mô hình quá ct

tiết co thể trơ nên quá đắt để viết chương trình máy tính và thực hiện.

• Sư tin cây : Để tăng độ tin cậy của mô hình, khi thiết kế mô hình nên lôi kéo sự thar

gia cua nhímg người quen thuộc với các hoạt động của hệ thống thực. Bên cạnh đe

những ngươi viet chương trình náy tính để thực thi quá trình mô phóng nên trao đe

thương xuyên với nhóm thiết kế mô hình (nếu hai nhóm này là riêng biệt). Điêu nà

lam tang đọ tin cậy của mô hình. Hơn nữa, sự chính xác của nguôn sinh ra các xác suâ

chuyêndung để tạo ra các dữ liệu đầu vào có tính ngẫu nhiên phải được kiểm tra.

• Viết chương trình máy tính và k ‘ẻm tra chương trình: Trước tiên cần chọn ngôn ngi

lap trình de viet chương trình n áy tính (program) phụ_c vụ cho quá trình mô phỏng

Đo phai là ngon ngữ co sẵn tre ng máy tinh và là thê mạnh lập trình cùa bản thâi

ngươi soạn chương trình, cần '.ưu ý, mô phỏng trên máy tính là lĩnh vực đã hìnl

thanh va phat triển gần 60 năm qua trên thế giới. Vì vậy, hiên tại đã có cà một khe

chương trinh-phần mềm chuẩn cho tất cả các lĩnh vực khoa học-kỹ thuật (có thế phả

tra le phi sư dụng hay miễn phí) và có thể download từ internet. Có thế tìm source

code theo từng chủ đề nghiên ,cứu thông qua công cụ tìm source code tại trang

httpV/www.google.com/codesearch. Nên tận dụng tối đa những phần mềm đã có đé

thưc hiện các mo phỏng (tìm trên internet theo công cụ tìm source code vừa nêu).

• Chạy thử nghiệm : Các cuộc chạy thử nghiệm là rất quan trọng để kiểm tra độ tin cậy

cua mo hình chuẩn bị cho những bước tiếp theo của quá trình mô phỏng.

• Có tin cậy kh ôn g ? Những cuộc chạy thứ có thế dùng đề kiểm tra độ nhạy của dữ liệu

đau ra cua mô hình khi thay đối một ít dữ liệu đầu vào. Nếu hệ thống tương tự như

mot loại đang tồn tại trong thực tế, dữ liệu đầu ra của các cuộc chạy thử cần so sánh

vơi cae hẹ thực đang có. Nếu không phù hợp tốt thì phái cải tiến mo hình. Ví dụ: Đế

kiểm chứng độ tin cậy của mô hình khảo sát hiện tượng nóng chảy của Ni tinh thế

(fcc) có be mặt tự do dạng màng móng băng phương pháp động lục học phân tử,

trước tiên ta cần kiếm chứng nhiệt độ nóng cháy cùa mô hình có phù hợp giá trị nhận

được bằng thực nghiệm hay'không. Nếu chương trình mô phóng đã hoạt động không

hoan hào thì vấn đề là ở thế tương tác giữa các nguyên tử (có thế thay thể bâng các

thế tương tác khả thi nhât).

• Thiết kế cá c thỉ nghiện : Nếu trên thực tế có nhiều lựa chọn thì cần quyết định chọn

he thong tối ưu. Đôi khi chưa thể đưa ra được các quyết định ngay giai đoạn này.

Thay vao đó, dùng kết quả chạy thử để chọn các thiết kế (xem ví dụ về mô phỏng

hiện tượng nóng chảy cua Ni ớ trên).

• Phân tích dữ liệu đầu ra: Các kỹ thuật thống kê thường được dùng để phân tích dữ

liệu đầu ra.

• Thực hiện và thực thi kết quá: Đầu ra của quá trình mô phòng chi là những con sổ. ta

cần xử lý các dữ liệu này mới nhận được những thông tin cân thiết.

Các bước của quá trình mô phỏng trên máy tính thế hiện trên Hình 1.4.

CO SỚ CỦA QUẢ TRÌNH MÔ PHÔNG 13

Một Số phần mềm thông dụng có thể liệt kê như sau:

Phần mềm đễ mô phỏng - tính toán dùng phương pháp động lực học phân tử cổ điển

Materials studio, GROM ACS, LAMMPS, GULP, VMD, NAMD, ESPRESSO,

M X D O RTO ,.... Trong đó, LAMMPS là phần mềm có nhiều tiện ích và dùng phổ biến bậc

nhất hiện nay và download miễn phí. Phần mềm GROMACS thường dùng mô phỏng protein

hay các đối tượng sinh học.

Phần mềm để mô phồng tính toán dùng các phương pháp tính toán lưọng tử

VASP, SIESTA, quantum ESPRESSO , ... VASP là phần mềm có độ tin cậy cao nhưng tiền

bản quyền khá đắt. Riêng SIESTA , quantum ESPRESSO thì download miễn phí, trong đó

quantum ESPRESSO được nhiều nơi đưa vào giáo trình giảng dạy.

Phần mềm xử lý dữ liệu

ORIGIN, VM D, ... Phần mềm ORIGIN là phần mềm vẽ đồ thị và xứ lý dữ liệu thông

dụng nhất và thuận tiện nhất hiện nay. VMD là phần mềm thể hiện trực quan (trong

không gian 2 hoặc 3 chiêu) kêt quả tính toán hay tạo các video clips rât sinh động và

dùng rất phổ biến.

1.4. ƯU Đ IÈM VÀ HẠN CH É CỦA MÔ PHỎNG

Những ưu điểm của mô phỏng cỏ thể liệt kê như sau:

• Có thể thực hiện trong một loạt các điều kiện khác nhau trong các bối cảnh khác

nhau: Trên máy tính, ta có thể dễ dàng thay đổi các điều kiện mô phỏng (thay đổi

dữ liệu đầu vào) để xem dữ liệu đầu vào ảnh hưởng đến dữ liệu đầu ra như thế

nào. Đây là điều không phải dễ dàng thực hiện khi làm thí nghiệm trực tiếp với hệ

thống thực.

• Có thể thực hiện mô phỏng trong những điều kiện rất khó thực hiện trên thực tế. Ví

dụ: Thực hiện mô phỏng ở vùng nhiệt độ rất cao hay áp suất rất cao, đây là những

điều kiện rất khó thực hiện hoặc không thể thực hiện trên thực tế.

• Có thể giải quyết những bài toán mà không thể giải quyết bàng các phương pháp giái

tích truyền thống. Ví dụ: Kháo sát sự vận động của hệ chứa hàng ngàn (hay vài chục

ngàn) nguyên tử tương tác thông qua một thè tương tác cho trước. Đây là bài toán

không thể giải được bàng phương pháp giái tích truyên thống nhưng có thê thực hiện

dễ dàng bằng phương pháp động lực học phân tứ.

• Tiết kiệm thời gian và tiền bạc khi có thể chọn ra mô hình tối ưu trước khi sán

xuất thử.

• Cho ra những thông tin ở mức độ vi mô từng nguyên tir-phân tứ. Nhừng thông tin

như tọa độ, vận tôc từng nguyên tír - phân tứ,... chi có thê nhận được bãng phương

pháp mô phỏng trên máy tính.

• Có tác dụng dự đoán, kiểm chửng các lý thuyết đã có ,...

14 CHƯƠNG I

Tuy nhiên, mô phỏng cũng có những hạn chế:

• Đầu vào và đầu ra cùa mô phỏng chỉ là những con sổ, đế nhận được những thông tin

bổ ích phải có các xử lý dữ liệu tiếp theo. Dù mô phóng cho những thông tin ớ mức

độ vi mô từng nguyên tử - phân tử và. trong một sổ trường hợp. mô phỏng có thê đóng

vai trò khá độc lập như một phương thức thực nghiệm mới "thực nghiệm trên máy

tính”, mô phỏng không thế thay thế hoàn toàn hệ thống thực mà có tác dụng bố sung.

• Độ tin cậy của dữ liệu phụ thuộc rất nhiều vào phương pháp mô phỏng, việc chọn

các phương pháp mô phỏng thích hợp cho từng đối tượng mô phỏng là rât quan

trọng. Ví dụ: Không thể dùng phương pháp động lực học phân tứ cố điển để khảo sát

những hiệu ứng lượng tử ờ vùng nhiệt độ thấp gần 0 K trong vật liệu. Thước đo độ

chính xác: so sánh với thực nghiệm những đại lượng cơ bán.

• Trong vật lý: mô hình còn khá nhó so với hệ thực. Phần lớn các mô hình kháo sát các

đôi tượng vật lý vật liệu chi chứa vài ngàn p.guyên tử, đây là con số quá nhỏ so với

mẫu vật liệu thực dùng trong thí nghiệm trên thực tế.

• So với phương pháp giải tích: đẳt hơn và phức tạp hơn nhưng rất rẻ so với những

phương pháp thực nghiệm truyền thống.

1.5. THIẾT KÉ MỘT PROGRAM ĐẼ MÔ PHỎNG

1.5.1. Thiết kế một chương trình (program)

Khi không thê tìm các phân mêm chuyên dụng trên internet phục vụ cho hoạt động mô phỏng

mà ta quan tâm, người làm mô phỏng phải tự thiết kế chương trình máy tính (programming)

để thực hiện các tính toán-mô phóng cho riêng mình. Có ba bước chính đe thiết kế mọt

chương trình máy tính phục vụ cho việc mô phóng:

• Viết thuật toán (algorithm) để giải quyết bài toán

• Viết sơ đồ khối của chương trình chuẩn bị viết

• Dựa vào sơ đồ khối để viết chương trình

Viết chương trình máy tinh đế phục vụ mô phóng giống như viết văn. đó là công việc thuần

tuy ca nhạn. Noi chung, sau khi đa nam vững một ngôn ngữ lập trình đê có kỹ năng viêt

chương trinh tot thi phai qua tưng bươc như sau: (i) Trước hết phải có khả năng hiêu những

chương tnnh cua ngươi khac viet như chinh mình viêt (biết sừ dụng các phân mêm chuyên

dụng) để tích lũy kinh nghiệm; (ii) Bước tiếp theo là tiến tơi tự viết những chương trình phục

vụ hoạt động nghiên cứu của riêng mình từ dễ đến khó; (ui) Trước khi viet chương trình, cần

phác họa vấn đê cân giải quyêt, các biến hay các hệ số cần đến. cấu trúc tống quát một

chương trình gồm ba phân chính: gán giá trị ban đầu cho các biến và hệ số, tiến hành các tính

toán và cuối cùng là thê hiện kết quá.

1.5.2. Kiểm tra một chương trình đã viết

Không kê những lôi khi chạy thừ do sai câu cú, lỗi chính tả__ một chương trình chưa được

xem là chạy dược nếu các kết quá tính toán được còn sai. Vì vậy. cần có một số thú thuật

chinh sưa chương trình sau khi viết. Các lỗi sai sot về câu cú, lồi chính tả,... co thể chính sưa

c o SỞ CỦA QUẢ TRÌNH MÔ PHỎNG 15

nhanh chóng vì rất dễ phát hiện. Đế kiểm tra xem kết quả tính toán được dã hợp lý chưa, ta

cân các bước sau:

• Kết quả tính toán có hợp lý không? Trước khi tính toán, bao giờ cũng có các ý

tưởng sơ khởi trước là kêt quả phải như thế nàò mới đúng. Vì vậy, đầu tiên phải kiêm

tra là kêt quả tính được có phù hợp một cách trực quan hay không. Việc này còn làm

tăng sự hiêu biêt tông quan của người viết chương trình về vấn đề cần kháo sát đế khi

đưa kêt quả tính toán được cho người khác xem ta có thể thuyết phục được họ.

• Kết quả tính toán của chưong trình ta viết có phù họp với kết quả tính toán của

nhũng chương trình tương tự của ngưòi khác? Nếu đã có những tính toán trước

đó (tìm trong tài liệu) vê cùng vấn đề ta đang thừ tính, chúng ta có thể kiểm tra độ tin

cậy khi so sánh với dữ liệu đã có. Một cách kiếm tra độ tin cậy của kết quá tính toán

là xét chọ trượng hợp tới hạn. Ví dụ: Bạn đang viết chương trình tính phân bố sô

phôi vị, tôt nhât nên thứ cho trường hợp mô hình tinh thê có cấu trúc fcc. Khi đó nhất

định sộ phôi vị tính được phái là z = 12 (trường hợp tới hạn), nếu không phái là 12

thì nhât định chương trình ta viêt là sai. Nếu không thứ cho trường hợp tới hạn này

mà tính trực tiêp cho phân bô sô phối vị trong mô hình lòng hay mô hình vô định

hình (VĐH) thì rât khó phát hiện lỗi của chương trình.

• Luôn kiểm tra rằng chưoìig trình cho kết quả như nhau khi thay đổi kích thưóx

mô hình: Trong chương trình tính sô phối vị trên, rõ ràng khi ta thay dôi kích thước

mô hình thì kêt quá tính toán nhất dịnh không thay đối cho trường hợp mô hình tinh

thê fcc. Với các mô hình khác cũng phải tương tự (trong phạm vi cho phép cùa sai

sô), ơ đây ta chưa đặt ra vân đê kêt quả inô phỏng còn phụ thuộc vào kích thước mô

hình, vấn đề này sẽ được đề cập chi tiết sau.

• Xác nhận kết quả tính toán được: Sai số trong tính toán là mối bận tâm lớn nhất

khi mô phỏng bất kỳ vấn đề nào. Việc chọn thuật toán (aluorithm) nào cho từng bài

toán và tính các sai số liên quan đến algorithm là chú dồ trọng tâm trong các course

khoa học máy tính và toán ứng dụng.

1*5.3. Một số hưởng dẫn khi viết một chưong trình

Như đã đề cập, việc viết một chương trình máy tính là việc thuần túy cá nhân, phụ thuộc vào

cách tiếp cận của từng người. Tuy nhiên, cũng có một số bước đi tổng quát như sau:

• Cấu trúc một chương trình: Nên dùng các chương trình con đế thực hiện các công

việc chính, khi đó làm cho chương trình dễ dọc, dễ hiêu. Nêu dùng nhiêu chương

trình con, chương trình chính sẽ có rât ít dòng lệnh và do đó rât rõ và dễ tiêp cận.

• Dùng cá c tên diễn tà ý nghĩa: Chọn tên cho các biến và chương trình con phù hợp

các vấn đề cần giải quyêt. Những tên như vậy làm cho chương trình dè hiêu.

• Dùng cá c câu chú thích-. Dùng các câu chú thích cho các biến và diễn giái tính logic

của chương trình. Nếu chương trình con ngán và được dùng với các tên diên tá ý

nghĩa thì không cân những chú thích dài dòng.

• Bỏ m ọi thứ đ ể gạn lọc: Không nên lạm dụng kỹ thuật mã hóa trong khi viết chương

trình tốt hơn hết nên viết thêm vài dòng, thêm vài biến thì chương trình dê hiêu hơn.

Tải ngay đi em, còn do dự, trời tối mất!