Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Machine Translated by Google

Machine Translated by Google

Chương 16
Phương pháp khối lượng hữu hạn

Trong chương trước, chúng ta đã thảo luận về các phương pháp sai khác hữu hạn để tùy biến PDE. Trong việc phát triển các
phương pháp sai phân hữu hạn, chúng tôi bắt đầu từ dạng vi phân của định luật bảo toàn và tính gần đúng các đạo hàm riêng bằng
cách sử dụng các phép xấp xỉ sai phân hữu hạn. Trong phương pháp thể tích hữu hạn, chúng ta sẽ làm việc trực tiếp với dạng tích
phân của định luật bảo toàn 75.

57 Tự đánh giá

Trước khi đọc chương này, bạn có thể muốn xem lại ...

• Dạng tích phân của các định luật bảo toàn


11 • Phương trình đối lưu 11 • Ngược
dòng 13

Sau khi đọc chương này, bạn sẽ có thể ...

• Hiểu sự khác biệt giữa phương pháp sai phân hữu hạn và thể tích hữu hạn

Các bài tập tự đánh giá có liên quan: [DANH SÁCH BÀI TẬP TỰ ĐÁNH GIÁ TẠI ĐÂY]

58 Phương pháp thể tích hữu hạn trong 1-D

Cơ sở của phương pháp thể tích hữu hạn là định luật bảo toàn tích phân. Ý tưởng cơ bản là chia miền thành nhiều vùng điều
khiển (hoặc ô) và tính gần đúng luật bảo toàn tích phân trên mỗi vùng điều khiển.
Hình 28 cho thấy một ví dụ về phân vùng một chiều thành các ô. Theo quy ước, ô tôi nằm giữa các điểm x
và x 1 i + 2 . (Lưu ý rằng các ô không cần có kích thước bằng nhau.)
1 i 2

1 tôi - 1 tôi i + 1 Nx

x1 x3 x 1 i 2 x 1 i + 2 x 1 x 1
2 2 Nx 2 Nx + 2

Hình 28 Lưới và ký hiệu cho phương pháp thể tích hữu hạn một chiều.

Nhắc lại dạng tích phân của định luật bảo toàn (tức là công thức 75). Dạng một chiều của Phương trình 75 là

89
Machine Translated by Google

90

d xR xR

U dx + F (U) | xR - F (U) | xL S (Ư, t) dx. (121)


dt Z xL = Z xL

Do đó, áp dụng điều này để kiểm soát âm lượng mà tôi đưa ra, và bây giờ giả sử S = 0,

d
x
1 i + 2

U dx + F (U) | x - F (U) | x 1 i = 0. (122)


dt Z x
1 i + 2 2

1 i
2

Tiếp theo, chúng tôi xác định giá trị trung bình của U trong khối lượng điều khiển i là,

Z
1
x
1 i + 2

Ui ≡ U dx, ở đâu xi ≡ x 1 i + 2
x 1 i 2 . (123)
xi x1 i
2

Khi đó, Phương trình 122 trở thành,

dUi
xi + F (U) | x - F (U) | x 1 i = 0. (124)
dt
2
1 tôi +
2

Tại thời điểm này, không có phép gần đúng nào được thực hiện do đó Công thức 124 là chính xác. Bây giờ, chúng tôi thực hiện ước tính đầu tiên.

Cụ thể, chúng tôi giả định rằng giải pháp trong mỗi khối lượng kiểm soát là không đổi,

U (x, t) = Ui (t) cho x 1 i 2


< x < x 1 i + 2 . (125)

Do đó, xấp xỉ thể tích hữu hạn sẽ là hằng số từng phần như trong Hình 29.

Ui
Ui-1
Ui + 1
U1
UNx

x1 x3 x 1 i 2 x 1 i + 2 x 1 x 1
2 2 Nx 2 Nx + 2

Hình 29 Giải pháp hằng số mảnh cho phương pháp thể tích hữu hạn một chiều.

Với dạng giải giả định này, vấn đề tiếp theo là xác định từ thông tại x 1 tôi ±
tại thời điểm t. Chú ý rằng cái hữu hạn
2

xấp xỉ thể tích là không liên tục tại giao diện giữa hai ô bất kỳ. Cụ thể, khi chúng ta tiếp cận x 1 i + 2 , từ

nghiệm số của chúng ta cho ta lim 0 Uεta


(t)có| =x Ui
= Ui ++ ε
+ 1 1i(t), tanhưng
(t). nếu đồ
Để lược
phải đảm chúng
bảosố ta thông
của
rằng tiếp
chúngcận
ta từ
lượng bên
thành phải
công,
số mà thì chúng
chúng
chúng ta sử dụng
2

x limε 0 + Ư (t) |
2
1 i+ + εphù hợp với hành vi của bài toán PDE cơ bản. Đặc biệt, chúng ta muốn chọn F là thông lượng

tức thời thu được từ việc giải định luật bảo toàn chính xác với điều kiện ban đầu tại thời điểm t tương ứng với
số gần đúng của chúng ta.

Trước hết hãy xem xét trường hợp của phương trình đối lưu một chiều. Nhớ lại từ Chương 11 rằng lời giải truyền tải
+
= t + đó là
với vận tốc u (t). Do đó, đối với thời điểm ban đầu sau t (mà chúng ta ký hiệu là t , trong vô một
cực):
số dương, thập phân

Ui (t) nếu u (t) > 0


U (x 1 tôi + , t +) = (126)
Ui + 1 (t) nếu u (t) < 0
2

Từ thông tương ứng có thể được tính trực tiếp từ giá trị này của U,
Machine Translated by Google

91

u (t) Ui (t) nếu u (t) > 0


F (x , t +) = (127)
u (t) Ui + 1 (t) nếu u (t) < 0
1 tôi +
2

Một cách khác để viết thông lượng này là hợp lệ bất kể dấu của u (t) là,

1 1 u (t) (Ui + 1 (t) + Ui (t)) - |


F (x , t +) = u (t) | (Ui + 1 (t) Ui (t)). 2 2 (128)
1 tôi +
2

Thông lượng này, sử dụng giá trị ngược dòng của U để xác định thông lượng, được gọi là thông lượng 'hướng lên'.

Bước cuối cùng để đạt được xấp xỉ rời rạc đầy đủ cho đối lưu một chiều là rời khỏi phương trình 124 đúng lúc. Điều này
có thể được thực hiện bằng cách chọn bất kỳ phương pháp tích hợp ODE nào mà chúng tôi đã nghiên cứu trước đây. Để đơn
giản, chúng tôi chọn phương pháp Euler thuận để dạng rời rạc đầy đủ cuối cùng của phương pháp thể tích hữu hạn là,

n + 1 N
U U
ii xi N N
+ F 1 i + F 1 i 2 = 0, (129)
t 2

nơi chúng tôi sử dụng ký hiệu,

1
N = U N N - N N
.
F 1 i + n u
+ 1 i
+ U i 1 | u n | U + 1 i U i (130)
2 2 2

Ví dụ 1 (Phương pháp thể tích hữu hạn áp dụng cho đối lưu 1-D).
Tập lệnh Matlab sau đây giải phương trình đối lưu một chiều bằng cách sử dụng thuật toán thể tích hữu hạn được đưa
ra bởi phương trình 129 và 130. Bài toán được giả định là tuần hoàn để bất cứ thứ gì rời khỏi miền tại x = xR lại nhập
vào miền đó tại x = xL.

1 % Tập lệnh Matlab này giải phương trình 2 % đối lưu một chiều bằng cách sử dụng thuật toán thể tích

hữu hạn. Tùy ý 3 % chuyển tiếp Euler trong thời gian.

5 rõ ràng tất cả; 6

đóng tất cả;

8 % Số điểm
9 Nx = 50; 10 x

= linspace (0,1, Nx + 1); 11 dx = 1 / Nx;

12

13 % Tính giá trị trung điểm của x trong mỗi khối điều khiển 14 xmid = 0,5 * (x (1: Nx) + x (2: Nx +
1));
15

16 % Đặt vận tốc 17 u = 1;

18

19 % Đặt thời gian cuối cùng 20

t inal = 1;

21

22 % Đặt thời gian bước 23


CFL = 0.5; 24 dt = CFL * dx /

abs (u);
25

26 % Đặt điều kiện ban đầu thành U0 = exp (-xˆ2)

27 % Lưu ý: về mặt kỹ thuật, chúng ta nên trung bình phân phối 28 % ban đầu trong mỗi ô

nhưng tôi đã chọn chỉ đặt 29 % giá trị của U trong mỗi khối lượng điều khiển thành giá trị

trung điểm 30 % của U0.

31 U = 0,75 * exp (- ((xmid-0,5) /0,1) .ˆ2) '; 32 t = 0;

33

34 % Vòng lặp cho đến t> t cuối cùng 35 trong


khi (t <t cuối),
36
Machine Translated by Google

92

37 Ubc = [U (Nx); U; Ư (1)]; % Điều này thực thi bc định kỳ


38

39 % Tính từ thông tại mỗi mặt phân cách

40 F = 0,5 * u * (Ubc (2: Nx + 2) + Ubc (1: Nx + 1)) ...


41 - 0,5 * abs (u) * (Ubc (2: Nx + 2) - Ubc (1: Nx + 1));
42

43 Tính% dư trong mỗi ô

44 R = F (2: Nx + 1) - F (1: Nx);


45

46 % Chuyển tiếp bước Euler


47 U = U - (dt / dx) * R;
48

49 % Thời gian tăng


50 t = t + dt;
51

52 % Âm mưu giải pháp hiện tại

53 cầu thang (x, [U; U (Nx)]);


54 trục ([0, 1, -0,5, 1,5]);
Lưới 55 trên;
56 drawnow;
57

58 cuối
59

60 % giải pháp chính xác lớp phủ


61 U = 0,75 * exp (- ((xmid-0,5) /0,1) .ˆ2) ';
62 giữ chặt;
63 cầu thang (x, [U; U (Nx)], 'r-');

58.1 Phương pháp thể tích hữu hạn trong 2-D

Sự tùy biến âm lượng hữu hạn có thể được mở rộng cho các bài toán có chiều cao hơn. Giả sử miền vật lý là

được chia thành một tập hợp các khối lượng điều khiển hình tam giác, như thể hiện trong Hình 30. Ứng dụng của Công thức 75 để điều khiển khối lượng

C
B
Một

3 1

Hình 30 Lưới tam giác và ký hiệu cho phương pháp thể tích hữu hạn.
Machine Translated by Google

93

A cho,

d
S (U, t) dA, (131)
dt Z U dA + Z F (U) · nds = Z
Ω Một ΩMột Ω Một

ở đâu Ω A là giá trị trung bình ΩA là ranh giới của khối lượng điều khiển A. Như trong trường hợp một chiều, chúng tôi xác định

bên trong và tế bào,

1
UA ≡
AA
Z
Ω Một
U dA, (132)

trong đó AA là diện tích vùng kiểm soát A. Do đó, Công thức 131 trở thành,

dUA
AA Đ (Ư, t) dA. (133)
dt + Z F (U) · nds = Z
ΩMột Ω Một

Trong trường hợp đối lưu, chúng ta lại giả sử S = 0. Ngoài ra, chúng ta mở rộng tích phân bề mặt thành các phần đóng góp cho
ba cạnh,

dUA 2 3 1

AA H (Ư, nAD) ds = 0, (134)


dt + Z 1
H (U, nAB) ds + 2Z H (Ư, nAC) ds + 3Z

trong đó H (U, n) = F (U) · n và nAB là pháp tuyến đơn vị trỏ từ ô A đến ô B, và tương tự đối với nAC và nAD.
Như trong trường hợp một chiều, chúng tôi giả định rằng giải pháp ở mọi nơi trong vùng điều khiển đều bằng ô
giá trị trung bình. Cuối cùng, thông lượng tại mỗi giao diện được xác định bởi giá trị 'gió lên' bằng cách sử dụng thành phần vận tốc

bình thường đối với khuôn mặt. Ví dụ: tại giao diện giữa ô A và B,

1 1
H (U, nAB) ≈ Hˆ (UA, UB, nAB) ≡ | vAB · nAB | (UB UA), (135)
2 vAB · nAB (UB + UA) - 2

trong đó vAB là vận tốc giữa các khối lượng điều khiển. Do đó, khi vAB · nAB > 0, từ thông được xác định bởi trạng thái
từ ô A, tức là UA. Tương tự như vậy, khi vAB · nAB < 0, thông lượng được xác định bởi trạng thái từ ô B, tức là UB. Các
vận tốc, vAB thường được tính gần đúng như vận tốc tại trung điểm của cạnh (lưu ý: v có thể là một hàm của x trong
u v
hai chiều mặc dù vận tốc được giả định là không phân kỳ, tức là + = 0). Chúng tôi sử dụng ký hiệu Hˆ
x y
để chỉ ra rằng từ thông là một giá trị gần đúng với thông lượng thực khi v không phải là hằng số. Do đó, thuật toán khối lượng hữu hạn

trước thời gian tùy ý sẽ được đưa ra bởi,

dUA
AA + Hˆ (UA, UB, nAB) sAB + Hˆ (UA, UC, nAC) sAC + Hˆ (UA, UD, nAD) sAD = 0. (136)
dt

Bước cuối cùng là hòa nhập đúng lúc. Như trong trường hợp một chiều, chúng ta có thể sử dụng thuật toán Euler chuyển tiếp mà
sẽ dẫn đến phương pháp khối lượng hữu hạn hoàn toàn rời rạc cuối cùng,

U n + 1 U N
N N
Một Một
+ Hˆ (U An , UB , nAB) sAD = 0. (137)
AA t sAB + Hˆ (U An , UC , nAC) sAC + Hˆ (U An , Un D, nAD)

Ví dụ 2 (Phương pháp thể tích hữu hạn cho đối lưu 2 chiều trên lưới hình chữ nhật). Tập lệnh Matlab sau đây giải quyết
phương trình đối lưu hai chiều sử dụng thuật toán thể tích hữu hạn hai chiều trên các ô hình chữ nhật. Các
thuật toán là phần mở rộng của Công thức 137 từ các ô hình tam giác thành hình chữ nhật. Vấn đề được giả định là tuần hoàn
và có vận tốc không đổi.

1 % Tập lệnh Matlab này giải quyết sự đối lưu một chiều

Phương trình 2 % sử dụng thuật toán khối lượng hữu hạn. Các
3 % tùy ý chuyển tiếp Euler trong thời gian.

5 rõ ràng tất cả;

6 đóng tất cả;


Machine Translated by Google

94

8 % Số điểm
9 Nx = 50; 10 x

= linspace (0,1, Nx + 1); 11 dx = 1 / Nx;

12

13 % Tính giá trị trung điểm của x trong mỗi khối điều khiển 14 xmid = 0,5 * (x (1: Nx) + x
(2: Nx + 1));
15

16 % Đặt vận tốc 17 u = 1;

18
19 % Đặt thời gian cuối cùng 20

t inal = 1;
21

22 % Đặt thời gian bước 23


CFL = 0.5; 24 dt = CFL *
dx / abs (u);
25

26 % Đặt điều kiện ban đầu thành U0 = exp (-xˆ2)


27 % Lưu ý: về mặt kỹ thuật, chúng ta nên trung bình phân phối 28 % ban đầu trong
mỗi ô nhưng tôi đã chọn chỉ đặt 29 % giá trị của U trong mỗi khối lượng điều khiển
thành giá trị trung điểm 30 % của U0.

31 U = 0,75 * exp (- ((xmid-0,5) /0,1) .ˆ2) '; 32 t = 0;

33

34 % Vòng lặp cho đến t> t cuối cùng 35


trong khi (t <t cuối),
36

37 Ubc = [U (Nx); U; Ư (1)]; % Điều này thực thi bc định kỳ


38

39 % Tính từ thông tại mỗi mặt phân cách F = 0,5 *

40 u * (Ubc (2: Nx + 2) + Ubc (1: Nx + 1)) ... - 0,5 * abs


41 (u) * (Ubc (2: Nx + 2) - Ubc (1: Nx + 1) );
42

43 Tính% dư trong mỗi ô

44 R = F (2: Nx + 1) - F (1: Nx);


45

46 % Chuyển tiếp bước Euler


47 U = U - (dt / dx) * R;
48

49 % Thời gian tăng t = t +


50 dt;
51

52 % Âm mưu giải pháp hiện tại

53 cầu thang (x, [U; U (Nx)]); trục


54 ([0, 1, -0,5, 1,5]);
Lưới 55 trên;
56 drawnow;
57
58 cuối
59

Giải pháp chính xác lớp phủ 60 % 61 U =


0,75 * exp (- ((xmid-0,5) /0,1) .ˆ2) '; 62 giữ chặt; 63 cầu
thang (x, [U; U (Nx)], 'r-');
Machine Translated by Google

95

58.2 Phương pháp khối lượng hữu hạn cho các hệ thống phi tuyến

Cách tiếp cận thể tích hữu hạn cơ bản có thể được mở rộng cho các hệ phương trình phi tuyến như phương trình Euler
(xem Ví dụ 2). Vấn đề chính trong phần mở rộng này là làm thế nào để tính toán thông lượng gió khi có một hệ phương trình.
Trong một thứ nguyên, sự tùy biến khối lượng hữu hạn cơ bản vẫn giống như được đưa ra bởi Công thức 130,

n + 1 N
U U
ii xi N N
+ F F = 0. (138)
t 1 tôi +
2
1 i 2

Tuy nhiên, thông lượng phải quay ngược chiều (ở một mức độ nào đó) tất cả các trạng thái trong phương trình. Một cách tương đối đơn

giản để thực hiện điều này là sử dụng thông lượng Lax-Friedrichs cục bộ. Trong trường hợp này, thông lượng được cho bởi,

1 1
Fi + 21 (Ui , Ui + 1) = [F (Ui + 1) + F (Ui)] - smax (Ui + 1 Ui), 2 2 (139)

trong đó smax là tốc độ lan truyền lớn nhất của bất kỳ nhiễu nhỏ nào đối với trạng thái Ui hoặc Ui + 1.

Ví dụ 3 (Thông lượng Lax-Friedrichs cho phương trình Euler 1-D).

Đối với phương trình Euler một chiều, có ba phương trình là gần đúng, tức là bảo toàn khối lượng, bảo toàn động lượng x và

bảo toàn năng lượng. Một phân tích nhiễu loạn nhỏ có thể được thực hiện cho thấy ba tốc độ lan truyền của tập phương trình này

là u, u-a và u + a trong đó u là vận tốc dòng chảy và a là vận tốc âm thanh. Do đó, tốc độ tối đa sẽ luôn là | u | + a và giá trị

tương ứng của smax đối với thông lượng Lax-Friedrichs là,

smax = max (| u | i + ai , | u | i + 1 + ai + 1). (140)

You might also like