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.
Trang 1GIẢI SỐ CHO PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG
TỰA TUYẾN TÍNH CẤP 1 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à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ừ 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
1 Giới thiệu
Phương trình đạo hàm riêng cấp 1
thường nảy sinh trong vật lý lý thuyết, động
lực học (mô tả những chuyển động chính
tắc), cơ học liên tục (để ghi lại sự bảo toàn
khối lượng, mô men lực) và quang học (để
mô tả sóng),…
Trong bài báo này chúng ta xét phương
trình đạo hàm riêng tựa tuyến tính cấp 1 hai
biến có dạng:
Thỏa mãn điều kiện đầu :
Và điều kiện biên :
u (a,t) = g (t), 0 < t < T
u (b,t) = h (t), 0 < t < T
Trong đó:
x,t; : Biến thời gian;
c,F: Các hàm số cho trước
Các ký hiệu: u =t u , u =x u
Phương trình đạo hàm riêng phi tuyến
nói chung là rất phức tạp, nhưng ta có thể sử
dụng những kỹ thuật khác nhau để nghiên
cứu các thông tin về nghiệm của chúng Trong bài báo này, chúng ta áp dụng 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 bài
toán (1) – (3)
2 Phương pháp lưới
Phương pháp lưới là một trong các phương pháp số thông dụng để giải bài toán biên đối với các phương trình đạo hàm riêng
Ý tưởng của phương pháp lưới được thể hiện như sau: Trong miền biến thiên của các biến độc lập, chúng ta tạo ra một lưới nhờ các đường thẳng song song với hai trục tọa độ Điểm giao nhau của các đường thẳng đó gọi
là các nút lưới (điểm lưới)
Ứng với mỗi bài toán, chúng ta áp dụng các phương pháp số thích hợp để tìm giá trị xấp xỉ của hàm số cần tìm tại các điểm lưới Trong phần này, chúng ta xét lưới đều được xác định bởi hai họ đường thẳng song song với các trục tọa độ:
x = x = a+i.h , i = 0,m
t = t = j.h , j = 0,n
Trong đó: h >0, h >0 là các số đã cho x t (bước lưới theo trục Οx,Οt), hình 1
Trang 2h
t
h
0
x t
0
1
t
2
t
j
t
n
t T
1
0
t
Lớp thời gian
,
i j
N
Hình 1 Sơ đồ lưới
Xuất phát từ giá trị của hàm u (x,t) tại
các điểm lưới trên lớp thời gian t = 0 :
u = u(x ,0) = φ(x ), i = 0,m (5)
Trên mỗi lớp thời gian t = t (j = 1,n) kế j
tiếp, chúng ta đi tìm các xấp xỉ:
i j i,j
u (x ,t )u (i = 1,m - 1) (6)
3 Phương pháp đường đặc trưng
Để khảo sát các đặc tính của hàm u (x,t)
tại một điểm lưới N (x ,t ) bên trong miền i,j i j
khảo sát ở lớp thời gian t (hình 2), người ta j
tìm một đường cong đặc trưng γ nằm trong i,j
miền khảo sát nối N với một điểm i,j Ai,j-1
nằm ở lớp thời gian t đã được khảo sát j-1
Ba bài toán quan trọng của phương pháp
đường đặc trưng cần thực hiện là:
Bài toán 1: Xác định tọa độ chân đường
đặc trưng Ai,j-1
Bài toán 2: Tìm giá trị nội suy
i,2s j-1
u (x , t ) uiA tại chân Ai,j-1 thông qua
các giá trị đã biết:ui,j-1(i = 0,m)
Bài toán 3: Từ giá trị uiA và đường đặc
trưng γ , chúng ta tìm lại giá trị i,j u tại nút i,j
i,j
N
Phương trình (1) có họ đặc trưng là:
=
Nếu coi x = x(t) là hàm của biến t thì
i,j
γ và nó là nghiệm của bài toán Cauchy:
/
j-1 j
x (t) = c x(t),t
x(t ) = x
Dọc theo một đường đặc trưng γ , hàm i,j
đó ta có:
= + = u +c(x,t)u
Thay (9) vào (1) ta được:
du
= F x(t),t,u(x(t),t)
Giá trị u là nghiệm xấp xỉ của bài toán i,j Cauchy sau tại t = t : j
i,2s j-1 iA
du
=F x(t),t,u(x(t),t) dt
(11)
với t[t ;t ]j-1 j Trong đó: xi,2s là hoành độ củaAi,j-1
,2
i x
i x
,
i j
N
, 1
i j
A
,0
i i
x x
,1
i x
,2 1
i s
x
,2
i s x
Xác đ ịnh ch ân
j t
Lớp thời gian
1
j
t
Lớp thời gian
ht
,
( , )i j i j
u x t u
Xác đ ịnh giá trị hàm
tại
( , )
u x t
,
i j
,
i j N
, 1
i j
A
Hình 2 Đường đặc trưng xuất phát từ N i j,
4 Phương pháp nội suy Spline bậc 2
bước h : (x ,y ), i = 0,ni i Tìm trên mỗi đoạn[x ,x ], k = 1,nk-1 k một
đa thức bậc hai là P (x)k sao cho nó đi qua hai đầu mút và trên hai đoạn kề nhau, hai đa thức được ghép trơn cấp 1 tại điểm chung (nghĩa là đạo hàm cấp 1 của chúng bằng nhau tại điểm đó), hình 3
( , )
A x y
k
x
1
k
x
y
( )
k
P x
1 ( )
k
P x
0
Hình 3 Hai đa thức được ghép trơn tại A
Trang 3Tài liệu [7] đã đề nghị:
+ a (x - x )(x - x )
(12)
Trong đó các hệ số a k được tính theo
công thức:
y - 2y + y
a + a =
Hệ (13) có n - 1 phương trình nên còn
thiếu một điều kiện để xác định n hệ số
k
thêm một điều kiện ở đầu dãy dữ liệu:
y - y - a h
P (x ) = a Ûa =
Trong đó a0 tương ứng là độ dốc của dãy
số liệu ở đầu dãy Chúng được xấp xỉ bởi đạo
hàm của đa thức nội suy Newton tiến qua
bốn mốc nội suy ở đầu dãy số liệu
Trong đó: Δy = y - yi i+1 i là sai phân cấp
Δ y = Δ y - Δ y là sai phân cấpk
Phương pháp nội suy Spline bậc 2 được
áp dụng để giải bài toán 2 trong phương
pháp đường đặc trưng
5 Giải bài toán 1 và bài toán 3
5.1 Phương pháp Runge - Kutta bậc 4
Xét bài toán Cauchy:
/
0
y = f(x,y)
y(x ) = y
Chia đoạn [x ,x]0 thành n đoạn bằng
h =
n Cần tìm các giá trị xấp xỉ y(x )i+1 y ,i = 0,n-1i+1
Xuất phát từ giá trị y0, hai nhà toán học
người Đức là Runge và Kutta đề xuất một
phương pháp tìm các giá trị y ,i = 0,n-1i+1
theo công thức sau:
1
y = y + k +2k +2k +k
Trong đó:
k = h.f(x ,y )
k = h.f x +0.5h,y +0.5k
k = h.f x +0.5h,y +0.5k
k = h.f x +h,y +k
(18)
5.2 Giải bài toán 1 (xác định A i,j-1 )
Áp dụng phương pháp Runge – Kutta bậc
4 đối với bài toán Cauchy (8) trên đoạn j-1 j
[t ;t ] để tìm gần đúng chân đường đặc trưng Ai,j-1(xi,2s;t ) xuất phát từ điểm nút j-1 i,j i j
N (x ,t ) Chia đoạn [t ,t ] thành 2s đoạn j-1 j
nhỏ bằng nhau với bước t
tj
h
h = 2s , các điểm chia là: t = t - l.h , l = 0,2s Các công thức j,l j tj Runge – Kutta bậc 4 xác định xi,2s là:
i,0 i
i,l+1 i,l 1l 2l 3l 4l
x = x
1
x = x + k +2k +2k +k
6
(với l = 0,2s -1)
1l j i,l j,l
4l j i,l 3l j,l tj
k = ht c(x ,t )
k = ht c x +0.5k ,t -0.5h
k = ht c x +0.5k ,t -0.5h
k = ht c x +k ,t -h
(20)
Khi l = 2s - 1 ta thu đượcxi,2s, đồng thời tại các bước của vòng lặp, ta lưu lại các giá trị x ,x , , i,1 i,2 xi,2s-1 để sử dụng cho bài toán
3
5.3 Giải bài toán 3 (tìm u i,j )
Khi chân đường đặc trưng Ai,j-1 được xác định, áp dụng phương pháp nội suy Spline bậc 2 để tìm xấp xỉ giá trị i,2s j-1 iA
u(x , t )u tại Ai,j-1 thông qua các giá trị đã biết:u0,j-1, u1,j-1, , um-1,j-1, um,j-1
Áp dụng phương pháp Runge – Kutta bậc 4 cho bài toán (11) trên đoạn [t ;t ] để j-1 j tìm gần đúng giá trị u tại i,j N (x ,t ) i,j i j
Để sử dụng được các giá trị x ,x , , i,0 i,1 i,2s
x dọc theo đường cong đặc trưng γ , ta i,j chia đoạn [t ;t ] thành s đoạn nhỏ bằng
Trang 4nhau với bước chia: t t
Δt = = 2 = 2h
bởi các điểm chia:
j, r j-1 j j,2s-2r
z = t + r.Δt = t
= t - (2s - 2r)h , r = 0,s (21)
Ta có:
j, r j-1 j j,2s-2r
j, r j j,2s-2r tj j,2s-2r-1
j, r j j,2s-2r tj j,2s-2r-2
z = t +r.Δt = t
z + 0.5Δt = t +h = t
z +Δt = t +2h = t
j, r i,2s-2r
j,2s-2r-1 i,2s-2r-1
j, r j i,2s-2r-2
x(z ) x
x(z +Δt ) x
(22)
Các công thức Runge – Kutta bậc 4 xác
định u : i,j
0
i,j iA
r+1 r
u = u
1
u = u + k +2k +2k +k
6
(với r0,s1)
r 1r r i,2s-2r j,r i,j
r 2r r i,2s-2r-1 j, r j i,j 1r
r 3r r i,2s-2r-1 j, r j i,j 2r
r 4r r i,2s-2r-2 j, r j i,j 3r
k = Δt F x ,z ,u
k = Δt F x ,z +0.5Δt ,u +0.5k
k = Δt F x ,z +0.5Δt ,u +0.5k
k = Δt F x ,z +Δt ,u +k
(24)
Khi r = s -1, ta thu được giá trị cần tìm:
s
i,j i,j
6 Giải số
Xét phương trình:
Điều kiện đầu:
Điều kiện biên:
t
t
u(0, t) = (1+ t) e
; 0 < t < 1 u(p, t) = -(1+ t) e
Trong đó:
-t
e + sinx c(x,t) =
1 + t -t
2
e
(1+t)
Nghiệm chính xác của bài toán (25) –
(27) là:
t
t
φ(x) = cosx , 0 < x < π g(t) = (1+ t)e , 0 < t < 1 h(t) = (1 + t)e ,0 < t < 1
Xét các bước lưới tương ứng trục Οx,Οt là: x π t
h = , h = 0.1 20
Tập các điểm lưới của miền khảo sát là:
(x ,t ):x = i.h ; t = j.h ;
G =
i = 0,20 ; j = 0,10
Ký hiệu:
j t
Uexact = (1 + t ).e cos(x ) là giá trị của nghiệm đúng tại nút lưới N (x ,t ) i,j i j
Uj = u :i = 0,n là tập các giá trị xấp xỉ của hàm u(x,t) tại các nút lưới trên lớp thời gian t j
Lập trình số với phần mềm Mathematica,
ta có kết quả trong bảng sau trên lớp thời gian t7
Bảng 1 So sánh giá trị xấp xỉ và giá trị đúng của
hàm u x t( , ) trên lớp t7 7h t
STT x i Uexact Xấp xỉ U7
0 0.00000 3.42338 3.42338
1 0.15708 3.38123 3.38270
2 0.31416 3.25583 3.25667
3 0.47124 3.05025 3.05072
4 0.62832 2.76957 2.76971
5 0.78540 2.42069 2.42062
6 0.94248 2.01221 2.01205
7 1.09956 1.55418 1.55402
8 1.25664 1.05788 1.05761
9 1.41372 0.53553 0.53493
10 1.57077 0.00000 -0.00044
11 1.72788 -0.53553 -0.53483
12 1.88496 -1.05788 -1.06084
13 2.04204 -1.55418 -1.54922
14 2.19911 -2.01221 -2.02083
15 2.35619 -2.42069 -2.40824
16 2.51327 -2.76957 -2.78701
17 2.67035 -3.05025 -3.02799
18 2.82743 -3.25583 -3.28255
19 2.98451 -3.38123 -3.35183
20 3.14159 -3.42338 -3.42338
Nhận xét: Do xuất phát từ các giá trị
đúng trên lớp đầu tiên t = t = 0 nên khi j
Trang 5càng lớn thì các giá trị xấp xỉ u trên lớp i,j
j
t = t có thể chứa sai số tương đối lớn Từ
giá trị bảng 1 của u so với giá trị đúng i,j
i 7
pháp phối hợp các phương pháp số được
trình bày trong bài báo cho kết quả xấp xỉ
khá tốt Hơn nữa, các giá trị u được tính chỉ i,j
dựa trên các giá trị ui,j-1{i = 0,m} nên độ
phức tạp của thuật toán là tương đối thấp
Hình 4 Giá trị đúng và xấp xỉ trên lớp t7
Các đồ thị sau so sánh hàm nghiệm đúng
t
U = Uj:j = 0,10
Hình 5 Đồ thị nghiệm đúng u x t( , )
Hình 6 Đồ thị mặt lưới xấp xỉ U
7 Kết luận
Việc sử dụng kết hợp các phương pháp số như phần trên đã trình bày sẽ giúp chúng ta giải số nhiều lớp các phương trình đạo hàm riêng với độ chính xác cao Phương pháp cũng có thể mở rộng cho bài toán số đối với phương trình đạo hàm riêng tựa tuyến tính cấp 1 nhiều biến
Tài liệu tham khảo
[1] R.S Varga, Functional Analysis and Approximation Theory in Numerical Analysis,
SIAM, Philadelphia, Pensylvania, 1971
[2] W Rudin, Principles of Mathematical Analysys,
(3rd Ed.), McGrawHill, 1976
[3] L.C Evans, Partial differential Equations, AMS
Press,1998
[4] Phạm Kỳ Anh, Giải tích số, NXB Đại học Quốc
gia Hà Nội, 1998
[5] Nguyễn Minh Chương (Chủ biên), Giải tích số,
NXB Giáo dục, 2003
[6] Trần Đức Vân, Lý thuyết phương trình vi phân
đạo hàm riêng, NXB Đại học Quốc gia Hà Nội,
2005
[7] Huỳnh Văn Tùng, Tính tích phân xác định bằng
phương pháp Spline bậc 2, Tạp chí KHCN
GTVT, số 3 – 11/2012
Ngày nhận bài: 25/07/2016 Ngày chuyển phản biện: 28/07/2016 Ngày hoàn thành sửa bài: 13/08/2016 Ngày chấp nhận đăng: 20/08/2016