Professional Documents
Culture Documents
MohinhMophong 02
MohinhMophong 02
Có thể định nghĩa: “Mô phỏng là quá trình xây dựng mô hình
toán học của hệ thống thực và sau đó tiến hành tính toán thực
nghiệm trên mô hình để mô tả, giải thích và dự đoán hành vi
của hệ thống thực”.
Do đó 3 điểm cơ bản mà mô phỏng phải đạt được là:
1) Phải có mô hình toán học tốt, tức là mô hình có tính đồng
nhất cao với hệ thực, đồng thời mô hình được mô tả rõ ràng
thuận tiện cho người sử dụng.
2) Mô hình cần phải có khả năng làm thực nghiệm trên nó, tức
là có khả năng thực hiện các chương trình máy tính để xác
định các thông tin về hệ thực.
3) Có khả năng dự đoán hành vi của hệ thực, tức là có thể mô
tả sự phát triển của hệ thực theo thời gian.
1
II: Các vấn đề chính trong mô hình mô phỏng
Ưu điểm của phương pháp mô phỏng
1) Mô phỏng là thực nghiệm giá thấp (giảm giá tới 75% với thí
nghiệm trong phòng thí nghiệm); dễ dàng thực hiện, thay
đổi và đánh giá / so sánh các phương án khác nhau.
2) Có khả năng nghiên cứu các hệ thống phức tạp, có các yếu
tố ngẫu nhiên, phi tuyến, đối với những hệ thống này
phương pháp giải tích thường không có hiệu lực.
3) Có thể đánh giá các đặc tính của hệ thống làm việc trong
điều kiện dự kiến trước hoặc ngay cả khi hệ thống còn
đang trong giai đoạn khảo sát, thiết kế, hoặc chưa tồn tại.
4) Có thể nghiên cứu các giải pháp điều khiển hệ thống.
5) Có thể nghiên cứu đối với hệ thống có thời gian hoạt động
dài như hiện tượng từ biến, biến đổi khí hậu...
2
II: Các vấn đề chính trong mô hình mô phỏng
Nhược điểm của phương pháp mô phỏng
1) Phương pháp đòi hỏi công cụ mô phỏng đắt tiền như máy
tính, phần mềm chuyên dụng.
2) Thông thường chỉ đạt được nghiệm tối ưu cục bộ.
3) Khó khăn trong việc kiểm chứng mô hình.
4) Phương pháp mô phỏng thường sản sinh ra khối lượng lớn
các dữ liệu có tính thống kê xác suất, do đó đòi hòi sự hiểu
biết sâu rộng về thống kê và các lĩnh vực khác.
5) Là phương kế cuối cùng !
Khi quyết định dùng phương pháp mô phỏng để nghiên cứu
hệ thống phải phân tích kỹ ưu nhược điểm và điều kiện cần
thiết để thực hiện phương pháp này, đồng thời so sánh với
phương pháp giải tích nếu có thể được. 3
II: Các vấn đề chính trong mô hình mô phỏng
Quan hệ giữa mô hình mô phỏng và hệ thống thực
4
II: Các vấn đề chính trong mô hình mô phỏng
Sơ đồ cấu trúc của mô hình
Một cách tổng quát, tất cả các mô hình đều phải có 3 thành
tố chính, gồm:
• Thông tin vào: bao gồm các dạng cơ sở dữ liệu đưa vào để
mô hình xử lý.
• Tiến trình xử lý thông tin: bao gồm quá trình tiếp nhận dữ liệu
vào, tính toán, phân tích, đánh giá và xuất dữ liệu.
• Thông tin ra: thể hiện ở dạng đồ thị, biểu bảng, báo cáo đánh
giá kết quả.
5
II: Các vấn đề chính trong mô hình mô phỏng
Nguyên tắc định hướng khi xây dựng mô hình
1 - Nguyên tắc xây dựng sơ đồ khối:
Nhìn chung hệ thống thực là một hệ thống lớn phức tạp, do
vậy, nên phân chúng ra thành nhiều hệ con, mỗi hệ con đảm
nhận một số chức năng nhất định. Mỗi hệ con được biểu diễn
bằng một khối, tín hiệu ra của khối trước là tín hiệu vào của
khối sau.
2- Nguyên tắc thích hợp:
Tuỳ theo mục đích nghiên cứu mà người ta lựa chọn một
cách thích hợp giữa tính đồng nhất và tính thực dụng của mô
hình. Cân nhắc để bỏ bớt một số chi tiết ít quan trọng để mô
hình bớt phức tạp và việc giải các bài toán trên mô hình dễ
dàng hơn.
6
II: Các vấn đề chính trong mô hình mô phỏng
7
II: Các vấn đề chính trong mô hình mô phỏng
Một mô hình cần thể hiện các đặc trưng sau:
+ Mô hình cần được tối giản với một số giả thiết đặt ra;
+ Điều kiện biên hoặc điều kiện ban đầu cần định danh;
+ Mức độ, khả năng ứng dụng của mô hình có thể xác lập
được.
Tuỳ thuộc vào mục đích nghiên cứu mà tính đồng nhất và
tính khả dụng của mô hình được chọn một cách thích hợp.
8
II: Các vấn đề chính trong mô hình mô phỏng
Sơ đồ khối:
Định nghĩa các khối: Nhập: thời
điểm xuất phát
sai
Thời tiết tốt
Nhập / xuất đúng
dữ liệu sai
Giờ cao điểm
đúng
Thực hiện công việc Tìm kiếm thông tin giao thông
sai Đường A
Đi đường A
tắc
Điều kiện đúng
Sang đường B
9
II: Các vấn đề chính trong mô hình mô phỏng
10
II: Các vấn đề chính trong mô hình mô phỏng
11
II: Các vấn đề chính trong mô hình mô phỏng
12
II: Các vấn đề chính trong mô hình mô phỏng
15
II: Các vấn đề chính trong mô hình mô phỏng
16
II: Các vấn đề chính trong mô hình mô phỏng
17
II: Các vấn đề chính trong mô hình mô phỏng
Các bước chính trong mô hình mô phỏng
1) Xác định mục tiêu và lập kế hoạch
2) Xác lập hệ thống: giới hạn không gian, thời gian, mô hình
khái niệm
3) Mô hình hóa hệ thống
4) Xây dựng cấu trúc chương trình: các sơ đồ khối, thuật
toán, phương pháp giải
5) Viết, biên dịch và chạy thử chương trình máy tính
6) Kiểm tra mô hình: mô tả hành vi, độ nhạy của các thông số,
tính ổn định, tính tiệm cận nghiệm
7) Kiểm định mô hình: hiệu chỉnh và kiểm tra qua các tham
số, hành vi /phản ứng đo đạc từ hệ thống thực trong 1 số
điều kiện xác định
8) Tổ chức chạy chương trình và xử lý, biểu diễn kết quả
9) Đánh giá về tính khả dụng, kiến nghị hoàn thiện
10) Biên tập tài liệu kỹ thuật và hướng dẫn sử dụng. 18
II: Các vấn đề chính trong mô hình mô phỏng
(1) Xác định mục tiêu Xác định mục tiêu và lập kế hoạch
Trước hết, phải xác định rõ mục tiêu
nghiên cứu mô phỏng. Mục tiêu phải
được thể hiện bằng các chỉ tiêu đánh
giá, bằng hệ thống các câu hỏi cần được
trả lời.
(2) Xác lập hệ thống
(3) Mô hình hóa hệ thống Việc lập kế hoạch triển khai phải khả
(4) Xây dựng cấu trúc CT
thi, hợp lý và mềm dẻo. Không nhất thiết
các bước phải được tiến hành tuần tự từ
(5) Viết và chạy thử CT
(1) đến (10), mà có thể thực hiện song
(6) Kiểm tra chương trình song, chẳng hạn, một phần SL thực đo,
(7) Kiểm định bằng sl thực trong bước (2), có thể đến bước (7) mới
(8) Tổ chức chạy CT sử dụng, các bước (4) và (5) có thể cùng
(9) Đánh giá kết quả
tiến hành …
(10) Tài liệu KT và HDSD 19
II: Các vấn đề chính trong mô hình mô phỏng
(1) Xác định mục tiêu
(2) Xác lập hệ thống Xác lập hệ thống
Xác định giới hạn (ranh giới) của hệ
thống với môi trường, các vấn đề cần
được nghiên cứu, giải quyết.
Xác định kích cỡ thời gian, các giả
(3) Mô hình hóa hệ thống
thuyết được áp dụng …
(4) Xây dựng cấu trúc CT
Xây dựng mô hình khái niệm (sơ đồ,
nguyên lý …)
(5) Viết và chạy thử CT
Thu thập và xử lý các dữ liệu, thông số
(6) Kiểm tra chương trình
của hệ thống thực (kích thước, cấu trúc,
(7) Kiểm định bằng sl thực
tính chất…), tham số đầu vào, điều kiện
(8) Tổ chức chạy CT môi trường, lực tác động, cũng như hành
(9) Đánh giá kết quả vi / phản ứng của hệ thống thực trong
một số điều kiện nhất định …
(10) Tài liệu KT và HDSD 20
II: Các vấn đề chính trong mô hình mô phỏng
(1) Xác định mục tiêu
(2) Xác lập hệ thống
(3) Mô hình hóa hệ thống Mô hình hóa hành vi của mô hình
Mô tả tính chất / hành vi của các đối
tượng, của mô hình hệ thống bằng cách
thiết lập các phương trình toán học, hệ
thức và quan hệ logic một cách thích
hợp.
(4) Xây dựng cấu trúc CT
(5) Viết và chạy thử CT Ví dụ: Trong mô hình Mưa dòng chảy
(Beater,1989), quá trình chảy tràn của
(6) Kiểm tra chương trình
nước mưa trên bề mặt có thể mô tả bằng
(7) Kiểm định bằng sl thực
hệ phương trình Saint Venant 2 chiều.
(8) Tổ chức chạy CT
(9) Đánh giá kết quả
30
II: Các vấn đề chính trong mô hình mô phỏng
Một số phương pháp gần đúng
Khái niệm sai số: Giả sử x là số gần đúng của x* (x* là số đúng), khi đó:
Δ = x − x∗ gọi là sai số thực sự của x.
|Δ| là sai số tuyệt đối (vì không xác định được Δ nên ta ước lượng sai số tuyệt đối
bằng số dương đủ bé Δx thỏa mãn |x − x*| ≤ Δx).
δx= Δx / |x| là sai số tương đối.
Các loại sai số: Dựa vào nguyên nhân gây ra sai số, ta có:
- Sai số giả thiết: xuất hiện do việc giả thiết bài toán đạt được một số điều kiện lý
tưởng nhằm làm giảm độ phức tạp của bài toán.
- Sai số do số liệu ban đầu: xuất hiện do việc đo đạc và cung cấp giá trị đầu vào
không chính xác.
- Sai số phương pháp: xuất hiện do việc giải bài toán bằng phương pháp gần đúng.
- Sai số tính toán: xuất hiện do làm tròn số trong quá trình tính toán, quá trình tính
càng nhiều thì sai số tích luỹ càng lớn.
31
II: Các vấn đề chính trong mô hình mô phỏng
a) Giải gần đúng phương trình phi tuyến f(x) = 0: Ta tiến hành qua 2 bước:
- Tách nghiệm hoặc xác định khoảng có nghiệm (đồ thị, phép thử-sai)
- Chính xác hoá nghiệm: thu hẹp dần khoảng chứa nghiệm để hội tụ được đến giá
trị nghiệm gần đúng với độ chính xác cho phép; có thể áp dụng một trong các
phương pháp sau:
+ Phương pháp chia đôi: Giả sử có f(x) liên tục và trái dấu tại 2 đầu [a,b]. Xét
trường hợp f(a)>0, f(b)<0), khi đó tìm nghiệm μ bằng cách: Đặt [a0, b0] = [a, b],
[ai , bi ] (i=1, 2, 3, …) được xác định bởi:
32
II: Các vấn đề chính trong mô hình mô phỏng
+ Phương pháp lặp: Biến đổi tương đương: f(x) = 0 <=> x = g(x) và chọn giá trị
ban đầu x0 ∈ khoảng nghiệm (a,b), tính x1 = g(x0), x2 = g(x1), … , xk = g(xk-1).
Như vậy ta nhận được dãy {xn}, nếu dãy này hội tụ thì xn→ μ (là nghiệm phương
trình).
33
II: Các vấn đề chính trong mô hình mô phỏng
+ Phương pháp tiếp tuyến: chọn x0 ∈ khoảng nghiệm (a, b), tiếp tuyến tại A0 (x0,
f(x0)) cắt trục x tại điểm có hoành độ x1; tiếp tuyến tại A1 (x1, f(x1)) cắt trục x tại
điểm có hoành độ x2, …; tiếp tuyến tại Ak (xk, f(xk)) cắt trục x tại điểm có hoành độ
xk, …nếu hội tụ xk có thể tiến dần đến nghiệm μ của phương trình. Công thức lặp
được xác định bởi phương trình tiếp tuyến tại điểm Ak (xk, f(xk)):
y - f(xk) = f’(xk)*(x - xk)
sẽ cắt trục x tại điểm
có toạ độ (xk+1, 0)
0 – f(xk) = f’(xk)*(xk+1 - xk)
f ( xk )
xk 1 xk
f ( xk )
34
II: Các vấn đề chính trong mô hình mô phỏng
+ Phương pháp dây cung: Giả sử [a, b] là khoảng nghiệm phương trình f(x)=0. Gọi
A, B là 2 điểm trên đồ thị f(x) có hoành độ tương ứng là a, b. Phương trình đường
thẳng qua 2 điểm A(a,f(a)), B(b, f(b)) có dạng:
y f (a ) xa
dây cung AB cắt trục x tại điểm có toạ độ (x1, 0)
f (b) f ( a ) b a
(b a ) f ( a )
x1 a
f (b) f ( a )
Nếu f(a)*f(x1) <0, thay b=x1
còn nếu f(b)*f(x1) <0, thay a=x1
Tiếp tục với khoảng nghiệm [a, b]
mới ta sẽ có dãy các điểm x2, x3, …,
xk tiệm cận đến nghiệm của bài
toán.
35
II: Các vấn đề chính trong mô hình mô phỏng
b) Giải gần đúng phương trình vi phân cấp 1 (bài toán Cauchy):
Bài toán: tìm hàm y=y(x) thỏa mãn:
y'(x) = f(x,y) x∈ [a,b] (1a)
y(a) = y0 (điều kiện ban đầu hay điều kiện Cauchy) (1b)
Giả thiết rằng bài toán (1) có nghiệm duy nhất y = y(x), x∈ [a,b], a = x0, và
nghiệm y(x) đủ trơn, nghĩa là nó có đạo hàm đến cấp đủ cao, khi đó có 2 nhóm
phương pháp được sử dụng:
Tìm nghiệm chính xác: bằng cách dựa vào cách tính tích phân trực tiếp, xác định
được dạng nghiệm tổng quát, sau đó dùng điều kiện ban đầu để xác định nghiệm
riêng cần tìm.
Tìm nghiệm gần đúng: Xuất phát từ điều kiện ban đầu để xác định nghiệm gần
đúng. Phương pháp này có thể áp dụng cho một lớp phương trình vi phân rộng hơn
rất nhiều so với phương pháp trực tiếp, do đó được dùng nhiều trong thực tế.
36
II: Các vấn đề chính trong mô hình mô phỏng
+ Phương pháp Euler:
Cách giải gần đúng (1) là tìm các giá trị gần đúng yi của hàm y(x) tại các điểm xi, i
= 0, 1, 2,... n.
trong đó, a = x0 < x1 < . . . < xn = b; xi = x0 + ih, i=0, 1,..., n-1; h = (b – a)/n
Tại x = x0 đã cho y = y0, do vậy ta sẽ lần lượt xác định y1 tại x1, rồi y2 tại x2, và nói
chung khi đã biết giá trị gần đúng yi tại xi ta sẽ tính yi+1 tại xi+1.
Công thức khai triển Taylor hàm y(x) tại xi:
x xi
2
x xi
y( x) y( xi ) y '( xi ) y ''(ci ), ci ( xi , x)
1! 2!
Thay x = xi+1 = xi + h, y'(xi) = f(xi,y(xi)) vào đẳng thức trên ta có
h2
y ( xi 1 ) y ( xi ) hf ( xi , y ( xi )) y ''(ci ), ci ( xi , x i 1 )
2
Bỏ qua số hạng cuối (bậc cao), đồng thời thay các giá trị hàm đúng y(xi+1), y(xi),
f(x,y(xi)) bằng các giá trị xấp xỉ yi+1, yi, f(x,yi) vào (3) ta có:
yi+1 = yi + h f(xi,yi) (2) công thức Euler
Công thức này cho phép tính yi+1 khi đã biết yi . Đây là phương pháp hiện, có độ chính
xác bậc nhất:
1 2
Ri (h) y( xi ) - yi h y ''(ci -1 ) (h 2 )
2! 37
II: Các vấn đề chính trong mô hình mô phỏng
+ Phương pháp Euler cải tiến:
Để tăng độ chính xác của phương pháp Euler người ta sử dụng công thức hình
thang: yi+1 = yi + h [f(xi,yi)+f(xi+1,yi+1)]/2 (3) công thức Euler cải tiến
Khi đó phương pháp có độ chính xác bậc 2:
1 3
R i (h) = y(x i ) - yi = h y'''(ci-1 ) = (h 3 )
3!
+ Phương pháp Euler – Cauchy: Thực chất đây cũng là phương pháp Euler cải tiến,
tuy nhiên sự khác biệt ở chỗ ta dùng công thức (3) nhiều lần khi tính yi để đạt được
độ chính xác cao hơn. Cụ thể:
Bước 1) Tính u = yi-1 + hf(xi-1,yi-1)
Bước 2) Tính v = yi-1 + h [f(xi-1,yi-1) + f(xi,u)] /2 (4)
Nếu |v-u|< δ thì ta chọn yi = v, ngược lại ta thay u = v và tính lại bước (b). Người ta
chứng minh được rằng với h đủ bé thì quá trình lặp (4) hội tụ. Vì vậy nếu sau 3, 4
lần lặp mà vẫn thỏa mãn thì cần giảm bước h và làm lại từ đầu.
38
II: Các vấn đề chính trong mô hình mô phỏng
+ Phương pháp Runge-Kutta:
Để tăng độ chính xác của phương pháp người ta sử dụng công thức khai triển
Taylor bậc cao hơn:
x xi 2
( x xi )
3
( x xi )
y ( x) y ( xi ) y '( xi ) + y ''( xi ) y '''(ci ) ..., ci ( xi , x)
1! 2! 3!
Thay x =xi+1 = xi +h
h2 h3
ta có y ( xi 1 ) y ( xi ) h y '( xi ) + y ''( xi ) y '''(ci ), ci ( xi , x)
2 6
trong đó, y'(xi) = f(xi,y(xi))
f f y
y ''( xi ) x xi f x '( xi , yi ) f y '( xi , y ( xi )) y '( xi )
x y x
Để tránh tính trực tiếp fx'(xi,yi) và fy'(xi,yi), ta đặt yi+1 =yi +r1k1(i) + r2k2(i)
trong đó, k1(i) = hf(xi, yi)
k2(i) = hf(xi +αh, yi +β k1(i)) = h yi' + αh2 fx'(xi,yi) + β h2yi' fy'(xi,yi) + O(h3)
39
II: Các vấn đề chính trong mô hình mô phỏng
Nếu chọn r1 = r2 = 1/2 , α = β = 1 ta có:
y0 =y(x0) đã biết;
...
k1(i) = hf(xi, yi)
k2(i) = hf(xi +h, yi + k1(i))
yi+1 = yi +( k1(i) + k2(i) )/2; i=0,1,...,n-1.
Đây là phương pháp Runge-Kutta trên đây có độ chính xác bậc 2.
Nếu bỏ qua số hạng O(h5) thì ta nhận được công thức Runge-Kutta có độ chính
xác bậc 4:
y0 =y(x0) đã biết;
...
k1(i) = hf(xi, yi)
k2(i) = hf(xi +h/2, yi + k1(i)/2)
k3(i) = hf(xi +h/2, yi + k2(i)/2)
k4(i) = hf(xi +h/2, yi + k3(i))
yi+1 = yi +( k1(i) + 2k2(i) + 2k3(i) + k4(i))/6; i=0,1,...,n-1
40
II: Các vấn đề chính trong mô hình mô phỏng
c) Giải gần đúng phương trình vi phân đạo hàm riêng:
Các hiện tượng vật lý được biểu diễn bằng các (hệ) phương trình vi phân đạo hàm
riêng (chính vì vậy chúng còn được gọi là phương trình toán lý, PTTL).
Khái niệm:
f (x,y,z,t) là hàm xác định trong một miền không gian thực R3 ba chiều; x, y, z, t là
biến không gian và thời gian độc lập.
f
Ta ký hiệu đạo hàm riêng cấp 1 theo biến x là hay f x , tương tự đối với y, z và t.
x
2 f f 2 f f
đạo hàm riêng cấp 2: = ( ) f ; = ( ) f xy
x 2 x x xy x y
xx
Nếu thỏa mãn điều kiện liên tục fxy= fyx , ; fxz= fzx . . .
Dạng PT tổng quát: F(x, y, z, t, u, ut, ux, uy, uz, uxy, uxz,uyz, …) = 0
PTTL sẽ là tuyến tính nếu tất cả các đạo hàm riêng có mặt trong PT đều ở dạng
tuyến tính và không có hệ số liên kết với các ĐHR chứa biến phụ thuộc.
41
II: Các vấn đề chính trong mô hình mô phỏng
Phân loại phương trình toán lý:
Theo ý nghĩa vật lý: lan truyền sóng, đối lưu, khuếch tán, bảo toàn khối lượng …
Theo toán học: hyperbol,ellip, parabol.
Xét phương trình đạo hàm riêng bậc 2 dạng tổng quát:
2u 2u 2u u u
a 2 +b +c 2 + d e fu g ( x, y)
x xy y x y
trong đó, u(x,y) hàm ẩn số cần tìm; x,y các biến độc lập chỉ không gian;
a, b, c, d, e, f là các hàm số tuyến tính của x,y; g(x,y) là hàm đã cho.
Khi đó nếu:
b2 – 4ac > 0 phương trình dạng hyperbol,
b2 – 4ac < 0 phương trình dạng ellip,
b2 – 4ac = 0 phương trình dạng parabol.
42
II: Các vấn đề chính trong mô hình mô phỏng
Một số dạng phương trình cơ bản:
x y z
(Nếu vế phải ≠ 0 ta có PT Poission)
2u
+ Phương trình lan truyền sóng: cw u
2 2
t 2
43
II: Các vấn đề chính trong mô hình mô phỏng
Một số phương pháp gần đúng
Điều kiện ban đầu và điều kiện biên:
Khi giải PTTL biểu diễn hiện tượng vật lý nào đó cần phải có các điều kiện biên
(biến không gian) và ban đầu thích hợp (khi có xét đến biến thời gian).
+ Điều kiện ban đầu: tại thời điểm ban đầu (t = t0) đã biết nghiệm của bài toán
u(x,y,t0)=g(x,y)
+ Điều kiện biên: giá trị của hàm ẩn tại các vị trí biên đã được xác định. Có các
dạng ĐKB như:
- Biên Dirichlet: Giá trị trên biên của hàm ẩn u đã biết: u|b = f(xb,yb,zb,t).
- Biên Neumann: Giá trị đạo hàm theo phương (thẳng góc với biên) của hàm
ẩn u đã biết: un|b= f(xb,yb,zb,t).
- Biên Cauchy: là tổ hợp của 2 loại biên trên.
44
II: Các vấn đề chính trong mô hình mô phỏng
Rời rạc hóa không gian, thời gian:
Không thể giải bài toán thực tế trong không gian và thời gian liên tục !?
Rời rạc hóa thể tích (domain) và hành vi của hệ thống theo không gian (x,y,z)
và thời gian (t): tức là hữu hạn hóa giá trị hàm ẩn cần xác định tại mỗi thời điểm,
cũng như số thời điểm tính toán.
+ Rời rạc hóa thời gian: Nghiệm của bài toán sẽ được xác định tại hữu hạn các
thời điểm bắt đầu từ thời điểm ban đầu to , t1 , … tn ; ti=ti-ti-1 là bước thời
gian; t có thể thay đổi hoặc không trong quá trình tiến triển của hệ thống.
+ Rời rạc hóa không gian hệ thống: Không gian của hệ thống được chia thông qua
hệ thống lưới (grid) thành các phần tử nhỏ (cell), mà trong đó các hành vi / tính
chất được coi là đồng nhất. Hệ thống lưới và các phần tử phải đảm bảo các điều
kiện:
- Bao phủ hoàn toàn không gian hệ thống;
- Không tồn tại khoảng trống giữa các phần tử;
- Các phần tử không được chồng lấn nhau. 45
II: Các vấn đề chính trong mô hình mô phỏng
Rời rạc hóa không gian, thời gian:
46
II: Các vấn đề chính trong mô hình mô phỏng
Lưới tính toán
Lưới bề mặt
47
Lưới thể tích
II: Các vấn đề chính trong mô hình mô phỏng
Lưới phi cấu trúc tính toán thủy lực 2D
48
II: Các vấn đề chính trong mô hình mô phỏng
49
II: Các vấn đề chính trong mô hình mô phỏng
Phương pháp sai phân hữu hạn:
Cơ sở khoa học:
- Rời rạc hóa hệ thống theo không gian (x,y,z) bằng hệ thống lưới đều theo từng
trục tọa độ: xi=x0+i*x, yj=y0+j*y, zk=z0+k*z và thời gian tn=t0+n*t
Các giá trị hàm sẽ chỉ được xác định tại các vị trí nhất định theo ô hoặc nút lưới!
Ký hiệu: uni,j,k = u(xi,ỵj,zk,tn) (chỉ số trên chỉ thời gian, dưới chỉ không gian)
50
II: Các vấn đề chính trong mô hình mô phỏng
Phương pháp sai phân hữu hạn:
Cơ sở khoa học:
- Xấp xỉ các số hạng đạo hàm riêng bằng các biểu thức sai phân: Định nghĩa của
đạo hàm riêng của hàm u(x,y,z) tại vị trí (x0,y0,z0)
u 2u x2 nu xn
u ( x0 x, y0 ,...) u ( x0 , y0 ,...) x 2 ... n ...
x X0 x X0
2! x X0
n!
u u ( x0 x, y0 ,...) u ( x0 , y0 ,...) 2u x2
2
x X0 x x X0
2!
51
II: Các vấn đề chính trong mô hình mô phỏng
Phương pháp sai phân hữu hạn:
Các sơ đồ sai phân:
Tùy theo cách xây dựng các công
thức sai phân, phụ thuộc vào vị trí
tương đối giữa điểm lấy đạo hàm và
điểm sử dụng các giá trị hàm, ta có
các sơ đồ sai phân khác nhau: sai
phân tiến, SP lùi, SP trung tâm, SP
ẩn, SP hiện, …
u u ( xi 1 ) u ( xi )
tk
Sai phân tiến: 0(x)
x xi x
u u ( xi ) u ( xi 1 )
tk
Xét trường hợp đơn giản trong bài toán 1 chiều, với sơ đồ hiện, điều kiện CFL
là: t*u ≤ x
Nghĩa là sơ đồ sai phân sẽ ổn định nếu “sự thay đổi”/nhiễu động dịch chuyển
trong 1 bước thời gian t không vượt quá khoảng cách 1 bước lưới không gian
x.
54
II: Các vấn đề chính trong mô hình mô phỏng
Kỹ thuật tính toán song song
Tính toán tuần tự:
Một công việc được chia thành một dãy rời rạc các chỉ thị mà máy tính có thể
hiểu để thực hiện.
Máy tính thực hiện các chỉ thị theo thứ tự mà chúng xuất hiện.
Chỉ có duy nhất một chỉ thị được thực hiện tại một thời điểm.
Chương trình tuần tự:
Chương trình được viết trên một ngôn ngữ nào đó để thể hiện việc tính toán
tuần tự được gọi là chương trình tuần tự.
Máy tính đơn nguyên: Loại máy tính thực hiện các lệnh một cách tuần tự và tại
mỗi thời điểm chỉ một chỉ thị duy nhất được thực hiện – máy tính chỉ có một
CPU. Vì chỉ có một CPU nên còn gọi là máy tính đơn nguyên.
55
II: Các vấn đề chính trong mô hình mô phỏng
sn
si
.. s3 s2 s1 CPU
56
II: Các vấn đề chính trong mô hình mô phỏng
Tính toán song song
Tính toán song song là quá trình tính toán gồm nhiều tiến trình đồng thời và
cùng tham gia tính toán giải quyết một công việc, và nói chung phải thực hiện trên
các hệ thống đa bộ xử lý.
Công việc cần tính toán được phân hoạch thành các phần tính toán rời rạc, các
phần này được tính toán song song với nhau.
Các chỉ thị của từng phần được thực hiện trên các CPU khác nhau.
Quan niệm đơn giản nhất, tính toán song song là tính toán đồng thời các phần
của công việc trên nhiều máy tính được kết nối lại hoặc trên một máy tính có nhiều
hơn một bộ xử lý.
57
II: Các vấn đề chính trong mô hình mô phỏng
CPU
CPU
CPU
CPU
59
II: Các vấn đề chính trong mô hình mô phỏng
Mục đích của tính toán song song
1. Nâng cao hiệu năng tính toán,
2. Giải quyết được các vấn đề khoa học kỹ thuật rất phức tạp trong thực tế:
- Giải quyết được các bài toán lớn, phức tạp:
Nhiều vấn đề quá lớn, quá phức tạp đến nỗi nó không thực tế hoặc không có khả
năng giải quyết chúng trên máy tính đơn, đặc biệt là bộ nhớ máy tính lại bị hạn chế.
Chẳng hạn như vấn đề:
+ Dự báo thời tiết, bão, động đất, sóng thần, mô hình sinh thái, …
+ Máy dò tìm web/CSDL để xử lý hàng triệu triệu giao dịch trên một giây (công
cụ tìm kiếm web/CSDL xử lý hàng triệu giao dịch/giây)
…..
- Cung cấp tính đồng thời:
Tài nguyên của một máy tính đơn nguyên chỉ có khả năng thực hiện một lệnh tại
một thời điểm. Tài nguyên của máy tính đa bộ xử lý có thể thực hiện nhiều lệnh
đồng thời.
- Sử dụng tài nguyên phi cục bộ:
Sử dụng tài nguyên tính toán trên một mạng diện rộng, hoặc thậm chí Internet
khi tài nguyên tại nơi tính toán tài nguyên đang khan hiếm, không đủ. 60
II: Các vấn đề chính trong mô hình mô phỏng
Ưu điểm:
Giải quyết được các bài toán lớn hơn, phức tạp hơn,
Có thể kết thúc công việc sớm hơn,
Chi phí có thể ít hơn nhiều,
...
Nhược điểm:
Tăng tính phức tạp cho hệ thống,
Tăng chi phí cho nhân lực vì phải tăng nhân lực,
Tăng chi phí mua các thiết bị,
Tăng chi phí lắp đặt hệ thống,
…..
61
II: Các vấn đề chính trong mô hình mô phỏng
62
II: Các vấn đề chính trong mô hình mô phỏng
Các vấn đề tối ưu trong tính toán song song
1)Tối ưu về thuật giải và phân vùng: Thuật toán được sử dụng phải có khả năng
song song hóa cao, chia đều được nhiệm vụ để các CPU đồng thời kết thúc các
công đoạn tính toán, tức là tính đồng bộ cao. Việc phân vùng (phân chia công
việc) phải tối ưu trong việc sử dụng các tài nguyên chung, giảm thiểu sự trao đổi
dư liệu giữa các đơn nguyên.
2)Tối ưu về phần cứng: Phải có sự đồng bộ cao giữa các đơn nguyên (CPU), giữa
tốc độ xử lý và truyền dẫn.
Về nguyên tắc, càng nhiều CPU được sử dụng đồng thời thì khối lượng công
việc phải xử lý của mỗi CPU càng ngắn, nên thời gian thực hiện càng ngắn.
Tuy nhiên, khi số lượng CPU được khai thác cùng lúc càng nhiều thì thời gian
dành cho trao đổi dữ liệu càng lớn.
{Tổng thời gian tính toán} = max {thời gian mỗi CPU cần dùng}
+ max {thời gian trao đổi, truyền dẫn dữ liệu}
Cần phải lựa chọn hệ thống máy tính có số CPU tối ưu ! N = {số tối ưu}
63
II: Các vấn đề chính trong mô hình mô phỏng
64
II: Các vấn đề chính trong mô hình mô phỏng
65