Tải bản đầy đủ (.pdf) (71 trang)

Một số phương pháp xác định nghiệm gần đúng đối với bài toán biên elliptic cấp hai trong miền phức tạp hoặc điều kiện biên phức tạp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (963.47 KB, 71 trang )

.

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT & TT
-------------------

BÙI THỊ THU TRANG

MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH NGHIỆM GẦN ĐÚNG
ĐỐI VỚI BÀI TOÁN BIÊN ELLIPTIC CẤP HAI TRONG
MIỀN PHỨC TẠP HOẶC ĐIỀU KIỆN BIÊN PHỨC TẠP

LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH

Chun ngành : Khoa học máy tính
Mã số

: 60 48 01

Thái Nguyên, năm 2011

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




MỤC LỤC
MỤC LỤC............................................................................................................... i
DANH MỤC BẢNG .............................................................................................iii
DANH MỤC HÌNH .............................................................................................. iv
MỞ ĐẦU ................................................................................................................ 1


Chƣơng 1................................................................................................................. 3
MỘT SỐ KIẾN THỨC CƠ BẢN VỀ GIẢI SỐ ....................................................... 3
PHƢƠNG TRÌNH ĐẠO HÀM RIÊNG ................................................................... 3
1.1. Phƣơng pháp sai phân. ................................................................................... 3
1.1.1. Lƣới sai phân. ................................................................................................ 3
1.1.2. Hàm lƣới........................................................................................................ 3
1.1.3. Bài toán sai phân............................................................................................ 4
1.2. Thuật tốn thu gọn khối lƣợng tính tốn. ..................................................... 5
1.2.1. Bài toán biên thứ nhất: ................................................................................... 5
1.2.2. Bài toán biên thứ hai .................................................................................... 10
1.3. Giới thiệu thƣ viện TK2004 .......................................................................... 13
1.3.1. Bài toán biên Dirichlet ................................................................................ 13
1.3.2. Bài toán biên hỗn hợp ................................................................................. 15
1.4. Giới thiệu thƣ viện RC2009 .......................................................................... 17
1.4.1. Bài toán biên Dirichlet ................................................................................. 17
1.4.2. Bài toán biên Neumann ................................................................................ 19
1.5. Phƣơng pháp lặp giải phƣơng trình toán tử ................................................ 24
1.5.1. Lƣợc đồ lặp hai lớp ...................................................................................... 24
1.5.2. Lƣợc đồ dừng, định lý cơ bản về sự hội tụ của phép lặp . ............................. 27
Chƣơng 2............................................................................................................... 30
CÁC PHƢƠNG PHÁP XẤP XỈ BIÊN .................................................................. 30
ĐỐI VỚI BÀI TOÁN CĨ ĐIỀU KIỆN BIÊN KÌ DỊ ............................................. 30
2.1. Cơ sở của phƣơng pháp ................................................................................ 30
2.2. Các phƣơng pháp xấp xỉ biên (BAMs) ........................................................ 31
2.2.1. Cơ sở phƣơng pháp ...................................................................................... 31
2.2.2. Các phƣơng pháp BAMs .............................................................................. 32
2.3. Phƣơng pháp xấp xỉ (GFIFs)........................................................................ 32
2.4. Giới thiệu bài tốn Motz: ............................................................................. 34
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




i


2.4.1. Kết quả sử dụng các phƣơng pháp BAMs .................................................... 34
2.4.2. Kết quả sử dụng phƣơng pháp GFIFs ........................................................... 37
Chƣơng 3............................................................................................................... 41
PHƢƠNG PHÁP CHIA MIỀN.............................................................................. 41
GIẢI BÀI TOÁN BIÊN VỚI BIÊN KỲ DỊ ........................................................... 41
3.1. Cơ sở của phƣơng pháp ................................................................................ 41
3.2. Ứng dụng của phƣơng pháp chia miền đối với bài toán Motz.................... 43
3.3. Mở rộng phƣơng pháp chia miền trong trƣờng hợp tổng quát: ................. 47
PHẦN KẾT LUẬN .............................................................................................. 52
TÀI LIỆU THAM KHẢO ................................................................................... 53
PHẦN PHỤ LỤC ................................................................................................. 55

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



ii


DANH MỤC BẢNG
Bảng 2.1: Các hệ số ứng với Classic BAM (N=35) ................................................ 35
Bảng 2.2: Các hệ số ứng với Hybrid BAM (N=35) ................................................ 36
Bảng 2.3: Một số giá trị của các hệ số trong khai triển. .......................................... 38
Bảng 2.4: Một số giá trị của hệ số khai triển .......................................................... 39
Bảng 3.1. Kết quả thực nghiệm đối với bài toán Motz ........................................... 46

Bảng 3.2. Số liệu thực hiện trong trƣờng hợp tổng quát. ........................................ 50

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



iii


DANH MỤC HÌNH
Hình 2.1. Dạng bài tốn có điểm biên kì dị ............................................................ 30
Hình 2.2. Biểu diễn bài tốn có điểm biên kì dị ..................................................... 33
Hình 2.3. Mơ hình bài tốn Motz ........................................................................... 34
Hình 2.4. Nghiệm của bài tốn Motz đối với phƣơng pháp BAM .......................... 37
Hình 2.5. Đồ thị biểu diễn hệ số Ak ........................................................................ 39
Hình 3.1. Mơ tả phƣơng pháp chia miền ................................................................ 41
Hình 3.2. Mơ hình Bài tốn Mozt áp dụng phƣơng pháp chia miền ....................... 44
Hình 3.3. Nghiệm của bài toán Motz với phƣơng pháp chia miền. ......................... 46
Hình 3.4. Mơ hình bài tốn Motz dạng tổng quát ................................................... 47
Hình 3.5. Đồ thị nghiệm trong trƣờng hợp tổng quát. ............................................ 50
Hình 3.6. Đƣờng cong đạo hàm bậc nhất ............................................................... 51

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



iv


MỞ ĐẦU

Một số mơ hình trong vật lý và cơ học đều đƣa đến việc xác định nghiệm của
bài toán biên elliptic cấp hai với các điều kiện biên khác nhau. Trong những trƣờng
hợp đơn giản khi miền hình học là miền hình chữ nhật và có điều kiện biên hỗn hợp
yếu (tức là trên một cạnh chỉ có 1 loại điều kiện biên Dirichlet hoặc Neumann) thì
bằng việc sử dụng các phƣơng pháp sai phân, bài toán vi phân đƣợc đƣa về hệ
phƣơng trình véc tơ ba điểm và xác định nghiệm gần đúng qua việc giải các hệ
phƣơng trình đại số tuyền tính bằng các thuật tốn đã biết. Tuy nhiên trong miền
hình học khơng phải là miền hình chữ nhật hoặc điều kiện biên là hỗn hợp mạnh
(tức là trên một cạnh có hai loại điều kiện biên Dirichlet và Neumann) thì bài tốn
xuất hiện điểm kì dị tại các góc của miền hoặc điểm phân chia giữa hai loại điều
kiện biên khi đó phƣơng pháp sai phân sẽ gặp khó khăn. Để giải quyết các dạng bài
tốn trên, chúng ta có thể sử dụng phƣơng pháp chia miền tìm nghiệm xấp xỉ bằng
tổng hữu hạn các hàm cơ sở xung quanh điểm kì dị. Nhƣ vậy, việc tìm hiểu, nghiên
cứu các phƣơng pháp tìm nghiệm xấp xỉ của các bài toán biên elliptic cấp hai trong
trƣờng hợp miền phức tạp hoặc điều kiện biên phức tạp cũng nhƣ so sánh giữa các
phƣơng pháp và lập trình tính tốn thử nghiệm trên mơi trƣờng Matlab là có ý nghĩa
khoa học.
Nội dung chính của luận văn là tiến hành tìm hiểu, nghiên cứu cơ sở lý
thuyết các phƣơng pháp tìm nghiệm xấp xỉ của bài tốn biên elliptic cấp hai trong
miền hình học phức tạp hoặc điều kiện biên phức tạp, đặc biệt là phƣơng pháp xác
định nghiệm xấp xỉ thông qua các hệ hàm cơ sở xung quanh các điểm kì dị, so sánh
với phƣơng pháp chia miền và lập trình tính tốn thử nghiệm trên nền ngôn ngữ
Matlab. Cấu trúc của luận văn gồm 3 chƣơng:
Chƣơng 1: Đƣa ra một số kiến thức cơ bản về phƣơng pháp sai phân, thuật
toán thu gọn giải hệ phƣơng trình véc tơ ba điểm, các hệ thống thƣ viện chƣơng
trình mẫu và lý thuyết về các sơ đồ lặp.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




1


Chƣơng 2: Trình bày cơ sở lý thuyết về phƣơng pháp xấp xỉ biên đối với bài
tốn có điều kiện biên kì dị trong 2 trƣờng hợp, trƣờng hợp miền hình học phức tạp
và trƣờng hợp điều kiện biên hỗn hợp mạnh. Kết quả áp dụng với bài toán Motz.
Chƣơng 3: Đƣa ra cơ sở các phƣơng pháp chia miền giải bài tốn biên với
biên kì dị, so sánh các phƣơng pháp xấp xỉ biên với phƣơng pháp chia miền đối với
bài tốn Motz.
Luận văn này đƣợc hồn thành dƣới sự hƣớng dẫn tận tình của TS Vũ Vinh
Quang, em xin bày tỏ lịng biết ơn chân thành của mình đối với thầy. Em xin chân
thành cảm ơn các thầy, cô giáo trƣờng Đại học Công nghệ thông tin và truyền thông
- Đại học Thái Nguyên, Viện Công nghệ thông tin - Viện Khoa học và Công nghệ
Việt Nam đã tham gia giảng dạy, giúp đỡ em trong suốt quá trình học tập. Tuy
nhiên vì điều kiện thời gian và khả năng có hạn nên luận văn khơng thể tránh khỏi
những thiếu sót. Em kính mong các thầy cơ giáo và các bạn đóng góp ý kiến để luận
văn đƣợc hồn thiện hơn.

Tác giả

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



2


Chƣơng 1
MỘT SỐ KIẾN THỨC CƠ BẢN VỀ GIẢI SỐ

PHƢƠNG TRÌNH ĐẠO HÀM RIÊNG
Trong chƣơng này, luận văn trình bày một số kiến thức liên quan đến việc
giải số phƣơng trình đạo hàm riêng bao gồm: Cơ sở về phƣơng pháp lƣới, phƣơng
pháp lặp, thuật toán thu gọn khối lƣợng tính tốn, giới thiệu các thƣ viện chƣơng
trình TK2004 và RC2009 tìm nghiệm số của các bài tốn biên hỗn hợp trong miền
chữ nhật. Những kiến thức cơ sở và kết quả đƣợc tham khảo từ các tài liệu
[3,4,8,10].
1.1. Phƣơng pháp sai phân.
1.1.1. Lƣới sai phân.
Xét bài toán

u  f , x ,

x .
 u  g,

(1.1)

trong đó   ( x,y )  R2 ,a  x  b,c  y  d  , chọn 2 số nguyên N  1 và M  1 ,
đặt h  (b  a) / N gọi là bƣớc lƣới theo x, k  (d  c) / M gọi là bƣớc lƣới theo y. Đặt
xi  a  ih , y j  c  jk , i  0...N , j  0...M . Mỗi điểm ( xi , y j ) gọi là một nút lƣới ký

hiệu là nút (i, j ) . Tập tất cả các nút trong miền ký hiệu là  hk . 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à hk , tập hk = hk  hk gọi là một
lƣới sai phân trên

.

1.1.2. Hàm lƣới.
Mỗi hàm số xác định tại các nút của lƣới gọi là một hàm lƣới, giá trị của hàm

lƣới

u( x, y)

tại nút lƣới (i, j ) viết tắt là ui , j , i  0, N , j  0, M . Mỗi hàm

u(i, j)

xác định tại mọi ( x, y )   tạo ra hàm lƣới u xác định bởi ui , j .

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



3


1.1.3. Bài toán sai phân.
m
Ký hiệu C ( ) là không gian các hàm số hai biến

riêng đến cấp

m

liên tục trong

( x, y) có các đạo hàm

 =    . Giả sử bài tốn có


4
nghiệm u  C (  ) , khi đó:

max( x , y )

 4u
 4u
,
(
x
,
y
)

C
=
const
max
( x, y )  C2 = const .
1
( x , y )
x 4
y

Do đó theo cơng thức Taylor ta có:
u( xi 1 , y j ) = u( xi  h, y j ) = u( xi , y j )  h

u h2  2u h3 3u



  (h 4 )
2
3
x 2! x
3! x

u( xi 1 , y j )  2u( xi , y j )  u( xi 1 , y j )

hay

h2

 2u
= 2   (h 2 )
x

Một cách tƣơng tự:

u( xi , y j 1 ) = u( xi , y j  k ) = u ( xi , y j )  k

u k 2  2u k 3  3u


  (k 4 )
2
3
y 2! y
3! y


u( xi , y j 1 )  u( xi , y j  k ) = u ( xi , y j )  k

u k 2  2u k 3  3u


  (k 4 )
y 2! y 2 3! y 3

Do đó:
u ( xi , y j 1 )  2u ( xi , y j )  u ( xi , y j 1 )
k2

=

 2u
  (k 2 )
y 2

Vậy ta có:
u( xi 1 , y j )  2u( xi , y j )  u( xi 1 , y j )
h2




u( xi , y j 1 )  2u ( xi , y j )  u ( xi , y j 1 )
k

2


 u   (h2  k 2 )

Ta đặt:
 hk u 

ui1  2ui , j  ui1, j
h

2



ui , j1  2ui , j  ui , j1
k2

Khi đó chứng tỏ:

khu = u   ( h2  k 2 )

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



4


Số hạng

 (h  k ) là một số vô cùng bé bậc hai. Ta nói tốn tử  kh xấp xỉ
2


2

tốn tử  , điều đó cho phép thay phƣơng trình vi phân bằng phƣơng trình sai phân:

 hk u = f ij ,

f ij = f ( xi , y j ), ( xi , y j ) hk

tức là:
ui1, j  2ui , j  ui1, j
h

2



ui , j1  2ui , j  ui , j1
k2

 f ( xi , y j ), ( xi , y j )  hk

(1.2)

đồng thời thay điều kiện biên bằng điều kiện:

uij  g( xi , y j ), ( xi , y j )  hk

(1.3)


Ta đƣợc bài tốn sai phân hồn chỉnh: Tìm hàm lƣới

u tại các nút ( i, j )

thỏa mãn hệ phƣơng trình sai phân (1.2) với các điều kiện biên (1.3). Nhƣ vậy việc
tìm nghiệm xấp xỉ của bài tốn vi phân (1.1) với độ chính xác cấp hai đƣợc đƣa về
việc giải bài toán sai phân (1.2) với điều kiện (1.3) bằng các phƣơng pháp đại số.
1.2. Thuật toán thu gọn khối lƣợng tính tốn
Phƣơng pháp này đƣợc đề xuất bởi Samarskij-Nicolaev. Bằng các phép biến
đổi đơn giản về véc tơ và ma trận, các bài tốn sai phân ln ln đƣợc đƣa về hệ
phƣơng trình véc tơ ba điểm thuộc một trong các dạng sau đây:
1.2.1. Bài toán biên thứ nhất
Xét bài tốn biên thứ nhất đối với phƣơng trình véc tơ ba điểm
 Y j 1  CY j  Y j 1 = Fj , 1  j  N 1, Y0 = F0 , YN = FN .

(1.4)

Trong đó Y j là véc tơ cần tìm, C là ma trận vuông, F j là véc tơ cho trƣớc. Ý
tƣởng của phƣơng pháp rút gọn hoàn toàn giải (1.1) là khử liên tiếp các ẩn Y j đầu
tiên với các j lẻ, sau đó từ các phƣơng trình cịn lại khử các Y j với j là bội của 2,
rồi 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 N = 2n
thì sau một số lần khử sẽ cịn lại một phƣơng trình chứa véc tơ ẩn YN/2 mà từ đó YN/2
có thể tính đƣợc qua Y0 và YN . Sau khi đã có đƣợc Y0 , YN/2 và YN thì quá trình ngƣợc
lại là việc tìm các Y j với j là bội của

N
N
rồi bội của
,… rõ ràng, phƣơng pháp
4

8

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



5


rút gọn hoàn toàn là một biến thể của phƣơng pháp khử Gauss áp dụng cho bài tốn
(1.4) trong đó việc khử các biến đƣợc thực hiện theo một thứ tự đặc biệt. Sau đây, ta
sẽ mô tả cụ thể phƣơng pháp.
Giả sử N = 2 n , n > 0 . Ký hiệu C (0) = C , F j(0) = F j ; j = 1,2,..., N  1 . Khi đó (1.4)
đƣợc viết dƣới dạng
 Y j 1  C 0Y j  Y j 1 = F j(0) (1  j  N  1) , Y0 = F0 , YN = FN .

(1.5)

Bƣớc khử thứ nhất: Từ các phƣơng trình đầu của (1.5) ta khử các Y j với j
lẻ. Muốn vậy ta viết 3 phƣơng trình liên tiếp:
 Y j  2  C (0)Y j 1  Y j = F j(0)
1 ,
 Y j 1  C (0)Y j  Y j 1 = Fj(0) ,
 Y j  C (0)Y j 1  Y j  2 = F j(0)
1

Nhân 2 vế của phƣơng trình thứ hai với C (0) vào bên trái rồi cộng cả 3 phƣơng trình
lại ta đƣợc:
 Y j 2  C (1)Y j  Y j  2 = F j(1)
1 , j = 2,4,..., N  2 , Y0 = F0 , YN = FN


(1.6)

trong đó: C (1) = (C (0 ) ) 2  2 E , Fj(1) = Fj(0)1  C (0) Fj(0)  Fj(0)1 , j = 2,4,..., N  2 .
Nhận xét rằng hệ (1.6) chỉ chứa các Y j với j chẵn, số véc tơ ẩn Y j là

N
1 .
2

Do đó nếu giải đƣợc hệ này thì các Y j với j lẻ sẽ tìm đƣợc từ phƣơng trình
C (0)Y j = F j(0)  Y j 1  Y j 1 , j = 1,3,..., N  1

(1.7)

Nhƣ vậy hệ (1.5) tƣơng đƣơng với hệ gồm (1.6) và (1.7).
Bƣớc khử thứ hai: ở bƣớc khử này ta sẽ tiến hành khử các Y j của hệ (1.6)
với j 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.6)
 Y j 4  C (1)Y j 2  Y j = Fj(1)
2 ,
 Y j 2  C (1)Y j  Y j  2 = F j(1) , ( j = 4,8,..., N  4) ,

 Y j  C (1)Y j  2  Y j  4 = Fj(1)
2 .

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




6


Nhân 2 vế của phƣơng trình thứ hai với C (1) vào bên trái rồi cộng cả 3 vế phƣơng
trình lại ta đƣợc
 Y j 4  C (2)Y j  Y j  4 = F j(2) , j = 4,8,..., N  4 , Y0 = F0 , YN = FN

(1.8)

trong đó: C (2) = (C (1) ) 2  2 E , Fj(2) = Fj(1) 2  C (1) Fj(1)  Fj(1) 2 , j = 4,8,..., N  4 .
Hệ (1.8) chỉ chứa

N
 1 véc tơ ẩn Y j , trong đó j là bội của 4. Nếu giải đƣợc hệ
4

này thì các Y j , với j là bội của 4 sẽ tìm đƣợc từ phƣơng trình 2 nhƣng khơng là bội
số của 4 sẽ tìm đƣợc từ phƣơng trình:
C (1)Y j = F j 2  Y j  2  F j(1) , j = 2,6,10..., N  2 .

Cứ tiếp tục quá trình khử này. Kết quả là sau bƣớc khử thứ l ta nhận đƣợc
một hệ gồm
Y

j  2l

N
 1 ẩn trong đó j là bội của 2l
Cl


 C (l )Y j  Y

j  2l

= F j(l ) , j = 2l ,2.2l ,3.2l ,..., N  2l , Y0 = F0 , YN = FN

(1.9)

và nhóm các phƣơng trình:
C ( k 1)Y j = F j( k 1)  Y

j  2 k 1

Y

j  2 k 1

, j = 2k 1 ,3.2k 1 ,5.2k 1 ,..., N  2 , k = l, l 1,...,1,

(1.10)

trong đó các ma trận C (k ) và các véc tơ vế phải Fj(k ) đƣợc tính theo các cơng thức
truy tốn:
C ( k ) = (C ( k 1) ) 2  2 E , F j( k ) = F ( k k1)1  C k 1 F j( k 1)  F k 1 ,
j 2
j2
j = 2 k ,2.2 k ,3.2 k ,..., N  2 k , k = 1,2,3... ,

(1.11)


Từ các bƣớc khử trên suy ra rằng sau n  1 bƣớc khử (l = n 1) ta thu đƣợc hệ
chỉ gồm một phƣơng trình đối với biến Y2N 1 = YN/2 là
C ( n 1)Y j = F j( n 1)  Y

j  2 n 1

Y

j  2 n 1

= F j( n 1)  Y0  YN , Y0 = F0YN = FN

(1.12)

với vế phải đã biết. Vì vậy từ (1.12) ta có thể tìm đƣợc YN/2 , và tất cả các ẩn cịn lại
đƣợc tìm liên tiếp từ các phƣơng trình:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



7


C ( k 1)Y j = Fj( k 1)  Y k 1  Y k 1 ,
j 2
j 2
Y0 = F0
YN = FN
j = 2k 1 ,3.2k 1 ,5.2k 1 ,..., N  2 k 1 ,

k = n, n  1,...,1

(1.13)

Các công thức trên đã mô tả phƣơng pháp rút gọn hồn tồn. Việc tính các
F j(k ) theo cơng thức truy tốn có thể dẫn đến việc tích luỹ sai số nếu nhƣ chuẩn của

ma trận C ( k 1) lớn hơn 1. Ngoài ra các ma trận C (k ) nói chung là các ma trận đầy đủ,
thậm chí cả với ma trận ban đầu là C (0) = C (ma trận ba đƣờng chéo). Điều này dẫn
đến tăng khối lƣợng tính tốn khi tính các Fj(k ) theo (1.13). Để khắc phục những
khó khăn trên, thay cho Fj(k ) ta sẽ tính các véc tơ p (kj ) và q (kj ) theo công thức sau:
F j( k ) = C ( k ) p (jk )  q (jk ) , j = 2k ,2.2k ,3.2k ..., N  2k , k = 0,1,2,..., n  1

(1.14)

(0)
trong đó ta chọn p (0)
j và q j = F j , j = 1,2,..., N  1 . Bằng các cơng thức tốn học, có

thể thấy mối quan hệ mà p (kj ) và q (kj ) phải thoả mãn nhƣ sau.
C ( k ) p (jk )  q (jk ) = C ( k 1) [q (jk 1)  p ( k 1)k 1  C ( k 1) p (jk 1)  p ( k 1)k 1 ]  q ( k 1)k 1  q ( k 1)k 1 ,
j 2

j 2

j 2

j 2

j = 2k ,2.2k ,3.2k ,..., N  2k , k = 1,2,3...,


Ta sẽ chọn p (kj ) và q (kj ) thoả mãn q (jk ) = 2 p (jk )  q (jk21)( k 1)  q (jk21)( k 1)
Khi đó, kết hợp với cơng thức C ( k )  2 E = [C ( k 1) ]2 ta có
C ( k ) p (jk ) = q (jk 1)  p ( k 1)k 1  C ( k 1) p (jk 1)  p ( k 1)k 1
j 2

j 2

Đặt S (j k 1) = p (jk )  p (jk 1) , suy ra S (j k 1) phải thoả mãn
C ( k 1) S (j k 1) = q (jk 1)  p ( k 1)k 1  p ( k 1)k 1
j 2

j2

Nhƣ vậy ta thu đƣợc thuật toán sau đây để xác định các véc tơ p (kj ) và q (kj )
C ( k 1) S (j k 1) = q (jk 1)  p ( k 1)k 1  p ( k 1)k 1 , S (j k 1) = p (jk )  p (jk 1) ,
j 2

j2

q (jk ) = 2 p (jk )  q (jk21)( k 1)  q (jk21)( k 1)

(1.15)

k
k
k
k
(0)
q (0)

j = F j ; p j = 0 , j = 2 ,2.2 ,3.2 ,..., N  2 , k = 0,1,2,...,n  1 .

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



8


Ký hiệu t (jk 1) = Y j  p (jk 1) , ta sẽ thấy rằng Y j có thể tính đƣợc từ các cơng thức sau
C ( k 1)t (j k 1) = q (jk 1)  Y

j  2 k 1

Y

j  2 k 1

, Y j = p (jk 1)  t (jk 1) ,

Y0 = F0 ; YN = FN , j = 2 k ,2.2k ,3.2k ,..., N  2 k , k = n, n 1,...,1

(1.16)

Nhận xét rằng các quá trình (1.15) và (1.16) ln cần tính ma trận nghịch đảo
[C ( k 1) ]1 . Bằng các phép biến đổi sơ cấp từ các mối quan hệ của ma trận C (k ) và đa

thức

1

C ( k ) = 2T k ( C ) ,
2
2

Chebysev

Cl ,k 1 = C  2 cos

ta



k 1

C ( k 1) =  (2l =1) Cl ,k 1 ,

trong

đó

(2l  1)
E.
2k

Nhƣ vậy, chẳng hạn ta có phƣơng trình
C ( k 1) =  ,

(1.17)

thì với việc giải lần lƣợt các phƣơng trình

Cl ,k 1 l =  l 1 , l = 1,2,...,2 k 1 ,  0 = 

sẽ cho ta nghiệm của (1.17) là  =  2k 1
Tóm lại, qua các bƣớc phân tích trên đây ta có thuật tốn rút gọn hồn tồn
giải bài tốn biên thứ nhất nhƣ sau:
 Q trình xi:
(0)
Bƣớc 1: Cho các giá trị ban đầu p (0)
j , q j = F j , j = 1,2,3,..., N  1

Bƣớc 2: Với k = 1 giải phƣơng trình
(0)
(1)
(0)
(0), j = 2,4,6,...,N  2
Cp (1)
và tính q (1)
j = qj
j = 2 p j  q( j 1)  q( j 1)

Bƣớc 3: Với k = 2,3,..., n 1 xác định các véc tơ
( k 1)
 (0)
 p ( k 1)k 1  p ( k 1)k 1 , j = 2 k ,2.2 k ,3.2 k ..., N  2 k .
j = qj
( j 2
)
j2

Sau đó, với mỗi l = 1,2,...2 k 1 và với mỗi j = 2 k ,2.2 k ,3.2 k ..., N  2 k , giải

phƣơng trình
Cl ,k 1 (jl ) =  (jl 1)

Khi đó

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



9


p (jk ) = p (jk 1)   (2j



k 1 )

, q (jk ) = 2 p (jk )  q(( kj 21)k 1 )  q (jk21)k 1 ,

j = 2k , 2.2 k ,3.2 k ..., N  2 k

Quá trình ngƣợc:
Bƣớc 1: Cho các giá trị ban đầu Y0 = F0 , YN = FN
Bƣớc 2: Với k = n, n 1,...,2 tính
( k 1)
 (0)
 Y k 1  Y k 1 , j = 2 k 1 ,3.2 k 1... N  2 k 1
j = qj
j 2

j 2

Sau đó, với mỗi l = 1,2,...,2 k 1 và với mỗi j = 2 k 1 ,3.2k 1... N  2 k 1 , giải phƣơng
trình
Cl ,k 1 (jl ) =  (jl 1)

Khi đó:
Y j = p (jk 1)  (2j

k 1 )

, j = 2 k ,2.2 k ,3.2 k ,... N  2 k

Bƣớc 3: Với k = 1, giải phƣơng trình
CY j = q (0)
j  Y j 1  Y j 1 , j = 1,3,5,..., N  1

1.2.2. Bài toán biên thứ hai
Xét bài toán thứ hai
Y0  F0 , j  0,

 Y j 1  CY j  Y j 1  F j ,1  j  N  1,

 2YN 1  CYN  FN .

(1.18)

trong đó N  2n , n  0 . Để giải bài toán (1.18) ta cũng thực hiện các bƣớc khử lần
lƣợt nhƣ đã đƣợc trình bày ở bài toán biên thứ nhất. Sau n phép thử, ta nhận đƣợc
các phƣơng trình

Y0  F0( n ) ,2Y( 0)  C ( n )YN  FN( n )

(1.19)

Và nhóm các phƣơng trình
C ( k 1)Y j  Fj( k 1)  Y j  2 k 1  Y j  2 k 1 , j  2k 1 ,3.2k 1 ,..., N  2k 1 , k  n, n  1,...,1.

Trong đó

Fj(k )

(k )
và C đƣợc xác định bởi cơng thức truy tốn sau

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



10


F0( k )  F0 ,
Fj( k )  Fjk11k 1  C ( k 1) Fj 1  Fjk21k 1 ,
j  2k ,2.2k ,..., N  2k
(k )
N

F

k 1

N  2 k 1

 2F

C

( k 1)

(1.20)
( k 1)
N

F

,

C ( k )  [C ( k 1) ]2  2 E ,

Kí hiệu: F j( k )  C ( k ) p (jk )  q (jk ) ,
j  2 k ,2.2 k ,..., N  2 k , N , k  1,2,..., n

Bằng các phép biến đổi đơn giản và cách chọn p (kj ) và q (kj ) thích hợp, ta nhận
đƣợc q trình sau để xác định các véc tơ p (kj ) và q (kj ) với J  N
C ( k 1) S (j k 1)  q (jk 1)  p (jk21( k) 1)  q (jk21( k) 1)
p (jk )  p (jk 1)  S (j k 1) ,

q (jk )  2 p (jk )  q (jk21( k) 1)  q (jk21( k) 1) ,
j  2 k ,3.2 k ,..., N  2 k , k  0,1,2,..., n  1
q (j0)  F j , p (j0)0


Tƣơng tự, với j=N, ta có:
C ( k 1) S Nk 1  q N( k 1)  2 p N( k21()k 1) ,
p N( k )  p N( k 1)  S N( k 1) ,
q N( k )  2 p N( k )  2q N( k21()k 1) ,
q N( 0 )  FN ; p N( 0)  0,

Trong đó
Y j  p (jk 1)  t (jk 1) , j  2 k 1 ,3.2 k 1 ,..., N  2 k 1 , k  n, n  1,..., 2,1

Trong đó t (j k 1) là nghiệm của phƣơng trình.
C ( k 1) t (jk 1)  q (jk 1)  Y j 2( k 1)  Y j  2( k 1)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



11


Dƣới đây là thuật toán giải bài toán biên thứ hai:


Q trình xi:
Bƣớc 1: Xác định các giá trị ban đầu p (j0)  0; q (j0)  F j , j  1,2,..., N
Bƣớc 2: Với k=1,2,…,n-1 xác định các véc tơ:
v (j0)  q (jk 1)  p (jk21( k) 1)  p (jk21( k) 1) , j  2 k ,2.2 k ,..., N  2 k

Sau đó, với l  1,2,..., 2 ( k 1) và với mỗi j  2 k ,2.2 k ,..., N  2 k , giải phƣơng trình
Cl ,k 1v (jl )  v (jl 1)


Khi đó
p (jk )  p (jk 1)  v (j2 k 1) , q (jk )  2 p (jk )  q (jk21( k) 1)  q (jk21( k) 1) , j  2 k ,2.2 k ,..., N  2 k

Bƣớc 3: Với k=1,2,…,n-1 xác định các véc tơ
v N( 0)  q N( k 1)  2 p N( k21()k 1)

Sau đó, với l  1,2,..., 2 ( k 1) , giải phƣơng trình
Cl ,k 1v N(l )  v N(l 1)

Khi đó
PN( k )  p N( k 1)  v N( 2



k 1

)

, q N( k )  2 p N( k )  2q N( k21k) 1

Quá trình ngƣợc:
Bƣớc 1: Xác định YN, xác định véc tơ
vN(0)  q N( n)  2Y0

sau đó, với l=1,2,…,n, giải hệ
Cl ,n v N(l )  v N(l 1)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




12


Khi đó
YN  pN( n)  vN( n)

Bƣớc 2: Xác định Y j , j  1,2,..., N  1
Với k = n,n-1,…,2,1, xác định các véc tơ
v (j0)  q (jk 1)  Y j 2( k 1)  Y j 2( k 1) , j  2 k 1 ,3.2 k 1 ,..., N  2 k 1
k 1
k 1
k 1
k 1
Sau đó, với l  1,2,..., 2 và với mỗi j  2 ,2.2 ,..., N  2 , giải phƣơng

trình
Cl ,k 1v (jl )  v (jl 1)

Khi đó
Y j  p (jk 1)  v (j2

k 1

)

, j  2 k ,2.2 k ,3.2 k ,..., N  2 k

Trên đây là nội dung của thuật tốn thu gọn khối lƣợng tính tốn giải bài
tốn biên thứ nhất và bài toán biên thứ hai. Trong các tài liệu của Samarskij Nicolaev [8] đã chứng minh độ phức tạp của các thuật toán là O(M  N log N ) .

1.3. Giới thiệu thƣ viện TK2004
1.3.1. Bài tốn biên Dirichlet
Cho  là hình chữ nhật  = x = ( x1 , x2 )  R2 : 0 < x1 < l1;0 < x2 < l2 
Xét bài toán:
u  cu  f , x ,

u  ,
x .


(1.21)

trong đó f  L2 ();  L2 ()
Rời rạc hoá miền  bằng lƣới h

 h =  x = (i, j ) = ( x1i , x2 j );

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

x1i = ih1 ;

x2 j = jh2 ;



13


h1 =


l1
l
; h2 = 2 ; i = 0,1,..., M ; j = 0,1,..., N  .
M
N

Bằng cách biến đổi đơn giản ta có thể đƣa bài tốn sai phân tƣơng ứng về hệ
phƣơng trình vec tơ 3 điểm có dạng nhƣ sau:
Y j 1  CY j  Y j 1 = F j , j = 1, 2,..., N  1

Y0 = F0 ; YN = FN


Y j = ( y1, j ; y2, j ;...; yM 1, j )T


F0 = ( g1,0 ; g 2,0 ;...; g M 1,0 )T


FN = ( g1, N ; g 2, N ;...; g M 1, N )T



(1.22)

Ma trận C có dạng

r
0
 2(r  1)

 r
2(r  1)
r

 0
r
2(r  1)



C=  
 0
0
0

0
0
 0
 0
0
0

...
...
...

...
...
...



0
0
0 

0
0
0 



 
2( r  1)
r
0 

r
2( r  1)
r 
0
r
2( r  1) 

2
 h2 1, j  rg 0, j 


h222, j





Fj  


2
 h2  M  2, j

2
 h2  M 1, j  rg M , j 

0

0

0

h22
Với r = 2
h1

Trên cơ sở của thuật toán thu gọn khối lƣợng tính tốn của Samarskij –
Nicolaev, sử dụng ngơn ngữ Matlab giải hệ phƣơng trình (1.22)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



14



Xây dựng hàm u0000( phi, b1, b2, b3, b4, L1, L2, c, M , N , n, p1, p2, q1, q2) trả lại
nghiệm bằng số của bài tốn, trong đó:
+ M  N là lƣới trên hình chữ nhật.
+ phi là ma trận giá trị của hàm vế phải.
+ b1, b2, b3, b4 là véc tơ giá trị của điều kiện biên trên các cạnh.
+ L1, L2 là kích thƣớc của hình chữ nhật.
+ p1, p2, q1, q2 là tọa độ của các đỉnh hình chữ nhật trong khơng gian lƣới.
1.3.2. Bài toán biên hỗn hợp
Cho miền  = x = ( x1 , x2 );0 < x1 < l1;0 < x2 < l2 
Xét bài toán biên hỗn hợp
u =  ( x); x  

 u = g ( x);
x  1

 u =  ( x) x  
2
 x2

(1.23)

trong đó:   L2 (); g  L2 (1 );   L2 (2 )

1 = x = ( x1 ,0);0  x1  l1  x = (l1 , x2 );0  x2  l2  x = (0, x2 );0  x2  l2 
2 = x = ( x1 , l2 );0  x1  l1
Tƣơng tự, ta đƣa bài toán sai phân về hệ phƣơng trình vec tơ 3 điểm
Y0 = F0



1  j  N 1
Y j 1  CY j  Y j 1 = Fj

2YN 1  CYN = FN j = N


(1.24)

trong đó:

F0 = ( y1,0 , y2,0 ,..., yM 1,0 )T ; Yj = ( y1, j , y2, j ,..., yM 1, j )T ;

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

j = 1,..., N



15


r
0
 2( r  1)
 r
2(r  1)
r

 0
r

2( r  1)

C=  


 0
0
0

0
0
 0
 0
0
0

...
...
...

...
...
...


0
0
0 

0

0
0 



 
2( r  1)
r
0 

r
2( r  1)
r 
0
r
2( r  1) 
0

0

0

2
 h2 1, j  rg 0, j 


h22 2, j






Fj 


2
 h2  M  2, j

 h22 M 1, j  rg M , j 

2
 h2 1, N  2h2 1, N  rg 0, N 


h222, N  2h2 2, N




FN  


2
 h2  M  2, N  2h2  M  2, N

2
 h2  M 1, N  2h2  M 1, N  rg M , N 

Trên cơ sở của thuật tốn thu gọn khối lƣợng tính tốn của Samarskij –
Nicolaev, sử dụng ngôn ngữ Matlab giải hệ phƣơng trình (1.24).

Xây dựng các hàm u0001( phi, b1, b2, b3, b4, L1, L2, c, M , N , n, p1, p2, q1, q2) trả lại
nghiệm bằng số của bài toán trong đó:
+ M  N là lƣới trên hình chữ nhật.
+ phi là ma trận giá trị của hàm vế phải.
+ b1, b2, b3, b4 là véc tơ giá trị của điều kiện biên trên các cạnh.
+ L1, L2 là kích thƣớc của hình chữ nhật.
+ p1, p2, q1, q2 là tọa độ các đỉnh của hình chữ nhật trong khơng gian lƣới.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



16


Hoàn toàn tƣơng tự, trong các trƣờng hợp khi điều kiện biên Neumann trên 2
cạnh, 3 cạnh hoặc 4 cạnh của hình chữ nhật, sử dụng phƣơng pháp sai phân, chúng
ta đƣa bài tốn elliptic về các hệ phƣơng trình vecto 3 điểm và sử dụng thuật toán
thu gọn khối lƣợng tính tốn xác định nghiệm bằng số trên từng điểm lƣới. Các hàm
đƣợc thiết lập tƣơng tự là u0010(...), u0100(...), u1000(...), u1100(...),..., u1111(...) sẽ cho
phép xác định nghiệm số với các bài tốn tƣơng ứng. Trong các kí hiệu hàm trên, kí
hiệu 0 tƣơng ứng với biên Dirichlet, kí hiệu 1 tƣơng ứng với biên Neumann. Các hệ
thống hàm trên đã đƣợc xây dựng thành thƣ viện TK2004 cho phép giải số tất cả
các bài toán biên elliptic với điều kiện biên hỗn hợp, các kết quả trên đã đƣợc đƣa ra
trong [3].
1.4. Giới thiệu thƣ viện RC2009
Thƣ viện chƣơng trình RC2009 là sự phát triển của thƣ viên TK2004 tìm
nghiệm số của bài tốn biên hỗn hợp trong trƣờng hợp tốn tử của phƣơng trình
phức tạp hơn.
Cho  là hình chữ nhật  = x = ( x1 , x2 )  R2 : 0 < x1 < l1;0 < x2 < l2  . Xét

bài toán

 2u
 2u
k
(
x
)

k
(
x
)
 c( x )u  f ( x ), x  ,
 1
2
x12
x22


u    x  ,
x  .


(1.25)

trong đó f  L2 ();  L2 () .
1.4.1. Bài toán biên Dirichlet
Xét trƣờng hợp khi toán tử lu  u tức là điều kiện biên dạng Dirichlet, k1 ,k2 ,c
là các hằng số,  là hình chữ nhật có kích thƣớc hai cạnh là L1, L2. Xuất phát từ

phƣơng pháp lƣới, chia miền  thành  M  N  điểm lƣới, trong đó N  2n , n  0 . Kí
hiệu h1 

L1
L
, h2  2 là các bƣớc lƣới,  là véc tơ hàm vế phải của phƣơng trình. Từ
M
N

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



17


phƣơng pháp sai phân với độ chính xác O  h12  h22  chuyển bài toán vi phân về bài
tốn sai phân tƣơng ứng với hệ phƣơng trình véc tơ ba điểm
Yj 1  CYj  Yj 1  Fj ;Y0  F0 , YN  FN ; j  1, N  1.

Trong đó Yj là các véc tơ nghiệm , Fj là các véc tơ cấp (M-1), C là ma trận hệ số cấp

 M  1   M  1 đƣợc xác định nhƣ sau
Y j   u1, j , u2, j ,..., uM 1, j  , j  0, N
F0   g1,0 , g 2,0 ,..., g M 1,0  , FN   g1, N , g 2, N ,..., g M 1, N 

Ma trận C có dạng
d
 r


0

C 
0

0
0


r
d
r

0 ...
r ...
d ...

0
0
0

0
0
0


0


0



...


d


r

0
0

0
0

... r
... 0

d
r






 ,
0


r 
d 
0
0
0

 h22

 k 1, j  rg 0, j 
 2

2


h2
2, j


k2



Fj  



h22


 M  2, j



k2


 h22

  M 1, j  rg M , j 
 k2


k1 h22
h22
trong đó r 
, d  2  r  1  c .
k2 h12
k2

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



18


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.
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.
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.24) bắt đầu từ tọa độ (p1,q1) đến (p2,q2).

1.4.2. Bài toán biên Neumann
Xét bài toán biên hỗn hợp

 2u
 2u
k
(
x
)

k
(
x
)
 c( x )  f ( x ), x  ,
 1
2
x12
x22


u  g  x  ,
x  .


(1.26)

Trong đó  là tốn tử điều kiện biên ( u  u nếu điều kiện biên là Dirichlet, u 

u

v

nếu điều kiện biên là Neumann) và tồn tại ít nhất 1 cạnh là điều kiện biên 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 O  h12  h22  chuyển bài toán vi
phân (1.25) về bài toán sai phân tƣơng ứng với hệ phƣơng trình véc tơ ba điểm
Yj 1  CYj  Yj 1  Fj ;Y0  F0 , 2YN 1  CYN  FN ; j  1, N  1

trong đó Yj là các véc tơ nghiệm, F j là các véc tơ cấp  M  1 ,C là ma trận hệ số cấp

 M  1   M  1 đƣợc xác định nhƣ sau:
Y j   u1, j , u2, j ,..., uM 1, j  , j  0, N
F0   b3 1 , b3  2  ,..., b3  M  1 

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



19




h22
1, N  2h2b4 1  rb1  N  

k2



2


h2
2, N  2h2b4  2 


k2




FN 





h22
 M  2, N  2h2b4  M  2 


k2


 h22

  M 1, N  2h2b4  M  1  rb2  N  
 k2



 d r 0
 r d r

 0 r d

C 


0 0 0

0 0 0
0 0 0







 

 ,
... d r 0 

... r d r 
... 0 r d 
...
...
...


0
0
0

0
0
0

0
0
0

 h22

 k 1, j  rb1  j  
 2

2


h2
 2, j


k2





Fj 



h22


 M  2, j


k2


 h22

  M 1, j  rb2  j  
 k2


j  1, 2,...N 1

trong đó r 

k1 h22
h22
.
,
d

2

r

1

c


k2 h12
k2

Trên cơ sở của thuật toán thứ hai áp dụng trong trƣờng hợp đã biết véc tơ F 0,
tiến hành cài đặt giải hệ phƣơng trình véc tơ ba điểm.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



20


×