Trong bài báo này chúng tôi trình bày phối hợp các phương pháp số, bao gồm: phương pháp lưới, phương pháp đường đặc trưng, phương pháp nội suy Spline bậc 2 và phương pháp Runge – Kutta bậc 4 để giải số cho phương trình đạo hàm riêng tựa tuyến tính cấp 1 hai biến. Kết quả số được so sánh với nghiệm giải tích thông qua ví dụ mẫu.
TẠP CHÍ KHOA HỌC CƠNG NGHỆ GIAO THƠNG VẬN TẢI, SỐ 20 - 08/2016 17 GIẢI SỐ CHO PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG TỰA TUYẾN TÍNH CẤP HAI BIẾN NUMERICAL SOLUTION OF QUASI-LINEAR PARTIAL DIFFERENTIAL EQUATION Huỳnh Văn Tùng Khoa Cơ Bản Tóm tắt: Trong báo chúng tơi trình bày phối hợp phương pháp số, bao gồm: phương pháp lưới, phương pháp đường đặc trưng, phương pháp nội suy Spline bậc phương pháp Runge – Kutta bậc để giải số cho phương trình đạo hàm riêng tựa tuyến tính cấp hai biến Kết số so sánh với nghiệm giải tích thơng qua ví dụ mẫu Từ khóa: Phương trình đạo hàm riêng, cấp 1, tựa tuyến tính, phép nội suy, phương pháp Spline bậc 2, phương pháp Runge – Kutta bậc 4, phương pháp lưới Abstract: This paper presents the combination of numerical methods, includes: Grid - based, characteristic curves, quadratic spline interpolation and fourth order Runge – Kutta to find numerical solutions for quasi - linear PDEs The results will be compared with analytic solution via examples Keywords: PDE, first order, quasi-linear, interpolation, quadratic spline interpolation, fourth order Runge – Kutta method, grid - based method Giới thiệu Phương trình đạo hàm riêng cấp thường nảy sinh vật lý lý thuyết, động lực học (mô tả chuyển động tắc), học liên tục (để ghi lại bảo tồn khối lượng, mơ men lực) quang học (để mơ tả sóng),… Trong báo xét phương trình đạo hàm riêng tựa tuyến tính cấp hai biến có dạng: u t +c(x,t).u x = F(x,t,u) (1) (x,t) D = (a,b)×(0,T) Thỏa mãn điều kiện đầu : u(x,0) = φ(x), a < x < b Và điều kiện biên : u (a,t) = g (t), < t < T u (b,t) = h (t), < t < T (2) (3) Trong đó: u (x,t) : Hàm số cần tìm hai biến; x,t ; t : Biến thời gian; c,F : Các hàm số cho trước u u Các ký hiệu: u t = , ux = t x Phương trình đạo hàm riêng phi tuyến nói chung phức tạp, ta sử dụng kỹ thuật khác để nghiên cứu thông tin nghiệm chúng Trong báo này, áp dụng phối hợp phương pháp số, bao gồm: Phương pháp lưới, phương pháp đường đặc trưng, phương pháp nội suy Spline bậc phương pháp Runge – Kutta bậc để giải số cho toán (1) – (3) Phương pháp lưới Phương pháp lưới phương pháp số thông dụng để giải tốn biên phương trình đạo hàm riêng Ý tưởng phương pháp lưới thể sau: Trong miền biến thiên biến độc lập, tạo lưới nhờ đường thẳng song song với hai trục tọa độ Điểm giao đường thẳng gọi nút lưới (điểm lưới) Ứng với toán, áp dụng phương pháp số thích hợp để tìm giá trị xấp xỉ hàm số cần tìm điểm lưới Trong phần này, xét lưới xác định hai họ đường thẳng song song với trục tọa độ: x = x i = a+i.h x , i = 0,m (4) t = t = j.h , j = 0,n j t Trong đó: h x >0, h t >0 số cho (bước lưới theo trục Οx,Οt ), hình 18 Journal of Transportation Science and Technology, Vol 20, Aug 2016 xa t tn T tj t2 x / (t) = c x(t),t , t [t j-1 ;t j ] (8) x(t ) = x i j Dọc theo đường đặc trưng γi,j , hàm xb Ni , j ht t1 x hx x0 a x1 xi t 0 Hình Sơ đồ lưới xm b Lớp thời gian Xuất phát từ giá trị hàm u (x,t) điểm lưới lớp thời gian t = : (5) u i,0 = u(x i ,0) = φ(x i ), i = 0,m Trên lớp thời gian t = t j (j = 1,n) kế tiếp, tìm xấp xỉ: (6) u (x i ,t j ) u i,j (i = 1,m - 1) Phương pháp đường đặc trưng Để khảo sát đặc tính hàm u (x,t) điểm lưới Ni,j (xi ,t j ) bên miền u(x,t) = u(x(t),t) hàm biến t Khi ta có: du u u dx (9) = + = u t +c(x,t)u x dt t x dt Thay (9) vào (1) ta được: du (10) = F x(t),t,u(x(t),t) dt Giá trị u i,j nghiệm xấp xỉ toán Cauchy sau t = t j : du =F x(t),t,u(x(t),t) dt u(x i,2s , t j-1 ) u iA với t [t j-1;t j ] Trong đó: x i,2s hồnh độ Ai,j-1 Lớp thời gian miền khảo sát nối N i,j với điểm Ai,j-1 nằm lớp thời gian t j-1 khảo sát Ba toán quan trọng phương pháp đường đặc trưng cần thực là: Bài toán 1: Xác định tọa độ chân đường đặc trưng Ai,j-1 Bài tốn 2: Tìm giá trị nội suy u (xi,2s , t j-1 ) u iA chân Ai,j-1 thông qua giá trị biết: ui,j-1 (i = 0,m) Bài toán 3: Từ giá trị u iA đường đặc trưng γi,j , tìm lại giá trị u i,j nút N i,j Phương trình (1) có họ đặc trưng là: dt dx (7) = c(x,t) Nếu coi x = x(t) hàm biến t x = x(t) phương trình đường đặc trưng γi,j nghiệm toán Cauchy: xi ,0 xi tj u ( x i , t j ) ui , j khảo sát lớp thời gian t j (hình 2), người ta tìm đường cong đặc trưng γi,j nằm (11) ht c Xá h địn gi rị h át àm u t) ( x, Ai , j 1 xi ,2 s xi ,1 N i, j i, j c Xá xi ,2 s 1 Lớp thời gian Ni , j địn xi ,2 A i, j hâ hc n xi t j 1 Hình Đường đặc trưng xuất phát từ Ni , j Phương pháp nội suy Spline bậc Cho n + mốc nội suy cách với bước h : (x i ,yi ), i = 0,n Tìm đoạn [x k-1 ,x k ], k = 1,n đa thức bậc hai Pk (x) cho qua hai đầu mút hai đoạn kề nhau, hai đa thức ghép trơn cấp điểm chung (nghĩa đạo hàm cấp chúng điểm đó), hình y Ak ( xk , yk ) Pk ( x) Pk 1 ( x) x xk 1 xk xk 1 Hình Hai đa thức ghép trơn Ak TẠP CHÍ KHOA HỌC CƠNG NGHỆ GIAO THÔNG VẬN TẢI, SỐ 20 - 08/2016 Tài liệu [7] đề nghị: x - x k-1 x - xk Pk (x) = yk y k-1 (12) h h + a k (x - x k-1 )(x - x k ) Trong hệ số ak tính theo cơng thức: y - 2yk + yk+1 (13) a k+1 + a k = k-1 h2 (với k = 1,2, ,n - ) Hệ (13) có n - phương trình nên thiếu điều kiện để xác định n hệ số a k (k = 1, ,n) Người ta thường bổ sung thêm điều kiện đầu dãy liệu: y - y - a h (14) P1/ (x ) = a Ûa1 = 02 h Trong a tương ứng độ dốc dãy số liệu đầu dãy Chúng xấp xỉ đạo hàm đa thức nội suy Newton tiến qua bốn mốc nội suy đầu dãy số liệu 1 1 a = Δy0 - Δ y0 + Δ y0 (15) h Trong đó: Δyi = yi+1 - yi sai phân cấp 1; Δk yi = Δk-1yi+1 - Δk-1yi sai phân cấp k Phương pháp nội suy Spline bậc áp dụng để giải toán phương pháp đường đặc trưng Giải toán toán 5.1 Phương pháp Runge - Kutta bậc Xét toán Cauchy: y / = f(x,y) , x0 x x (16) y(x ) = y Chia đoạn [x ,x] thành n đoạn điểm chia x-x x i = x +i.h ;i = 0,n với bước h = Cần n tìm giá trị xấp xỉ y(x i+1 ) yi+1 ,i = 0,n-1 Xuất phát từ giá trị y0 , hai nhà toán học người Đức Runge Kutta đề xuất phương pháp tìm giá trị yi+1 ,i = 0,n-1 theo công thức sau: (17) yi+1 = yi + k1i +2k 2i +2k 3i +k 4i Trong đó: 19 k1i = h.f(x i ,yi ) k 2i = h.f x i +0.5h,yi +0.5k1i (18) k 3i = h.f x i +0.5h,yi +0.5k 2i k = h.f x +h,y +k i i 3i 4i 5.2 Giải toán (xác định Ai,j-1) Áp dụng phương pháp Runge – Kutta bậc toán Cauchy (8) đoạn [t j-1;t j ] để tìm gần chân đường đặc trưng Ai,j-1 (xi,2s ;t j-1 ) xuất phát từ điểm nút Ni,j (xi ,t j ) Chia đoạn [t j-1 ,t j ] thành 2s đoạn nhỏ với bước h tj = ht , điểm 2s chia là: t j,l = t j - l.h tj , l = 0,2s Các công thức Runge – Kutta bậc xác định x i,2s là: x i,0 = x i (19) x = x + k +2k +2k +k 1l 2l 3l 4l i,l+1 i,l (với l = 0,2s -1 ) k1l = ht j c(x i,l ,t j,l ) k 2l = ht j c x i,l +0.5k1l ,t j,l -0.5h tj (20) k 3l = ht j c x i,l +0.5k 2l ,t j,l -0.5h tj k 4l = ht j c x i,l +k 3l ,t j,l -h tj Khi l = 2s - ta thu x i,2s , đồng thời bước vòng lặp, ta lưu lại giá trị x i,1 ,x i,2 , , xi,2s-1 để sử dụng cho toán 5.3 Giải tốn (tìm ui,j) Khi chân đường đặc trưng Ai,j-1 xác định, áp dụng phương pháp nội suy Spline bậc để tìm xấp xỉ giá trị u(xi,2s , t j-1 ) u iA Ai,j-1 thông qua giá trị biết: u 0,j-1 , u1,j-1 , , u m-1,j-1 , u m,j-1 Áp dụng phương pháp Runge – Kutta bậc cho toán (11) đoạn [t j-1;t j ] để tìm gần giá trị u i,j Ni,j (xi ,t j ) Để sử dụng giá trị x i,0 ,x i,1 , , x i,2s dọc theo đường cong đặc trưng γi,j , ta chia đoạn [t j-1;t j ] thành s đoạn nhỏ 20 Journal of Transportation Science and Technology, Vol 20, Aug 2016 với bước chia: Δt j = điểm chia: z j,r = t j-1 + r.Δt j = t j,2s-2r ht s =2 ht 2s = 2h tj = t j - (2s - 2r)h tj , r = 0,s (21) Ta có: z j,r = t j-1 +r.Δt j = t j,2s-2r z j,r + 0.5Δt j = t j,2s-2r +h tj = t j,2s-2r-1 z j,r +Δt j = t j,2s-2r +2h tj = t j,2s-2r-2 x(z j,r ) x i,2s-2r x(t j,2s-2r-1 ) x i,2s-2r-1 (22) x(z j,r +Δt j ) x i,2s-2r-2 Các công thức Runge – Kutta bậc xác định u i,j : u i,j0 = u iA r+1 r u i,j = u i,j + k1r +2k 2r +2k 3r +k 4r (với r 0, s ) (23) k1r = Δt r F x i,2s-2r ,z j,r ,u i,jr k 2r = Δt r F x i,2s-2r-1 ,z j, r +0.5Δt j ,u i,jr +0.5k1r (24) r k 3r = Δt r F x i,2s-2r-1 ,z j, r +0.5Δt j ,u i,j +0.5k 2r r k 4r = Δt r F x i,2s-2r-2 ,z j, r +Δt j ,u i,j +k 3r Khi r = s -1 , ta thu giá trị cần tìm: u i,j = u i,js Giải số Xét phương trình: u t + c(x,t).u x = F(x,t,u) (25) Điều kiện đầu: (26) u(x,0) = cosx , < x < π Điều kiện biên: t u(0, t) = (1+ t) e (27) ; < t