Tính các điều kiện ban đầu xác định dòng đáy, t=0 trên đường thời gian j=1
Áp dụng điều kiện Courant cho mỗi mắt lưới trên đường thời gian và chọn số nhỏ nhất : Δt=minDti
Tăng lên bước thời gian tiếp theo : t=t+Δt, j=j+1
Dùng đường quá trình dòng vào để xác định lưu lượng 𝑄𝑖𝑗+1 tại biên thượng lưu i=1
Chuyển tới điểm biên tiếp theo (i+1) trên đường thời gian j+1, x=x+Δx. Giải cho lưu lượng 𝑄𝑖+1𝑗+1 bằng phương trình:
𝑄𝑖+1𝑗+1= [∆𝑥∆𝑡𝑄𝑖𝑗+1+ 𝛼̅𝛽̅𝑄𝑖+1𝑗 (𝑄𝑖+1 𝑗 + 𝑄𝑖𝑗+1 2 ) 𝛽 ̅−1 + ∆𝑡 (𝑞𝑖+1 𝑗 + 𝑞𝑖𝑗+1 2 )] [∆𝑥∆𝑡+ 𝛼̅𝛽̅ (𝑄𝑖+1 𝑗 + 𝑄𝑖𝑗+1 2 ) 𝛽̅−1 ]
Lưu lượng hạ lưu đã tính xong ?
Bước thời gian cuối cùng
Kết thúc chưa xong
chưa xong
xong
2.2.2.2. Diễn toán sóng động học một chiều phi tuyến
Áp dụng sơ đồ sai phân ẩn cho biến A theo thời gian (t) được xấp xỉ sai phân như sau [97]:
𝜕𝐴𝑖+1𝑗+1
𝜕𝑡 ≈ 𝐴𝑖+1 𝑗+1
−𝐴𝑖+1𝑗
∆𝑡 (2.2.14)
Thay các phương trình xấp xỉ sai phân (2.2.8), (2.2.11) và (2.2.14) vào phương trình (2.2.3) được phương trình sau:
𝑄𝑖+1𝑗+1−𝑄𝑖𝑗+1 ∆𝑥 +𝐴𝑖+1 𝑗+1 −𝐴𝑖+1𝑗 ∆𝑡 = 𝑞𝑖+1 𝑗 +𝑞𝑖𝑗+1 2 (2.2.15)
Viết lại phương trình (2.2.5) theo các bước thời gian và không gian được các phương trình sau: 𝐴𝑖+1𝑗+1 = 𝛼̅(𝑄𝑖+1𝑗+1)𝛽 ̅ (2.2.16) 𝐴𝑖+1𝑗 = 𝛼̅(𝑄𝑖+1𝑗 )𝛽 ̅ (2.2.17) Thế phương trình (2.2.16) và (2.2.17) vào (2.2.15) được phương trình sai phân sóng động học phi tuyến cho sơ đồ ẩn như sau:
∆𝑡 ∆𝑥𝑄𝑖+1𝑗+1+ 𝛼̅(𝑄𝑖+1𝑗+1)𝛽 ̅ = ∆𝑡 ∆𝑥𝑄𝑖𝑗+1 + 𝛼̅(𝑄𝑖+1𝑗 )𝛽 ̅ + ∆𝑡 (𝑞𝑖+1 𝑗 +𝑞𝑖𝑗+1 2 ) (2.2.18) Phương trình này đã được sắp xếp cho lưu lượng chưa biết 𝑄𝑖+1𝑗+1 nằm ở vế trái và các đại lượng đã biết nằm ở vế phải. Đây là phương trình phi tuyến đối với 𝑄𝑖+1𝑗+1 do đó cần được giải bằng phương pháp số. Áp dụng phương pháp lặp Newton để giải phương trình sai phân sóng động học phi tuyến (2.2.18). Mô hình tuyến tính xây dựng trong mô hình phi tuyến được thể hiện trong khối ước lượng ban đầu bằng cách sử dụng phương trình tuyến tính (2.2.13). Vế phải của phương trình (2.2.18) đã được xác định thông qua điều kiện biên và điều kiện ban đầu hoặc đã được tính từ bước thời gian và không gian trước. Xét phương trình (2.2.18) là một hàm số của 𝑄𝑖+1𝑗+1, vế phải coi như là một hằng số và được đặt là C. 𝐶 = ∆𝑡 ∆𝑥𝑄𝑖𝑗+1 + 𝛼̅(𝑄𝑖+1𝑗 )𝛽̅ + ∆𝑡 (𝑞𝑖+1 𝑗 +𝑞𝑖𝑗+1 2 ) (2.2.19)
Từ đó một sai số dư f(𝑄𝑖+1𝑗+1) được xác định bằng phương trình (2.2.18).
𝑓(𝑄𝑖+1𝑗+1) = ∆𝑡
∆𝑥𝑄𝑖+1𝑗+1+ 𝛼̅(𝑄𝑖+1𝑗+1)𝛽̅ − 𝐶 (2.2.20) Đạo hàm bậc nhất của f(𝑄𝑖+1𝑗+1) như sau:
𝑓′(𝑄𝑖+1𝑗+1) = ∆𝑡
∆𝑥+ 𝛼̅𝛽̅(𝑄𝑖+1𝑗+1)𝛽̅−1 (2.2.21) Mục tiêu là tìm 𝑄𝑖+1𝑗+1 để buộc f(𝑄𝑖+1𝑗+1) bằng không. Sử dụng phương pháp lặp Newton và các bước lặp k = 1, 2, 3, ... (số bước lặp không xác định).
(𝑄𝑖+1𝑗+1) 𝑘+1 = (𝑄𝑖+1𝑗+1) 𝑘 − 𝑓(𝑄𝑖+1 𝑗+1 ) 𝑘 𝑓′(𝑄𝑖+1𝑗+1) 𝑘 (2.2.22) Tiêu chuẩn hội tụ cho quá trình lặp là:
|𝑓(𝑄𝑖+1𝑗+1)
𝑘+1| ≤ 𝜀 (2.2.23)
Ước lượng giá trị khởi đầu của 𝑄𝑖+1𝑗+1 trong mỗi quá trình lặp có ảnh hưởng quan trọng đến sự hội tụ của sơ đồ giải. Một cách tiếp cận là sử dụng nghiệm của sơ đồ tuyến tính, phương trình (2.2.20) như là nghiệm gần đúng thứ nhất của sơ đồ phi tuyến. Nghiên cứu của Li, Simons và Stevens (1975) [92] sau khi tiến hành các phân tích về tính ổn định đã chỉ ra sơ đồ sử dụng phương trình (2.2.20) là một sơ đồ ổn định không điều kiện và có thể sử dụng các trị của Δt/Δx trong một phạm vi khá rộng mà không tạo ra sai số lớn trong hình dạng của đường quá trình lưu lượng.
Phương pháp lặp Newton được sử dụng để tìm nghiệm gần đúng của phương trình: Giả sử tại bước lặp thứ j biến xj và lưu lượng Qj đã được tính từ phương trình (2.2.20). Giá trị Qj được so sánh với giá trị Qj-1, mục tiêu đặt ra là chọn x sao cho sai số f(xj) = Qj - Qj-1 ≤ ε. Gradiang của hàm số f theo x là [97]:
𝑑𝑓 𝑑𝑥𝑗 =
𝑑𝑄𝑗
𝑑𝑥𝑗 (2.2.24)
Biểu thức này của Gradiang được sử dụng trong phương lặp Newton trong đó cho trước một giá trị lựa chọn của xj, ta cần tính xj+1 sao cho [97]:
(𝑑𝑓 𝑑𝑄)𝑗 =
0 − 𝑓(𝑥)𝑗
𝑥𝑗+1− 𝑥𝑗 (2.2.25)
Giá trị xj+1 trong phương trình trên là giá trị của x được xác định bời giao điểm của trục tọa độ nằm ngang (ox) với tiếp tuyến của đường cong biểu diễn hàm f theo x tại thời điểm x = xj. Phương pháp lặp Newton ngoại suy đường tiếp tuyến của hàm sai số f tại giá trị hiện có xj để tìm xj+1 cho bước lặp tiếp theo. Giải phương trình trên để tìm xj+1 [97] :
𝑥𝑗+1 = 𝑥𝑗 − 𝑓(𝑥𝑗) (𝑑𝑓𝑑𝑥)
𝑗
(2.2.26) Trên đây là phương trình cơ bản của phương lặp Newton. Quá trình tính lặp tiếp diễn cho đến khi không có sự thay đổi đáng kể trong x, điều này xảy ra khi sai số f(x) nhỏ hơn hoặc bằng sai số cho trước ε.
Hình 2.6. Phương pháp Newton ngoại suy đường tiếp tuyến hàm f(x) [97]
Q(-1,-1,1) Q(-1,j,1)
Q(0,0,1) Qpt(0,j,1)
Q(1,j,1) Q(i,-1,1) Q(i,0,1) Q(i,1,1) i=1
j=1