Mở đầuNhững năm gần đây đã có không ít công trình nghiên cứu về lĩnhvực tìm nghiệm đúng của lớp các bài toán biên mà chủ yếu là phươngtrình elliptic cấp hai, mục đích chính của các phươn
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC
QUẢN THỊ TỐ QUYÊN
PHƯƠNG PHÁP SAI PHÂN VỚI PHƯƠNG TRÌNH ELLIPTIC
CÓ BƯỚC NHẢY GIÁN ĐOẠN
LUẬN VĂN THẠC SĨ TOÁN HỌC
Thái Nguyên - Năm 2011
Trang 2TRƯỜNG ĐẠI HỌC KHOA HỌC
LUẬN VĂN THẠC SĨ TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS.VŨ VINH QUANG
Thái Nguyên - Năm 2011
Trang 3Mục lục
Mục lục i
Mở đầu 1 Nội dung 3 1 CÁC KHÁI NIỆM CƠ BẢN 3 1.1 Các khái niệm về phương trình đạo hàm riêng 3
1.1.1 Khái niệm về phương trình đạo hàm riêng 3
1.1.2 Phân loại phương trình tuyến tính cấp hai 4
1.2 Phương pháp lưới giải phương trình đạo hàm riêng 7
1.2.1 Bài toán vi phân 7
1.2.2 Hàm lưới 8
1.2.3 Đạo hàm lưới 8
1.2.4 Bài toán sai phân 9
1.2.5 Lưới sai phân 9
1.2.6 Bài toán biên elliptic 10
1.2.7 Giới thiệu về thư viện RC2009 11
2 PHƯƠNG PHÁP CIM (Coupling Interface Method) 17 2.1 Giới thiệu về bài toán biên với mặt phân cách gián đoạn 17
2.2 Phương pháp CIM trong không gian một chiều 18
Trang 42.2.1 Phương pháp CIM1 trong không gian một chiều 19 2.2.2 Phương pháp CIM2 trong không gian một chiều 22 2.3 Phương pháp CIM không gian hai chiều 27 2.3.1 Phương pháp CIM1 trong không gian 2 chiều 28 2.3.2 Phương pháp CIM2 trong không gian 2 chiều 30 2.4 Phương pháp CIM trong không gian d chiều 34 2.4.1 Phương pháp CIM1 trong không gian d chiều 34 2.4.2 Phương pháp CIM2 trong không gian d chiều 36 2.5 Một số số liệu thực nghiệm 39
3.1 Phương pháp chia miền đối với bài toán gián đoạn qua mặt
phân cách 43 3.2 Mô hình tính toán song song 45 3.3 Các kết quả thử nghiệm 48
Trang 5Mở đầu
Những năm gần đây đã có không ít công trình nghiên cứu về lĩnhvực tìm nghiệm đúng của lớp các bài toán biên mà chủ yếu là phươngtrình elliptic cấp hai, mục đích chính của các phương pháp là đưa bàitoán vi phân về bài toán rời rạc trên một điểm lưới Nếu miền hình học làmiền phức tạp, các hệ số của phương trình là gián đoạn thì việc áp dụngphương pháp số cho cả miền là trở nên khó khăn
Chính vì vậy, các công trình nghiên cứu đã tập trung đưa ra các hướngnghiên cứu chủ yếu là đưa ra các phương pháp sai phân, đặc biệt là xungquanh lân cận kỳ dị hoặc các biên phân chia để đưa bài toán đang xét về
hệ phương trình sai phân và việc tìm nghiệm bằng số của bài toán chuyển
về việc giải hệ phương trình đại số bằng các phương pháp đúng hoặc gầnđúng Hướng thứ hai là sử dụng phương pháp chia miền chuyển bài toántrên miền đang xét về hai bài toán không chứa các điểm kỳ dị, sau đóxuất phát từ lời giải các bài toán trên hai miền ta thu được nghiệm củabài toán gốc
Luận văn gồm 3 chương:
Chương 1: Các khái niệm cơ bản
Trình bày các kiến thức cơ bản về phương trình đạo hàm riêng, cơ sởphương pháp lưới và giới thiệu thư viện chương trình giải phương trìnhelliptic với hệ số hằng số trong miền chữ nhật
Trang 6Chương 2: Phương pháp CIM (Coupling Interface Method)Trình bày cơ sở phương pháp CIM bao gồm: phương pháp CIM1, CIM2trong không gian một chiều,hai chiều và d chiều, các thuật toán cơ bản
về các phương pháp tương ứng, các kết quả thực nghiệm đối với các bàitoán cụ thể
Chương 3: Mô hình tính toán song song đối với bài toánbiên gián đoạn qua mặt phân cách
Trình bày cơ sở phương pháp chia miền đối với bài toán biên gián đoạnqua mặt phân cách, mô hình tính toán song song trong trường hợp tồntại nhiều biên phân chia trong miền, xây dựng các sơ đồ lặp giải bài toánbiên elliptic tồn tại mặt gián đoạn theo hướng hiệu chỉnh giá trị hàm trênbiên, xây dựng các chương trình thực nghiệm
Tác giả xin bày tỏ lòng biết ơn sâu sắc đối với thầy giáo hướng dẫn
TS Vũ Vinh Quang đã tận tình hướng dẫn tác giả trong suốt quá trìnhlàm luận văn Tác giả xin chân thành cảm ơn các Thầy, Cô giáo ViệnToán,Trường Đại học Khoa học – Đại học Thái Nguyên đã tham giagiảng dạy, giúp đỡ tác giả trong quá trình học tập và nghiên cứu
Tác giả xin chân thành cảm ơn!
Thái Nguyên, tháng 10 năm 2011
Tác giảQuản Thị Tố Quyên
Trang 7Chương 1
CÁC KHÁI NIỆM CƠ BẢN
Trong Chương này luận văn sẽ trình bày các kiến thức cơ bản baogồm: các khái niệm về phương trình đạo hàm riêng, phương pháp lướigiải phương trình đạo hàm riêng và giới thiệu thư viện RC2009 giải sốbài toán biên elliptic với hệ số hằng số Các kiến thức cơ bản được thamkhảo trong các tài liệu [1,2,3,4]
1.1 Các khái niệm về phương trình đạo hàm riêng
1.1.1 Khái niệm về phương trình đạo hàm riêng
Trang 8trong đó: f (x, y), x0, x, X, η là hàm số cho trước.
ta có đạo hàm riêng cấp 1 đối với biến x:
là phương trình đạo hàm riêng cấp 2
1.1.2 Phân loại phương trình tuyến tính cấp hai
Trang 9Xét phương trình đạo hàm riêng cấp 2 tuyến tính:
Aupp + 2Buqp + Cuqq = F (1.1)với A, B, C, F là những hàm số phụ thuộc p, q, up, uq
hàm u = u(p, q) và có phương trình q = q (p) , hay ϕ(p, q) = 0
trên luôn có nghiệm
Nếu Det(M ) 6= 0 trên Γ thì hệ trên có nghiệm duy nhất trên Γ ,
nhất theo vế phải
Nếu Det(M ) = 0 trên Γ thì hệ trên vẫn có nghiệm duy nhất trên Γ
Trang 10xác định một cách không duy nhất theo vế phải Trong trường hợp này
ta gọi là một “đường đặc trưng” của phương trình đạo hàm riêng (1.1)
kiện này viết như sau:
Det(M ) = A (dq)2 + 2B(dqdp) + C (dp)2 (1.2)hay:
ta gọi dq
định phương đặc trưng, nó là phương trình vi phân của đường đặc trưng
dp Xét ∆ = B2− AC
• Nếu B2 − AC > 0 tại (p, q) ∈ miền Ω nào đó thì phương trình
dq
dp =
−B ±√B2 − AC
A
• Nếu B2 − AC = 0 tại (p, q) ∈ miền Ω nào đó thì phương trình
dq
dp =
BA
Trang 11• Nếu B2 − AC < 0 tại (p, q) ∈ miền Ω nào đó thì phương trình(1.3) không có hai nghiệm thực nào mà chỉ có hai nghiệm phức liên hợptại (p, q) ∈ Ω :
dq
dp =
−B ± i√B2− AC
A
mà chỉ có hai phương trình đặc trưng ảo liên hợp, ta nói phương trình(1.1) thuộc loại ellip trong Ω
1.2 Phương pháp lưới giải phương trình đạo hàm
riêng
Phương pháp lưới (hay còn gọi là phương pháp sai phân) là phươngpháp được áp dụng rộng rãi trên nhiều lĩnh vực khoa học, kỹ thuật Nộidung của nó là dẫn đối tượng cần xét về việc giải phương trình sai phân(tức là hệ thức hoặc các hệ thức liên hệ các giá trị của các hàm số tại cácđiểm khác nhau)
1.2.1 Bài toán vi phân
Cho hai số a và b với a < b
Lu = −(ku0)0+ qu = f (x); a < x < b (1.4)
Trang 12trong đó k = k(x), q = q(x), f (x) là những hàm số cho trước đủ trơnthỏa mãn:
0 < c0 ≤ k(x) ≤ c1; c0, c1 = const; q(x) ≥ 0, (1.6)
Đây chính là bài toán biên của phương trình elip một chiều
1.2.2 Hàm lưới
Ta chia đoạn [a, b] bởi n điểm chia a = x0 < x1 < x2 < xn = b.Đặt: h = b − a
n , xi = a + ih, (i = 0, 1, 2, , n) Tập các điểm x0, x1, x2, , xn được gọi là không gian lưới kí hiệu là Ωh
Giá trị của hàm lưới v tại nút xi viết là vi
giá trị tại nút xi là ui = u(xi)
Trang 13Khi h đủ bé thì đạo hàm lưới “xấp xỉ” đạo hàm thường.
xi ∈ Ωh Gọi các giá trị gần đúng đó là vi Để tìm vi ta thay bài toán (1.4)– (1.5) bởi bài toán sai phân:
Lhv ≡ − avx−xi+ qivi = fi, vo = α, vn = β
xi− h2
các nút biên ký hiệu là Γhk, tập Ωhk = Ωhk∪ Γhk gọi là một lưới sai phân
Trang 141.2.6 Bài toán biên elliptic
Xét bài toán biên:
biên Dirichlet hoặc Neumann trên các phần biên khác nhau trong đó tồntại ít nhất một điều kiện biên Dirichlet trên một cạnh để đảm bảo bàitoán có nghiệm duy nhất Để giải số bài toán trên, trong lý thuyết toánhọc tính toán thường sử dụng các phương pháp gần đúng như phươngpháp sai phân, phương pháp phần tử hữu hạn với ý tưởng chung là đưabài toán vi phân về bài toán rời rạc trên một lưới điểm
Đưa vào không gian lưới:
Ωkh = xij = (ik, jh), i = 0, M , j = 0, N , với k = L1
M, h =
L2N
Khi đó bài toán vi phân đang xét luôn được đưa về các hệ phươngtrình vectơ ba điểm có dạng:
(1.10)
phải và giá trị hàm hoặc đạo hàm trên biên
Trang 15Để giải được bài toán (1.8) bằng phương pháp số, điều quan trọngnhất là ta phải xác định được thuật toán nhanh giải các hệ phương trìnhvector ba điểm (1.9),(1.10) là các hệ phương trình đại số tuyến tính Dotính chất đặc biệt của hệ, trong nội dung này luận văn giới thiệu phươngpháp thu gọn khối lượng tính toán của Samarskij-Nicolaev đề xuất [8] với
viện chương trình tìm nghiệm bằng số của bài toán elliptic với các điềukiện biên khác nhau được thiết kế trên môi trường MATLAB
1.2.7 Giới thiệu về thư viện RC2009
Để giải bài toán biên elliptic (1.8), sử dụng phương pháp sai phân xâydựng lược đồ sai phân cho các bài toám biên, chuyển bài toán vi phân(1.8) về các bài toán sai phân tương ứng với các phương trình vesctơ bađiểm Sau đó áp dụng phương pháp thu gọn khối lượng tính toán giải các
hệ phương trình đại số được dẫn đến Các kết quả được công bố trongcông trình [3]
a Bài toán biên Dirichlet
(M × N ) điểm lưới, trong đó N = 2n, n > 0 Ký hiệu h1 = L1
M, h2 =
L2N
pháp sai phân với độ chính xác O(h21+ h22) chuyển bài toán vi phân (1.11)
về bài toán sai phân tương ứng với hệ phương trình vectơ ba điểm
Trang 16−Yj−1+ CYj − Yj+1 = Fj, Y0 = F0, YN = FN, j = 1, N − 1
k 2ϕ1,j + rg0,j
h 2 2
k 2ϕ2,j
h 2 2
k 2ϕM −2,j
h 2 2
Hàm v0000(ϕ, b1, b2, b3, b4, l1, l2, k1, k2, c, N, M, n, p1, p2, q1, q2) trả lại
(p2, q2)
b Bài toán biên Neumann
Xét bài toán biên hỗn hợp:
Trang 17trong đó l là toán tử điều kiện biên (lu = u nếu điều kiện biên là
Trường hợp 1: Điều kiện trên cạnh trên của hình chữ nhật là dạngNeumann
toán vi phân (1.12) về bài toán sai phân tương ứng với hệ phương trìnhvectơ ba điểm
Yj−1+CYj−Yj+1 = Fj, Y0 = F0, −2YN −1+CYN = FN, j = 1, N − 1
k 2ϕ1,N + 2h2b4(1) + rb1(N )
h 2 2
k 2ϕ2,N + 2h2b4(2)
h 2 2
k 2ϕM −2,N + 2h2b4(M − 2)
h 2 2
Trang 18k 2ϕ1,j + rb1(j)
h 2 2
k 2ϕ2,j
h 2 2
k 2ϕM −2,j
h 2 2
Trên cơ sở của thuật toán thứ hai áp dụng trong trường hợp đã biết
bằng cách:
Thiết kế hàmRC0001(ϕ, b1, b2, b3, b4, l1, l2, k1, k2, c, N, M, n)thực hiệnthuật toán thu gọn hàm v0001(ϕ, b1, b2, b3, b4, l1, l2, k1, k2, c, N, M, n, p1,
(p1, q1) đến (p2, q2)
Trong trường hợp khi điều kiện biên trên một trong các cạnh còn lại làdạng Neumann, sử dụng phương pháp biến đổi tọa độ trên cơ sở của hàmchuẩnRC0001( ) xây dựng các hàm v0010( ) ,v0100( ),v1000( )
trả lại nghiệm bằng số của các bài toán tương ứng
Trường hợp 2: Điều kiện biên trên ba cạnh của hình chữ nhật làdạng Neumann
Tương tự như trên, thiết kế hàm RC0003(ϕ, b1, b2, b3, b4, l1, l2, k1,
k2, c, N, M, n) thực hiện thuật toán thu gọn khối lượng và xây dựng cáchàm v0111( ) , v1110( ),v1101( ), v1011( ) trả lại nghiệm bằng
số cho các bài toán tương ứng
Trường hợp 3: Điều kiện biên trên tất cả các cạnh của hình chữnhật là Neumann
Trang 19Với độ chính xác O(h21 + h22) chuyển bài toán vi phân (1.12) về bàitoán sai phân tương ứng với hệ phương trình vectơ ba điểm.
−Yj−1+CYj−Yj+1 = Fj; CY0−2Y1 = F0; −2YN −1+CYN = FN, j = 1, N
k 2ϕ0,0− 2h2b3(1) − rh1b1(1)
h 2 2
k 2ϕ1,0− 2h2b3(2)
h 2 2
k 2ϕM −1,0 − 2h2b3(M − 1)
h 2 2
k 2ϕ0,N + 2h2b4(1) + rb1(N )
h 2 2
k 2ϕ1,N + 2h2b4(2)
h 2 2
k 2ϕM −1,N + 2h2b4(M − 1)
h 2 2
Trang 20k 2ϕ0,j + rb1(j)
h 2 2
k 2ϕ1,j
h 2 2
k 2ϕM −1,j
h 2 2
phương trình đạo hàm riêng, đặc biệt giới thiệu về thư viện RC2009 giải
số phương trình đạo hàm riêng Các kết quả này là công cụ để sử dụngthực nghiệm các bài toán được đưa ra trong Chương 2 và Chương 3 củaluận văn
Trang 21trở thành bài toán biên elliptic bình thường Đối với bài toán này, ta có
Trang 22thể tìm được lời giải số qua các phương pháp sai phân thông thường (như
đã trình bày tại Chương 1 của luận văn )
ε∂u
∂n
được Đối với các bài toán này, có hai hướng nghiên cứu giải quyết:
- Hướng 1: Xây dựng các phương pháp sai phân đặc biệt xung quanh
sai phân tương ứng
- Hướng 2: Sử dụng phương pháp chia miền với đường phân chia trùng
Trang 23Điểm x∗ gọi là điểm phân cách nếu tại đó ∃ các bước nhảy τ và σ.
Chia [a, b] bởi N điểm chia với h = b − a
N ,xi = a + ih
a = x0hx1hx2 hxkhx∗hxk+1h hxN = b
Điểm xi gọi là điểm trong nếu [xi−1, xi) hoặc [xi, xi+1) không chứa điểm
Trong hình 2.2, xk,xk+1 là các điểm ngoài
Ta xét phương pháp sai phân của phương trình (2.1)
pháp CIM2:
2.2.1 Phương pháp CIM1 trong không gian một chiều
Giả sử có một điểm phân cách x∗ ∈ [xi, xi+1)
Trang 24Hình 2.3: Phương trình tuyến tính của CIM1: u là đạo hàm của 2 hàmtuyến tính trên [xi, xi+1), điểm phân cách x∗ được xác định.
≈ τ
ε+ u0+i+1/2− ε− u0−
i+1/2
Xét trên đoạn [xi−1, xi) , u0−i−1
−u0
− i−12
+ 0 (h) (2.6)
Kết hợp (2.3) – (2.6) ta thu được hệ phương trình đại số tuyến tính với
∀ui(i = 1, 2, 3 , N − 1) giải được với thuật toán truy đuổi ba đườngchéo Các thuật toán trung gian được biểu diễn bằng các thuật toán
Trang 25Thuật toán 1 và Thuật toán 2.
Thuật toán 1: CIM1 trong một chiều
(u0i+1 2
Trang 269: ρ± ← ε±
ε
10: Dui ← sρ+(u (xi+ sh) − u (xi))
11: end function
2.2.2 Phương pháp CIM2 trong không gian một chiều
Xét một điểm phân cách x∗ ∈ [xi, xi+1)
u+(xi+1) = ui+1, u+(xi+2) = ui+2
Từ điều kiện bước nhảy:
u+(x∗) − u−(x∗) = τ,
εu0
+(x∗) −
εu0
−(x∗) = σ (2.8)
Trang 27Ta thu được hệ phương trình đại số tuyến tính giải ra u00i và u00i+1
u00i = 1
h2(L(1)ui+ Ji) + O(h) (2.9)
u00i+1 = 1
h2(L(−1)ui+1+ Ji+1) + O(h) (2.10)
Ở đây:
L(1) = ai,−1ui−1+ ai,0ui+ ai,1ui+1+ ai,2ui+2
L(−1) = ai+1− 2ui−1+ ai+1,−1ui+ ai+1,0ui+1+ ai+1,1ui+2
Ji = − (1 + 2β) ρ+τ − β + β2 σh
ε∗
Ji−1 = (1 + 2α) ρ−τ − α + α2 σh
ε∗
2 hàm bậc 2 trên [xi−1, xi+2)
Trang 28(a) : s = 1 , (b) : s = −1
Trong đó các tham số được xác định:
Trang 29a−sui−s + a0ui+ asui+s+ a2sui+2s nếu s = ±1
ui−1− 2ui+ ui+1 nếu s = 0 (2.14)
Ta định nghĩa như sau:
Trang 30Khi đó, chúng ta có thể biểu diễn u00i và − εu00
Thuật toán 3: CIM2 trong một chiều
Trang 314: s ← 1 không có điểm mặt cắt nào trong [xi+1, xi+2)
2.3 Phương pháp CIM không gian hai chiều.
N, xi = ih, yj = jh, 0 ≤ i, j ≤ N Giả sử γi+1
2 ,j, γi,j+1
2 ≤ 1,với tất cả giá trị 0 ≤ i, j ≤ N − 1
Trang 32giềng của mặt phân cách Γ Ngược lại (xi, yj) gọi là điểm ngoài.
Đối với điểm trong, các phương pháp sai phân thông thường có thểthực hiện được Ở đây, ta tìm sai phân đối với các điểm ngoài:
2.3.1 Phương pháp CIM1 trong không gian 2 chiều
+ O(1),
dấu "-" ở vế trái của phương trình là giá trị ở miền Ω−
Tìm giá trị của u−xi±1
2 ,j và u−y
i,j± 1 2
i+12,j gồm 3 bước sau:
trên đoạn [xi, xi+1) × yj Ta có:
u−t p là giới hạn của ut tại p từ phía Ω−
Trang 34= 1h
ρ+p (ui+1,j − ui,j) + bptxpTxui,j + Jp
ρ+q (ui,j+1− ui,j) + bptypTyui,j + Jq
nếu cả hai γi−1
và u−x
i− 1
2 ,j và u−y
i,j− 1 2
là độc lập
- Trường hợp (i) ta thu được u−y
p ,ngoài ra có thể tính (ui,j+1 − ui,j−1)
2h
nếu γi−1
2 ,j, γi,j−1
2 = 0
2.3.2 Phương pháp CIM2 trong không gian 2 chiều
một đoạn lưới hoặc hai đoạn lưới như 2 trường hợp của CIM1
Trang 35trong đó Dx(1) được tính bởi công thức (2.13) trên trục x.
hướng tiếp tuyến
Trang 36puyy.
Trang 37Nghịch đảo của M trong (2.21), chúng ta có được phương trình sai
Hình 2.8: Trường hợp 2
Trang 382.4 Phương pháp CIM trong không gian d chiều
2 e k ≤ 1 với mọi i và k Điểm (xi, yj) được gọi là
2 e k = γi+1
2 e k = 0 Ngược lại (xi, yj) đượcgọi là điểm ngoài
2.4.1 Phương pháp CIM1 trong không gian d chiều
-Bước 1: Rời rạc từng chiều
εk
(2.22)
Trong đó x∗k là điểm giao của mặt cắt Γ và đoạn lưới (x, x + hek) Các
- Bước 2: Phân tích dữ liệu nhảy ở mỗi chiều
Để tính toán [ε∇u.ek]x∗
nk và tk ở x∗k ; trong đó nk là véc tơ đơn vị của mặt cắt ở x∗k ∈ Ω−, Ω+
Trang 39, tk là véc tơ đơn vị trong khi chiếu ek lên mặt tiếp tuyến của Γ tại x∗k.Bước nhảy [ε∇u.ek]x∗
k = σ(x∗k) và [∇u.tk]x∗
k = ∂τ
∂tk(x
∗
kiện nhảy cho trước Sau khi thay (2.23) vào (2.22) ta thu được:
Dku(x) = ρk+(u (x + hek) − u(x)) (2.25)
Jk = −(ρk[u] x∗k + βkh([ε∇u.nk]
εk (nkek) + ρk+[∇u.tk]x∗k(tkek))) (2.27)-Bước 3: Ghép đôi và nội suy một phía
triển Taylor như sau:
#
= 1h
(Dku(x) + bkTku(x)(tk.ek) + Jk)dk=1
Trong đó