Các hướng nghiên cứu chủ yếu là đưa ra các phương pháp sai phân đặc biệt xung quanh lân cận các điểm kỳ dị hoặc biên phân chia để đưa bài toán đang xét về các hệ phương trình sai phân và
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐÀO THỊ THẮM
PHƯƠNG PHÁP CIM ĐỐI VỚI BÀI TOÁN BIÊN ELLIPTIC
CÓ BƯỚC NHẢY GIÁN ĐOẠN QUA MẶT PHÂN CÁCH
Chuyên ngành : Khoa học Máy tính
Mã số : 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS VŨ VINH QUANG
Thái Nguyên – năm 2011
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan Luận văn “ Phương pháp CIM đối với bài toán biên elliptic
có bước nhảy gián đoạn qua mặt phân cách” là công trình nghiên cứu của riêng tôi dưới sự hướ ng dẫn của TS Vũ Vinh Quang Tôi xin chịu trách nhiệm về lời cam đoan của mình
Các số liệu và thông tin sử dụng trong luận văn này là trung thực
Tác giả
Đào Thị Thắm
Trang 4MỤC LỤC LỜI CAM ĐOAN
MỤC LỤC
MỞ ĐẦU 1
Chương 1 3
Các kiến thức 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 phương trình đạo hàm riêng 3
1.1.2 Một số phương trình đạo hàm riêng tiêu biểu 4
1.1.3 Phân loại phương trình cấp hai tuyến tính 5
1.2 Phương pháp lưới giải phương trình đạo hàm riêng 8
1.2.1 Bài toán vi phân 8
1.2.2 Lưới sai phân 8
1.2.3 Hàm lưới 9
1.2.4 Đạo hàm lưới 9
1.2.5 Bài toán sai phân 10
1.2.6 Bài toán biên elliptic 10
Chương 2 28
Phương pháp CIM (Coupling Interface Method) 28
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 28
2.2 Cơ sở các phương pháp CIM đối với phương trình elipptic 29
2.2.1 Trường hợp không gian một chiều 30
2.2.2 Trường hợp không gian hai chiều 38
2.3 Một số kết quả thực nghiệm với CIM2 45
Chương 3 49
Hướng tiếp cận phương pháp chia miền đối với bài toán biên gián đoạn qua mặt phân cách 49
3.1 Cơ sở phương pháp chia miền 49
3.2 Bài toán biên với hệ số đạo hàm gián đoạn 52
Trang 53.3 Bài toán biên gián đoạn qua mặt phân cách 54
3.4 Các kết quả thực nghiệm 56
KẾT LUẬN 65
DANH MỤC TÀI LIỆU THAM KHẢO 66
PHỤ LỤC 68
Trang 6MỞ ĐẦU
Trong trường hợp tổng quát, việc tìm nghiệm đúng của lớp các bài toán biên
mà chủ yếu là phương trình elliptic cấp hai là không thực hiện được Việc nghiên cứu giải gần đúng các bài toán biên mà tiêu biểu là các bài toán được biểu diễn bằng các phương trình cấp hai đã và đang là một lĩnh vực rất quan tâm của các nhà toán học Trong nhiều năm qua đã có nhiều công trình nghiên cứu về lĩnh vực này, mục đích chính của các phương pháp là đưa bài toán vi phân về bài toán rời rạc trên một điểm lưới Tuy nhiên khi miền hình học là miền phức tạp, dữ liệu hoặc các hệ số của phương trình là gián đoạn thì việc áp dụng một phương pháp số nào đó cho cả miền gặp nhiều khó khăn
Để giải quyết khó khăn trên, trong nhiều năm qua đã có nhiều công trình nghiên cứu về lĩnh vực này Các hướng nghiên cứu chủ yếu là đưa ra các phương pháp sai phân đặc biệt xung quanh lân cận các điểm kỳ dị hoặc biên phân chia để đưa bài toán đang xét về các 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 các hệ phương trình đại số bằng các phương pháp đúng hoặc gần đúng Một hướng thứ hai là sử dụng phương pháp chia miền chuyển bài toán trê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ủa bài toán gốc
Nội dung chính của luận văn là đặt vấn đề tìm hiểu phương pháp sai phân đặc biệt được gọi là phương pháp CIM (Coupling interface method) giải phương trình elliptic cấp hai trong trường hợp miền đang xét tồn tại mặt phân cách tại đó xảy ra gián đoạn của hàm và đạo hàm và đồng thời nghiên cứu phương pháp chia miền giải bài toán trên, tiến hành tính toán thử nghiệm và so sánh giữa phương pháp chia miền và phương pháp CIM
Luận văn cấu trúc gồm 3 chương:
Chương 1: Đưa ra 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, thuật toán thu gọn khối lượng tính toán giải hệ phương trình lưới
Trang 7và giới thiệu thư viện chương trình giải phương trình elliptic với hệ số hằng số trong miền chữ nhật
Chương 2: Trình bày cơ sở phương pháp CIM bao gồm: phương pháp CIM1, CIM2
trong không gian một chiều và không gian hai chiều xây dựng phương pháp sai phân đặc biệt đối với bài toán biên có mặt gián đoạn, 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ài toán cụ thể
Chương 3: Trình bày cơ sở phương pháp chia miền, xây dựng các sơ đồ lặp giải bài
toán biên elliptic tồn tại mặt gián đoạn theo hướng hiệu chỉnh giá trị hàm trên biên, xây dựng các chương trình thực nghiệm trong các bài toán cụ thể và bài toán tổng quát So sánh phương pháp chia miền với phương pháp CIM
Phần cuối của luận văn là các chương trình thực nghiệm được viết trên ngôn ngữ Matlab version7.0
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ình làm luận văn
Tác giả xin chân thành cảm ơn các Thầy, Cô giáo Viện Công nghệ thông tin, Trường Đại học Công nghệ thông tin và Truyền thông – Đại học Thái Nguyên đã tham gia giảng dạy, giúp đỡ tác giả trong suốt quá trình học tập và nghiên cứu
Mặc dù đã cố gắng rất nhiều song nội dung bản luận văn không tránh khỏi những thiếu sót Tác giả rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các Thầy Cô và các bạn để luận văn thêm hoàn thiện
Tác giả
Trang 8Chương 1 Các kiến thức cơ bản
Trong Chương này luận văn trình bày các kiến thức cơ bản bao gồm: các khái niệm cơ bản về phương trình đạo hàm riêng, phương pháp lưới giải phương trình đạo hàm riêng, thuật toán thu gọn khối lượng tính toán giải hệ phương trình vectơ ba điểm và đặc biệt là giới thiệu thư viện RC2009 giải số bài toán biên elliptic với hệ số hằng Các kiến thức cơ bản được tham khảo trong các tài liệu [1, 2, 3, 8, 10]
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 phương trình đạo hàm riêng
Phương trình đạo hàm riêng là một lĩnh vực quan trọng của toán học Có rất nhiều mô hình trong tự nhiên được mô tả bởi một phương trình hay một hệ phương trình vi phân nói chung và phương trình đạo hàm riêng nói riêng
Với hàm số một biến 𝑦 = 𝑦(𝑥) ta có khái niệm đạo hàm 𝑦′(𝑥):
𝑦′ 𝑥 = lim
∆𝑥→0
𝑦 𝑥 + ∆𝑥 − 𝑦(𝑥)
∆𝑥khái niệm phương trình vi phân 𝑦′ = 𝑓 𝑥, 𝑦 và khái niệm bài toán Cauchy: Tìm hàm số 𝑦 = 𝑦(𝑥) xác định tại 𝑥 ∈ [𝑥0, 𝑋] sao cho:
Trang 9Xét bài toán hai biến số 𝑢 = 𝑢(𝑥, 𝑦), ta có đạo hàm riêng cấp 1 đối với biến
là phương trình đạo hàm riêng cấp 2
1.1.2 Một số phương trình đạo hàm riêng tiêu biểu
1 Phương trình Laplace do Laplace đưa ra vào năm 1780
Trang 10𝑖=1
1.1.3 Phân loại phương trình cấp hai tuyến tính
Giả sử 𝑢 = 𝑢(𝑝, 𝑞) là hàm số của hai biến độc lập 𝑝, 𝑞 Kí hiệu:
𝐴𝑢𝑝𝑝 + 2𝐵𝑢𝑝𝑞 + 𝐶𝑢𝑞𝑞 = 𝐹 (1.1) Với 𝐴, 𝐵, 𝐶, 𝐹 là những hàm số phụ thuộc 𝑝, 𝑞, 𝑢𝑝, 𝑢𝑞
Giả sử phương trình trên có nghiệm là 𝑢 = 𝑢(𝑝, 𝑞) đủ trơn Xét 𝛤 là một
đường cong nào đó của mặt phẳng (𝑝, 𝑞) nằm trong miền xác định của hàm 𝑢(𝑝, 𝑞)
và có phương trình 𝑞 = 𝑞(𝑝), hay 𝜑 𝑝, 𝑞 = 0 Ta có:
𝑑 𝑢𝑝 = 𝑢𝑝𝑝𝑑𝑝 + 𝑢𝑝𝑞𝑑𝑞; 𝑑 𝑢𝑞 = 𝑢𝑞𝑝𝑑𝑝 + 𝑢𝑞𝑞𝑑𝑞
Vậy ta có hệ:
Trang 11Hệ này luôn có nghiệm vì ta đã giả sử phương trình (1.1) có nghiệm
𝛤 các đạo hàm cấp hai của 𝑢 được xác định một cách duy nhất theo vế phải
Nếu 𝐷𝑒𝑡 𝑀 = 0 trên 𝛤 thì hệ trên vẫn có nghiệm duy nhất trên 𝛤 vì ta đã xuất phát từ giả thiết phương trình (1.1) có nghiệm 𝑢, nhưng nghiệm đó không duy nhất nữa, nghĩa là trên 𝛤 các đạo hàm cấp hai của 𝑢 xá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)
Như vậy đường đặc trưng xác định bởi điều kiện 𝐷𝑒𝑡 𝑀 = 0, điều kiện này viết như sau:
𝐷𝑒𝑡 𝑀 = 𝐴(𝑑𝑞)2 − 2𝐵𝑑𝑝𝑑𝑞 + 𝐶(𝑑𝑝)2 = 0 (1.2) hay:
𝐴(𝑑𝑞
𝑑𝑝)2 − 2𝐵
𝑑𝑞
𝑑𝑝+ 𝐶 = 0 (1.3)
Trang 12 Nếu 𝐵2 − 𝐴𝐶 > 0 tại (𝑝, 𝑞) ∈ miền 𝛺 nào đó thì phương trình (1.3) có hai nghiệm thực khác nhau tại (𝑝, 𝑞) ∈ 𝛺:
𝑑𝑞
𝑑𝑝 =
𝐵 ± −𝐵2 + 𝐴𝐶
𝐴Khi đó tại mỗi (𝑝, 𝑞) ∈ 𝛺 có hai phương đặc trưng thực khác nhau, ta nói phương trình (1.1) thuộc loại hypebol trong 𝛺
Nếu 𝐵2 − 𝐴𝐶 = 0 tại (𝑝, 𝑞) ∈ miền 𝛺 nào đó thì phương trình (1.3) có hai nghiệm thực trùng nhau tại (𝑝, 𝑞) ∈ 𝛺:
𝑑𝑞
𝑑𝑝 =
𝐵𝐴Khi đó tại mỗi (𝑝, 𝑞) ∈ 𝛺 có hai phương đặc trưng thực trùng nhau, ta nói phương trình (1.1) thuộc loại parabol trong 𝛺
Nếu 𝐵2 − 𝐴𝐶 < 0 tại (𝑝, 𝑞) ∈ miền 𝛺 nào đó thì phương trình (1.3) không
có nghiệm thực nào mà chỉ có hai nghiệm phức liên hợp tại (𝑝, 𝑞) ∈ 𝛺: 𝑑𝑞
𝑑𝑝 =
𝐵 ± 𝑖 −𝐵2 + 𝐴𝐶
𝐴Khi đó tại mỗi (𝑝, 𝑞) ∈ 𝛺 không có phương đặc trưng thực nào mà chỉ có hai phương đặc trưng ảo liên hợp, ta nói phương trình (1.1) thuộc loại elip trong 𝛺
Trang 131.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ương pháp được áp dụng rộng rãi trên nhiều lĩnh vực khoa học, kỹ thuật Nội dung chính của
nó là đưa bài toán vi phân đang xét về việc giải hệ 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) bằng các phương pháp đại số
1.2.1 Bài toán vi phân
Cho hai số 𝑎 và 𝑏 với 𝑎 < 𝑏 Tìm hàm 𝑢 = 𝑢(𝑥) xác định tại 𝑎 < 𝑥 < 𝑏 thỏa mãn:
Giả sử bài toán (1.4) – (1.5) có nghiệm duy nhất 𝑢 đủ trơn trên [𝑎, 𝑏]
Đây chính là bài toán biên của phương trình elip một chiều
1.2.2 Lưới sai phân
Xét bài toán
Trang 14−∆𝑢 = 𝑓, 𝑥 ∈ 𝛺,
𝑢 = 𝑔, 𝑥 ∈ 𝜕𝛺 (1.7) trong đó 𝛺 = {(𝑥, 𝑦) ∈ 𝑅2, 𝑎 ≤ 𝑥 ≤ 𝑏, 𝑐 ≤ 𝑦 ≤ 𝑑}, chọn 2 số nguyên 𝑁 > 1 và
𝑀 > 1, đặt = (𝑏 − 𝑎)/𝑁 gọi là bước lưới theo 𝑥, 𝑘 = 𝑑 − 𝑐 /𝑀 gọi là bước lưới theo 𝑦 Đặt 𝑥𝑖 = 𝑎 + 𝑖, 𝑦𝑗 = 𝑐 + 𝑗, 𝑖 = 0 𝑁, 𝑗 = 0 𝑀 Mỗi điểm (𝑥𝑖, 𝑦𝑗) gọi là một nút lưới ký hiệu là nút (𝑖, 𝑗) Tập tất cả các nút trong ký hiệu là 𝛺𝑘 Nút
ở trên biên 𝛤 gọi là nút biên; tập tất cả các nút biên ký hiệu là 𝛤𝑘, tập 𝛺 𝑘 = 𝛺𝑘 ∪
𝛤𝑘 gọi là một lưới sai phân trên 𝛺−
𝑣𝑥 𝑖 =𝑣𝑖−𝑣𝑖−1
Khi bé thì đạo hàm lưới “xấp xỉ” được đạo hàm thường
Đạo hàm lưới cấp hai 𝑣𝑥 𝑥:
Trang 15𝑎𝑣𝑥 𝑥 =𝑎𝑖+1𝑣𝑥 𝑖 +1− 𝑎𝑖𝑣𝑥 𝑖
𝑎𝑖+1𝑣𝑖+1−(𝑎𝑖+1+ 𝑎𝑖)𝑣𝑖 + 𝑎𝑖𝑣𝑖−1
2
1.2.5 Bài toán sai phân
Ta tìm cách tính gần đúng giá trị của nghiệm đúng 𝑢(𝑥𝑖) tại các nút 𝑥𝑖 ∈ 𝛺 Gọi các giá trị gần đúng đó là 𝑣𝑖 Để tìm 𝑣𝑖 ta thay bài toán (1.4) – (1.5) bởi bài toán sai phân:
𝐿𝑣 ≡ − 𝑎𝑣𝑥 𝑥𝑖 + 𝑞𝑖𝑣𝑖 = 𝑓𝑖
𝑣0 = 𝛼, 𝑣𝑁 = 𝛽
Trong đó: 𝑎𝑖 = 𝑘 𝑥𝑖 −
2 , 𝑞𝑖 = 𝑞 𝑥𝑖 , 𝑓𝑖 = 𝑓 𝑥𝑖
1.2.6 Bài toán biên elliptic
Xét bài toán biên:
Đưa vào không gian lưới
𝛺𝑘 = 𝑥𝑖𝑗 = 𝑖𝑘, 𝑗 , 𝑖 = 0, 𝑀 , 𝑗 = 0, 𝑁 với 𝑘 =𝐿1
𝑀, =
𝐿2𝑁Khi đó bài toán vi phân đang xét luôn được đưa về các hệ phương trình véctơ
ba điểm có dạng
Trang 16−𝑌𝑗 −1 + 𝐶𝑌𝑗 − 𝑌𝑗 +1, 𝑗 = 1, 𝑁 − 1 ,
𝑌0 = 𝐹0, 𝑌𝑁 = 𝐹𝑁 (1.9) trong trường hợp bài toán biên Dirichlet và có dạng
đạo hàm trên biên
Như vậy, để giải được bài toán (1.8) bằng phương pháp số, điều quan trọng nhất là ta phải xác định được thuật toán nhanh giải các hệ phương trình véc tơ ba điểm (1.9), (1.10) là các hệ phương trình đại số tuyến tính Có nhiều phương pháp khác nhau để giải được các hệ trên Tuy nhiên do tính chất đặc biệt của hệ, trongluận văn tác giả giới thiệu phương pháp thu gọn khối lượng tính toán của Samarskij-Nicolaev đề xuất [4] với độ phức tạp tính toán 𝑂(𝑀𝑁𝑙𝑜𝑔𝑁) và các kết quả xây dựng thư 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ều kiện biên khác nhau được thiết kế trên môi trường Matlab
1.2.6.1 Phương pháp thu gọn khối lượng tính toán
a Bài toán biên thứ nhất: xét phương trình (1.9)
Ý tưởng của phương pháp: Thực hiện khử liên tiếp các ẩn 𝑌𝑗 (với các 𝑗 lẻ), tiếp theo từ các phương trình còn lại khử các 𝑌𝑗 với 𝑗 là bội của 2, bội của 4,…
Mỗi bước khử sẽ giảm được một nửa số ẩn Như vậy, nếu 𝑁 = 2𝑛 thì sau một số lần khử sẽ chỉ còn lại một phương trình chứa véc tơ ẩn 𝑌𝑁/2 mà từ đó 𝑌𝑁/2 có thể tính được qua 𝑌0 và 𝑌𝑁
Sau khi đã có được 𝑌0, 𝑌𝑁/2và 𝑌𝑁 thì quá trình ngược lại là tìm các 𝑌𝑗 với j là
bội của 𝑁/4, bội của 𝑁/8,…
Trang 17Hệ (1.11) chỉ chứa các 𝑌𝑗 với j chẵn, số véc tơ ẩn 𝑌𝑗 là 𝑁
2 −1 Nếu giải được hệ này thì các 𝑌𝑗 với 𝑗 lẻ sẽ tìm được từ phương trình:
𝐶(0)𝑌𝑗 = 𝐹𝑗(0)+ 𝑌𝑗 −1 + 𝑌𝑗 +1, 𝑗 = 1, 3, … , 𝑁 − 1 (1.12)
Trang 18Bước khử thứ hai:
Tiến hành khử các 𝑌𝑗 của hệ (1.11) với 𝑗 là bội của 2 nhưng không là bội của
4 Muốn vậy ta viết 3 phương trình liên tiếp của (1.11)
−𝑌𝑗 −4 + 𝐶 1 𝑌𝑗 −2− 𝑌𝑗 = 𝐹𝑗 −2 1
−𝑌𝑗 −2 + 𝐶 1 𝑌𝑗 − 𝑌𝑗 +2 = 𝐹𝑗 1
−𝑌𝑗 + 𝐶 1 𝑌𝑗 +2 − 𝑌𝑗 +4 = 𝐹𝑗 +2 1
𝑗 = 4, 8, … , 𝑁 − 4
Nhân hai vế của phương trình thứ hai với 𝐶 1 vào bên trái rồi cộng cả 3
phương trình ta thu được:
4 −1 véc tơ ẩn 𝑌𝑗, trong đó j là bội của 4 Nếu giải được hệ này
thì các 𝑌𝑗 với j là bội của 2 nhưng không là bội của 4 sẽ tìm được từ phương trình:
𝐶 1 𝑌𝑗 = 𝑌𝑗 −2 + 𝑌𝑗 +2 + 𝐹𝑗 1 , 𝑗 = 2, 6, 10, … , 𝑁 − 2 (1.14)Tiếp tục quá trình khử này Kết quả là sau bước khử thứ l ta nhận được hệ gồm 𝑁
2𝑙 −1 ẩn 𝑌𝑗, trong đó 𝑗 là bội của 2𝑙
Trang 19𝑆ố ó𝑎 𝑏ở𝑖 𝑇𝑟𝑢𝑛𝑔 𝑡â𝑚 𝐻ọ𝑐 𝑙𝑖ệ𝑢 – Đạ𝑖 ọ𝑐 𝑇á𝑖 𝑁𝑔𝑢𝑦ê𝑛 𝑡𝑡𝑝://𝑤𝑤𝑤 𝑙𝑟𝑐 −
𝑡𝑛𝑢 𝑒𝑑𝑢 𝑣𝑛
−𝑌𝑗−2𝑙+ 𝐶1 𝑌𝑗− 𝑌𝑗+2𝑙= 𝐹𝑗1 , 𝑗 = 2𝑙, 2 2𝑙, 3 2𝑙, … , 𝑁 − 2𝑙
𝑌0= 𝐹0
𝑌𝑁= 𝐹𝑁
(1.15)
và nhóm các phương trình 𝐶 𝑘−1 𝑌𝑗 = 𝐹𝑗 𝑘−1 + 𝑌𝑗 −2𝑘−1 + 𝑌𝑗 +2𝑘−1, 𝑗 = 2𝑘−1, 3 2𝑘−1, 5 2𝑘−1, … , 𝑁 − 2𝑘−1, 𝑘 = 𝑙, 𝑙 − 1, … , 1 (1.16) trong đó các ma trận 𝐶 𝑘 và các véc tơ v ế phải 𝐹𝑗 𝑘 được tính theo các công thức truy toán 𝐶 𝑘 = 𝐶 𝑘−1 2 − 2𝐸; 𝐹𝑗 𝑘 = 𝐹𝑗 −2 𝑘−1 𝑘−1 + 𝐶 𝑘−1 𝐹𝑗 𝑘−1 + 𝐹𝑗 +2 𝑘−1 𝑘−1, 𝑗 = 2𝑘, 2 2𝑘, 3 2𝑘, … , 𝑁 − 2𝑘, 𝑘 = 1, 2, 3, … (1.17) Từ (1.15) suy ra rằng sau 𝑛 − 1 bước khử (𝑙 = 𝑛 − 1) ta thu được hệ chỉ gồm một phương trình đối với biến 𝑌2𝑁 −1 = 𝑌𝑁/2 là: 𝐶 𝑛−1 𝑌𝑗 = 𝐹𝑗 𝑛−1 + 𝑌𝑗 −2𝑛 −1+ 𝑌𝑗 +2𝑛 −1 = 𝐹𝑗 𝑛−1 + 𝑌0 + 𝑌𝑁; 𝑌0 = 𝐹0, 𝑌𝑁 = 𝐹𝑁 (1.18) với vế phải đã biết Vì vậy từ (1.18) ta có thể tìm được 𝑌𝑁/2, kết hợp với (1.15) ta thấy rằng tất cả các ẩn được tìm liên tiếp từ các phương trình 𝐶 𝑘−1 𝑌𝑗 = 𝐹𝑗 𝑘−1 + 𝑌𝑗 −2𝑘−1 + 𝑌𝑗 +2𝑘−1, 𝑌0 = 𝐹0, 𝑌𝑁 = 𝐹𝑁, 𝑗 = 2𝑘−1, 3 2𝑘−1, 5 2𝑘−1, … , 𝑁 − 2𝑘−1, 𝑘 = 𝑛, 𝑛 − 1, … , 1 (1.19)
Việc tính các 𝐹𝑗 𝑘 theo công thức truy toán (1.17) có thể dẫn đến việc tích lũy sai số nếu như chuẩn của ma trận 𝐶 𝑘−1 lớn hơn 1 Ngoài ra các ma trận 𝐶 𝑘
nói chung là các ma trận đầy đủ Điều này dẫn đến việc tăng khối lượng tính toán khi tính các 𝐹𝑗 𝑘 theo (1.17) Để khắc phục những khó khăn trên, thay cho 𝐹𝑗 𝑘 ta sẽ tính các véc tơ 𝑝𝑗𝑘 và 𝑞𝑗𝑘 liên hệ với 𝐹𝑗 𝑘 theo công thức sau:
Trang 20𝐹𝑗 𝑘 = 𝐶 𝑘 𝑝𝑗𝑘 + 𝑞𝑗𝑘, 𝑗 = 2𝑘, 2 2𝑘, 3 2𝑘, … , 𝑁 − 2𝑘, 𝑘 = 0, 1, 2, 3, … , 𝑛 − 1 (1.20) trong đó ta chọn 𝑝𝑗(0) = 0 và 𝑝𝑗(0) = 𝐹𝑗, 𝑗 = 1, 2, … , 𝑁 − 1
Để tìm mối quan hệ giữa 𝑝𝑗𝑘 và 𝑞𝑗𝑘 ta thay (1.20) vào (1.17) ta được:
𝐶 𝑘−1 𝑆𝑗(𝑘−1) = 𝑞𝑗(𝑘−1) + 𝑝𝑗 −2 𝑘−1 𝑘−1 + 𝑝𝑗 +2 𝑘−1 𝑘−1 (1.24) Kết hợp (1.20) và (1.24) ta có thuật toán xác định các véc tơ 𝑝𝑗𝑘và 𝑞𝑗𝑘
Trang 21trong đó:
𝐶 𝑘−1 = 𝐶𝑙,𝑘−1,
2𝑘−1𝑙=1
𝐶𝑙,𝑘−1 = 𝐶 − 2 cos(2𝑙 − 1)𝜋
2𝑘 𝐸 Tóm lại, qua các bước phân tích trên ta có thuật toán thu gọn khối lượng tính toán giải bài toán biên thứ nhất như sau:
1 Quá trình xuôi
Cho các giá trị ban đầu 𝑝𝑗 0 = 0, 𝑞𝑗 0 = 𝐹𝑗, 𝑗 = 1, 2, … , 𝑁 − 1
Với 𝑘 = 1 giải phương trình 𝐶𝑝𝑗(1) = 𝑞𝑗(0) và tính 𝑞𝑗(1) = 2𝑝𝑗(1)+ 𝑞𝑗 −1(0) +
Trang 22b Bài toán biên thứ hai
Xét bài toán biên thứ hai
𝐶𝑌0 − 2𝑌1 = 𝐹0, 𝑗 = 0,
−𝑌𝑗 −1 + 𝐶𝑌𝑗 + 𝑌𝑗 +1 = 𝐹𝑗, 1 ≤ 𝑗 ≤ 𝑁 − 1, (1.27)
−2𝑌𝑁−1+ 𝐶𝑌𝑁 = 𝐹𝑁, 𝑗 = 𝑁, trong đó 𝑁 = 2𝑛, 𝑛 > 0
Ký hiệu 𝐶(0) = 𝐶, 𝐹𝑗(0) = 𝐹𝑗, 𝑗 = 1, 2, 𝑁 − 1 Bằng phương pháp khử liên tiếp như
đã trình bày ở bài toán biên thứ nhất, sau (𝑛 − 1) phép khử sẽ dẫn đến các phương trình
Trang 23Thay cho việc tính 𝐹𝑗(𝑘), ta tính các véc tơ 𝑝𝑗(𝑘), 𝑞𝑗(𝑘) liên kết qua công thức:
𝐹𝑗(𝑘) = 𝐶(𝑘)𝑝𝑗(𝑘)+ 𝑞𝑗(𝑘), 𝑗 = 2𝑘, 2 2𝑘, 3 2𝑘, … , 𝑁 − 2𝑘, 𝑘 = 0, 1, … , 𝑛 trong đó 𝑝𝑗(𝑘), 𝑞𝑗(𝑘) được tìm từ các công thức
Trang 24Tóm lại ta có thuật toán sau đây giải bài toán biên thứ hai
1 Quá trình xuôi
Xác định các giá trị ban đầu 𝑝𝑗 0 = 0, 𝑞𝑗 0 = 𝐹𝑗, 𝑗 = 1, 2, … , 𝑁
Với 𝑘 = 1, 2, … , 𝑛 − 1 xác định các véc tơ
Trang 251.2.6.2 Giới thiệu thư viện RC2009
Để giải số bài toán biên elliptic (1.8), các tác giả sử dụng phương pháp sai phân xây dựng lược đồ sai phân cho các bài toán 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 hệ phương trình véc tơ 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ác kết quả đã được công bố trong công trình [3]
a Bài toán biên Dirichlet
Xét bài toán
Trang 26Trong đó 𝑌𝑗 là các véc tơ nghi ệm, 𝐹𝑗 là các véc tơ c ấp (𝑀 − 1), 𝐶 là ma trận hệ số
cấp 𝑀 − 1 x (𝑀 − 1) được xác định như sau:
Trang 2722
12, 𝑑 = 2 𝑟 + 1 + 𝑐22
𝑘2 Trên cơ sở thuật toán thứ nhất tiến hành cài đặt giải hệ phương trình trên với ngôn ngữ lựa chọn là Matlab Thiết kế các hàm RC0000(phi, b1, b2, b3, b4, l1, l2, k1, k2, c, N, M, n) thực hiện thuật toán thu gọn, trong đó phi là hàm vế phải b1, b2, b3, b4 lần lượt là các véc tơ giá tr ị điều kiện biên Dirichlet hoặc Neumann trên các biên trái, phải, dưới, trên của miền chữ nhật
Hàm v0000(phi, b1, b2, b3, b4, l1, l2, k1, k2, c, M, N, n, p1, p2, q1, q2) trả lại
ma trận nghiệm xấp xỉ của bài toán (1.28) bắt đầu từ tọa độ (𝑝1, 𝑞1) đến (𝑝2, 𝑞2)
b Bài toán biên Neumann
Xét bài toán biên hỗn hợp
𝜕𝑣 nếu điều kiện biên là Neumann)
Trường hợp 1: Điều kiện trên cạnh trên của hình chữ nhật là dạng Neumann
Từ phương pháp sai phân với độ chính xác 𝑂(12 + 22) chuyển bài toán vi phân (1.28) về bài toán sai phân tương ứng với hệ phương trình véc tơ ba điểm
Trang 28−𝑌𝑗 −1 + 𝐶𝑌𝑗 − 𝑌𝑗 +1 = 𝐹𝑗, 𝑌0 = 𝐹0, −2𝑌𝑁−1+ 𝐶𝑌𝑁 = 𝐹𝑁, 𝑗 = 1, 𝑁 − 1
trong đó 𝑌𝑗 là các véc tơ nghi ệm, 𝐹𝑗 là các véc tơ c ấp (𝑀 − 1),C là ma trận hệ số
cấp 𝑀 − 1 x (𝑀 − 1) được xác định như sau:
Trang 29ma trận nghiệm xấp xỉ của bài toán (3.29) từ tọa độ 𝑝1, 𝑞1 đến 𝑝2, 𝑞2
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àm chuẩn RC0001(…) 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 cạnh phải và cạnh trên của hình chữ nhật là dạng Neumann
Với độ chính xác O(12 + 22) chuyển bài toán vi phân (1.29) về bài toán sai phân tương ứng với hệ phương trình vectơ ba điểm:
Trang 30ma trận nghiệm xấp xỉ của bài toán (1.29) từ tọa độ 𝑝1, 𝑞1 đến 𝑝2, 𝑞2
Trong trường hợp khi điều kiện biên trên hai cạnh khác nhau là dạng Neumann, sử dụng phương pháp biến đổi tọa độ trên cơ sở của hàm chuẩn
Trang 31RC0002(…) xây dựng các hàm v1010(…), v1001(…), v0110(…) trả lại nghiệm bằng số của các bài toán tương ứng
Trường hợp 3: Đ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(phi, 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ác hà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 4: Điều kiện biên trên tất cả các cạnh của hình chữ nhật là Neumann
Với độ chính xác 𝑂(12 + 22) chuyển bài toán vi phân (1.28) về bài toán sai phân tương ứng với hệ phương trình véc tơ ba điểm
−𝑌𝑗 −1 + 𝐶𝑌𝑗 − 𝑌𝑗 +1 = 𝐹𝑗; 𝐶𝑌0 − 2𝑌1 = 𝐹0; −2𝑌𝑁−1 + 𝐶𝑌𝑁 = 𝐹𝑁, 𝑗 = 1, 𝑁 Trong đó 𝑌𝑗 là các véc tơ nghi ệm, 𝐹𝑗 là các véc tơ c ấp (𝑀 + 1), 𝐶 là ma trận hệ số
cấp 𝑀 + 1 x (𝑀 + 1) được xác định như sau:
Trang 32kế hàm RC0004(phi, b1, b2, b3, b4, l1, l2, k1, k2, c, N, M, n) thực hiện thuật toán thu gọn, hàm v1111(phi, b1, b2, b3, b4, l1, l2, k1, k2, c, M, N, n, p1, p2, q1, q2) trả lại ma trận nghiệm xấp xỉ của bài toán (1.29) từ tọa độ 𝑝1, 𝑞1 đến 𝑝2, 𝑞2 Qua thực nghiệm tính toán, các hàm thiết kế ở trên đảm bảo độ chính xác 𝑂(12 + 22) và
độ phức tạp tính toán là 𝑂(𝑀𝑁𝑙𝑜𝑔𝑁)
Kết luận: Trong chương 1, luận văn đã đưa ra các kiến thức cơ bản về phương trình đạo hàm riêng, cơ sở của phương pháp lưới và thuật toán thu gọn khối lượng tính toán Đặc biệt đã giới thiệu về thư viện RC2009 giải số phương trình đạo
Trang 33hàm riêng Các kết quả này là công cụ để sử dụng thực nghiệm các bài toán được đưa ra trong Chương 2 và Chương 3 của luận văn
Chương 2 Phương pháp CIM (Coupling Interface Method)
Trong Chương 2, luận văn trình bày một phương pháp sai phân đặc biệt được gọi là phương pháp CIM đối với bài toán tồn tại mặt phân cách trong không gian một chiều và không gian hai chiều đưa bài toán đang xét về các hệ phương trình sai phân tương ứng, các thuật toán tương ứng với CIM1 và CIM2, các kết quả thử nghiệm tương ứng với các bài toán cụ thể Các kết quả trên được tham khảo trong các tài liệu [6, 7, 11]
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
Xét bài toán tổng quát:
Trang 34Trong trường hợp khi hệ số 𝜀 𝑥 liên tục qua mặt phân cách 𝛤, bài toán trở thành bài toán biên elliptic bình thường Đối với bài toán này, ta có thể tìm được lời giải số qua các phương pháp sai phân thông thường (như ở Chương 1)
Trường hợp hàm và các hệ số đạo hàm tồn tại bước nhảy gián đoạn qua mặt phân cách, ký hiệu:
𝑢 = 𝜏 là bước nhảy của hàm qua biên phân cách
𝜀𝜕𝑢
𝜕𝑛 = 𝜍 là bước nhảy của đạo hàm qua biên phân cách
Khi đó, tại các điểm lân cận quanh 𝛤, các phương pháp sai phân thông thường không thực hiệ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 lân cận mặt phân cách để đưa bài toán đang xét về hệ phương trình sai phân tương ứng Từ đó việc giải số của bài toán được đưa về giải hệ phương trình đại số tuyến tính bằng các phương pháp đúng hoặc gần đúng
Hướng 2: Sử dụng phương pháp chia miền đang xét về hai miền bằng biên phân chia chính là mặt phân cách, chuyển bài toán đang xét về hai bài toán trên hai miền Sau đó xây dựng các sơ đồ lặp tương ứng tìm nghiệm xấp xỉ của các bài toán trên hai miền từ đó thu được nghiệm của bài toán gốc
Sau đây luận văn sẽ trình bày cơ sở của phương pháp sai phân đặc biệt
2.2 Cơ sở các phương pháp CIM đối với phương trình elipptic
Xuất phát từ việc tìm nghiệm của các bài toán biên elliptic có bước nhảy gián đoạn qua mặt phân cách, các tác giả I-Liang Chern và Yu-Chen Shu đã đề xuất ra phương pháp CIM (Coupling interface method) bao gồm phiên bản bậc 1 – CIM1
và phiên bản bậc 2 – CIM2 vào năm 2007, được tham khảo trong tài liệu [6]
Trang 352.2.1 Trường hợp không gian một chiều
Xét bài toán:
− 𝜀 𝑥 𝑢′ 𝑥 ′ = 𝑓 𝑥 , 𝑥 ∈ 𝑎, 𝑏 \{𝑥 } (2.1)
𝑢 𝑎 = 𝑢𝑎, 𝑢 𝑏 = 𝑢𝑏 (2.2) [𝑢]𝑥 = 𝜏, [𝜀𝑢𝑥]𝑥 = 𝜍
Trong đó 𝜀(𝑥) > 0 và 𝑓(𝑥) là hàm đủ trơn
Điểm 𝑥 gọi là điểm phân cách nếu tại đó tồn tại các bước nhảy 𝜏 và 𝜍
Chia [𝑎, 𝑏] thành N khoảng nhỏ bằng nhau Cho = (𝑏−𝑎)𝑁 , 𝑥𝑖 = 𝑎 +𝑖, 0 ≤ 𝑖 ≤ 𝑁 𝑎 = 𝑥0 < 𝑥1 < ⋯ < 𝑥𝑘 < 𝑥 < 𝑥𝑘+1 < ⋯ < 𝑥𝑛 = 𝑏
Một điểm lưới 𝑥𝑖 được gọi là điểm trong nếu [𝑥𝑖−1, 𝑥𝑖) hoặc [𝑥𝑖, 𝑥𝑖+1) không chứa điểm phân cách Ngược lại, nó được gọi là điểm ngoài Trên hình vẽ: 𝑥𝑘, 𝑥𝑘+1
là các điểm ngoài
Ta xét phương trình sai phân của phương trình (2.1)
Đối với các điểm trong 𝑥𝑖, ta có phương trình sai phân:
Đối với các điểm ngoài 𝑥𝑖 ta có phương pháp CIM1 và phương pháp CIM2
2.2.1.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 𝑥 ∈ [𝑥𝑖, 𝑥𝑖+1)
Gọi miền mà 𝑥𝑖 xác định là mặt 𝛺−, ngoài ra là mặt 𝛺+
Trang 36Trong đó: (𝑢′)𝑖+1
2
± chính là giá trị đạo hàm của u tại điểm 𝑥𝑖 và 𝑥𝑖+1
Hình 2.1: Phương trình tuyến tính của CIM1: 𝑢 là đạo hàm của 2 hàm tuyến tính
trên [𝑥𝑖, 𝑥𝑖+1), một điểm phân cách 𝑥 được xác định
Kết hợp với điều kiện bước nhảy qua 𝑥 ta có:
Trang 37Trong đó: 𝜀 = 𝛼𝜀++ 𝛽𝜀−, 𝜌 ± = ε± ta thu được: 𝜀
Các thuật toán trung gian được biểu diễn bằng các thuật toán Algorithm 1 và Algorithm 2
Algorithm 1: CIM1 trong không gian một chiều
Trang 38Sử dụng khai triển Taylor:
𝑢+ 𝑥 = 𝑢𝑖+1+ 𝑢𝑖+2− 𝑢𝑖+1
1
2𝑢′′𝑖+1 𝑥 − 𝑥𝑖+1 + 1
2𝑢′′𝑖+1(𝑥 − 𝑥𝑖+1)2 + 𝑂 3 , 𝑥 𝜖[𝑥 , 𝑥𝑖+2 )
Trang 40Như vậy ta thu được: