82 Hình 3.2: Đồ thị nghiệm của bài toán hạt trong giếng thế vôhạn vuông góc một chiều giải bằng phương pháp sai phân hữuhạn.. 84 Hình 3.3: Đồ thị nghiệm của bài toán hạt trong giếng thế
Kiến thức tổng quanKiến thức tổng quan
1.1 Phương pháp sai phân hữu hạn Phương pháp sai phân hữu hạn là phương pháp tính gần đúng nghiệm của phương trình vi phân dựa vào xấp xỉ các giá trị của đạo hàm để tính giá trị của nghiệm tại vị trí sau dựa vào các giá trị của nghiệm tại vị trí đã biết trước đó.
Xét bài toán biên đối với phương trình vi phân cấp hai.
1.1.1 Khái niệm về bài toán biên Xét bài toán biên đối với phương trình vi phân tuyến tính cấp hai có dạng:
Bài toán trên được gọi là bài toán biên Dirichlet.
Nếu điều kiện biên y(a) = α, y(b) = β được thay thế bởi điều kiện biên y 0 (a) = c, y 0 (b) =d ta được bài toán biên Neumann.
Nếu bài toán có điều kiện biên kết hợp cả Dirichlet và Neumann ta được bài toán biên hỗn hợp.
1.1.2 Lưới sai phân, hàm lưới, đạo hàm lưới[8, 28]
Chia đoạn [a, b] thành N đoạn con[8] bằng nhau, mỗi đoạn con dài h = b−a
N bởi các điểm xi = a +ih, i = 0,1, , N Mỗi điểm xi gọi là một nút lưới, h gọi là bước lưới.
Hàm lưới là những hàm số xác định tại các nút của lưới, giá trị của hàm lưới v tại nút xi được viết là vi.
Như vậy hàm số y(x) xác định tại mọi x ∈ [a, b] sẽ tạo ra hàm lưới y có giá trị tại nút x i là y i = y(x i )
Xét hàm lưới v Đạo hàm lưới tiến cấp một của v, kí hiệu là v x , có giá trị tại nút x i là : v xi = v i+1 −v i h Đạo hàm lưới lùi cấp một của v, kí hiệu là v x ¯ có giá trị tại nút x i là : v xi ¯ = v i −v i−1 h Đạo hàm lưới cấp hai v xx ¯ : v xxi ¯ = v xi+1 ¯ −v xi ¯ h v i+1 −v i h − v i −v i−1 h
= v i+1 −2v i + v i−1 h 2 Nếu a là một hàm lưới nữa thì:
= ai+1vi+1 −(ai+1+ ai)vi+aivi−1 h 2 1.1.3 Quy ước vô cùng bé Để viết vô cùng bé ta áp dụng quy ước:
Giả sử đại lượng ρ(h) là một vô cùng bé[8] có bậc bằng α khi h → 0, kí hiệu ρ(h) = O(h α ) Từ đó suy ra tồn tại số M > 0 không phụ thuộc h sao cho |ρ(h)| ≤M h α Điều đó có nghĩa là khi h nhỏ thì ρ(h) là một đại lượng nhỏ và khi h →0 thì ρ(h) tiến đến 0 không chậm hơn M h α
1.1.4 Công thức Taylor Công thức Taylor là công thức quan trọng được sử dụng để xấp xỉ phương trình vi phân theo phương pháp sai phân hữu hạn.
Giả sử f(x) là một hàm số xác định và có đạo hàm đến cấp n+ 1 trong khoảng (a, b) Theo công thức Taylor ta có: f(x+h) = f(x) +hf 0 (x) +h 2
(n+ 1)!f (n+1) (ξ) (1.3) Với ξ là một điểm ở trong khoảng từ x đến x+h
(n+ 1)!f (n+1) (ξ) là một vô cùng bé khi h → 0 Tức là tồn tại hằng số K >0 không phụ thuộc vào h sao cho: h n+1 (n+ 1)!f n+1 (ξ)
Công thức Taylor được viết lại như sau: f(x+ h) =f(x) +hf 0 (x) + h 2
1.1.5 Phương pháp sai phân Cụ thể ở đây ta dùng việc phân tích chuỗi Taylor để tính giá trị của nghiệm tại vị trí xi+1 dựa vào giá trị của nghiệm tại vị trí xi ( đã biết). f(x i+1 ) = f(x i ) +hf 0 (x i ) +h 2 f 00 (x i )
2! + +h n f (n) (x i ) n! +o(h n+1 ) (1.7) với h = x i+1 −x i Từ đây ta suy ra được các lược đồ sai phân[4]: a Lược đồ sai phân tiến:
Kí hiệu yxi = f(x i+1 )−f(x i ) h = f 0 (xi) +o(h) (1.8) Với i = 0, , N
Xét tại i = 0 y x0 = 1f(x 1 )−1f(x 0 ) h Xét tại i = 1 y x1 = 1f(x2)−1f(x1) h Xét tại i = 2 y x2 = 1f(x3)−1f(x2) h Xét tại i = 3 y x3 = 1f(x 4 )−1f(x 3 ) h Tương tự với các giá trị thứ i khác.
Xét tại i = N y xN = 1f(x N +1 )−1f(x N ) hLúc này ta có hệ phương trình:
Xét vế trái của hệ phương trình Lúc này, ma trận của lược đồ sai phân là A+ε:
b Lược đồ sai phân lùi[4]:
Kí hiệu y xi ¯ = f(x i )−f(x i−1 ) h = f 0 (x i ) +o(h) (1.9) Tương tự như ở lược đồ sai phân tiến, ta được
Ma trận của lược đồ sai phân là: A+ε
c Lược đồ sai phân trung tâm[4]:
2h = f 0 (x i ) +o(h) (1.10) Tương tự như lược đồ sai phân tiến, ta được:
Ma trận của lược đồ sai phân là A+ε Với
d Lược đồ sai phân cấp 2 trung tâm[4]:
Kí hiệu y xi = f(x i−1 )−2f(xi) +f(xi+1) h 2 = f 00 (x i ) +o(h 2 ) (1.11) Tương tự như ở lược đồ sai phân tiến, ta được:
Ma trận của lược đồ sai phân là A+ε
1.1.6 Sự ổn định[8,60] của bài toán sai phân Ta tìm cách tính gần đúng giá trị của nghiệm y(x i ) tại các nút x i Gọi các giá trị gần đúng đó là v i Muốn có v i ta thay bài toán (1.1)−(1.2) bởi bài toán:
2), q i = q(x i ), f i = f(x i ) (1.14) Để đo độ lớn của hàm lưới v = (v 0 , v 1 , , v N ) và hàm lưới f (f1, f2, , fN −1), ta sử dụng các chuẩn: k v k ∞ := max
Bài toán sai phân (1.12)− (1.13) là bài toán ổn định nếu nó có nghiệm duy nhất với mọi vế phải và điều kiện biên, đồng thời, nghiệm thỏa mãn: k v k ∞ ≤ M 1 {k f k ∞ + | α | + | β |}, M 1 = const (1.16) Ý nghĩa của bài toán ổn định là:
Bài toán sai phân có nghiệm duy nhất, đồng thời nghiệm đó phụ thuộc liên tục vào vế phải của phương trình sai phân và điều kiện biên, nghĩa là khi vế phải của phương trình và điều kiện biên thay đổi ít thì nghiệm của nó cũng thay đổi ít.
Bằng công thức Taylor (1.7), ta có: y(xi+1) = y(xi) +hy 0 (xi) + h 2
6 y 000 (x i ) +o(h 3 ) Và cho a là một lưới sai phân nữa thì: a i+1 = k(x i + h
8 k 00 (x i ) +o(h 3 ) Áp dụng sai phân tiến cấp 1, ta được: ai+1yxi = (ky) 0 (xi) + h
(xi) +o(h 3 ) Tương tự ta có sai phân lùi cấp 1: a i y xi ¯ = (ky) 0 (x i )− h
(x i ) +o(h 3 ) Áp dụng công thức sai phân trung tâm:
(ay x ) xi = a i+1 y xi −a i y xi h = (ku 0 ) 0 (x i ) +o(h 2 )
Ta nói sai phân L h xấp xỉ vi phân L tới cấp o(h 2 ).
Do v 0 −y 0 = α −α = 0 và v N −y N = β −β = 0, nên ta nói bài toán sai phân (1.12)−(1.13) xấp xỉ bài toán vi phân (1.1)−(1.2)
1.1.8 Sự hội tụ[8,64] Định nghĩa Gọi y(x) là nghiệm của bài toán vi phân (1.1)−(1.2) và vi là nghiệm của bài toán sai phân (1.12)−(1.13)
Phương pháp sai phân hội tụ nếu: k v −y k ∞ →0 khi h →0
∀i, v i → y(x i ) khi h →0 Như vậy phương pháp sai phân có cấp chính xác o(h m ), m > 0 nếu: k v−y k ∞ = o(h m ) Định lý Phương pháp sai phân(1.12)−(1.13) là phương pháp hội tụ với cấp chính xác o(h 2 )
Gọi y(x) là nghiệm của bài toán vi phân (1.1)−(1.2) và v i là nghiệm của bài toán sai phân (1.12)−(1.13). Đặt z = v−y ta có:
Theo công thức (1.17) ta có:
(Lhy)i = (Ly)(xi) +ϕi, ϕi = o(h 2 ) Mà theo (1.2) và (1.13): z 0 = (v 0 −y 0 ) =v 0 −y ( a) = α−α = 0 zN = (vN −yN) = vN −y(b) = β−β = 0
Ta áp dụng bất đẳng thức ổn định (1.16) ta được k x k ∞ =kv −y k ∞ ≤ M 1 {kϕ k ∞ + | 0 |+ | 0|}
∀i,| v i −y(x i ) |≤M 1 h 2 , M 1 = const > 0 Định lý đã được chứng minh 1.1.9 Sai số tính toán[8,66]
Nếu các vế phải và điều kiện biên không được cho một cách chính xác, nghĩa là thay cho fi, α, β ta chỉ có f i ∗ ≈ fi, α ∗ ≈ α, β ∗ ≈ β thì thay cho bài toán (1.12)−(1.13) ta có bài toán:
Khi đó bằng phép trừ ta suy ra:
L h (v ∗ −v) = −(a(v ∗ −v) x ) xi + q i (v ∗ −v) i = f i ∗ −f i (1.22) v 0 ∗ −v 0 = α ∗ −α, v N ∗ −V N = β ∗ −β (1.23) Áp dụng (1.15), sai số tính toán kv ∗ −v k ∞ k v ∗ −v k ∞ ≤ M 1 {|α ∗ −α | + | β ∗ −β | + k f ∗ −f k ∞ } (1.24) Như vậy, nếu v i ∗ ≈ y(x i ) ta sẽ có, ∀i v ∗ i −y(x i ) = (v i ∗ −v i ) + (v i −y(x i ))
Do đó :k v i ∗ −y(xi) k=| v i ∗ −vi | + | vi −y(xi) | Tức là: k v i ∗ −y(x i ) k ∞ =k v i ∗ −v i k ∞ + kv i −y(x i ) k ∞ Vậy ta có: kv ∗ −y k ∞ ≤ M 1 {| α ∗ −α | + | β ∗ −β | + k f ∗ −f k ∞ }+ o(h 2 ) (1.25)
10 = 1 Sử dụng lược đồ cấp 2 theo x ta được[6]:
−ui−1 −2ui +ui+1 h 2 = 10 Ta được:
Giải phương trình Au = b, ta tìm được u = [55 100 135 160 175 180 175 160 135 100 55] T
Ví dụ[8,228] 1.2: Giải phương trình
Chia đoạn [0,10] thành 10 đoạn bằng nhau với h = 10
10 = 1 Dùng lược đồ sai phân cấp 2 theo x ta được[6]:
Hình 1.1: Đồ thị nghiệm của phương trình − d 2 u dx 2 = 10 giải bằng phương pháp sai phân hữu hạn
Vì u(0) = u(10) = 0 nên ε = [− 1 h 2 0 ã ã ã 0 1 h 2 ] T = 0 Phương trình được viết lại Au= b
Dùng Matlab giải phương trình này ta được: u = [6.1801 8.5404 9.4410 9.7826 9.9068 9.937 9.9068 9.7826
Hình 1.2: Đồ thị nghiệm của phương trình − d 2 u dx 2 + u = 10 giải bằng phương pháp sai phân hữu hạn
Ví dụ 1.3: Giải phương trình
Chia đoạn [0,1] thành 20 đoạn bằng nhau Khi đó h = 1
20 = 0.05 Dùng lược đồ sai phân cấp 2 theo x và cấp 1 theo t ta được[6]: u i,j +1 −u i,j 4t = u i+1,j −2u i,j +u i−1,j h 2 u i,j+1 −u i,j = 4tu i+1,j −2u i,j +u i−1,j h 2 Đặt γ = 4t h 2 u i,j+1 −u i,j = γ(u i+1,j −2u i,j +u i−1,j ) u i,j+1 = u i,j +γ(u i+1,j −2u i,j +u i−1,j )
= γu i+1,j + (1−2γ)u i,j +γu i−1,j u (j+1) = (I + γA)u j Đặt B = I +γA Lúc đó u (j+1) = Bu j Đây là bài toán mà giá trị của nghiệm tại thời điểm thứ t+ 1 phụ thuộc vào thời điểm t.
Giải phương trình này ta được:
Hình 1.3: Đồ thị nghiệm của bài toán du dt = d 2 u dx 2 được giải bằng phương pháp sai phân hữu hạn tại t = 0.0004 và t = 0.0008
Ví dụ 1.4: Giải phương trình d 2 u dx 2 + d 2 u dy 2 = −3 sin(xy) 0≤ x ≤ 1, 0≤ y ≤ 1 u(0, y) = u(1, y) = 0 u(x,0) = u(x,1) = 0
Chia đoạn [0,1] thành 4 phần bằng nhau.
Sử dụng công thức sai phân cấp 2 theo không gian[6] đối với x, y, ta được u i−1,j −2u i,j +u i−1,j h 2 + u i,j−1 −2u i,j + u i,j−1 k 2 = −3 sin(xy)
Do h = k nên (u i−1,j −2ui,j +u i−1,j ) + (u i,j−1 −2ui,j +u i,j−1 ) = −3 sin(xy)h 2 k 2 u i−1,j + u i−1,j + u i,j−1 −4u i,j + u i,j−1 = −3 sin(xy)h 4 Đặt m = i+ (j −1)M Lúc đó bài toán được viết lại u m−M +u m−1 −4um +um+1 +um+M = −3 sin(xy)h 4 Đặt A
Ta được phương trình Au = F Giải phương trình này ta tìm được nghiệm
Hình 1.4: Đồ thị nghiệm của phương trình d 2 u dx 2 + d 2 u dy 2 = −3 sin(xy) giải bằng phương pháp sai phân hữu hạn
1.2 Phương pháp phần tử hữu hạn Phương pháp phần tử hữu hạn[2] là một phương pháp rất tổng quát để tìm nghiệm phương trình vi phân Ta sẽ tìm hiểu cơ sở lý thuyết phương pháp này.
Xấp xỉ bằng phần tử hữu hạn Giả sử Ω là miền xác định của một đại lượng cần khảo sát nào đó (chuyển vị, ứng suất, biến dạng, nhiệt độ, v.v.) Ta chia Ωra nhiều miền conω i có hình thù đơn giản như những đoạn thẳng trong trường hợp một chiều và những tam giác trong trường hợp hai chiều hay như hình tứ diện trong trường hợp ba chiều Giá trị xấp xỉ của đại lượng cần khảo sát sẽ được tính trong tập hợp các miền ω i
Phương pháp xấp xỉ nhờ các miền con ω i được gọi là phương pháp xấp xỉ bằng các phần tử hữu hạn, nó có một số đặc điểm sau:
- Các hàm xấp xỉ trong mỗi miền con ω i được xây dựng sao cho chúng liên tục trên ω i và phải thoả mãn các điều kiện liên tục giữa các miền con khác nhau.
- Các miền con ωi được gọi là các phần tử hữu hạn.
Như vậy, phương pháp phần tử hữu hạn là phương pháp tính gần đúng giá trị của nghiệm theo các miền con hữu hạn dựa vào các hàm dạng cụ thể.
1.2.1 Xây dựng hàm dạng: a Bài toán một chiều
Hình 1.5: Đồ thị hàm dạng và đồ thị nghiệm của phương trình trên miền con e
Ta xây dựng hàm dạng cho miền con e = [x 1 , x 2 ] ϕ1(x) = x 2 −x x 2 −x 1 ϕ 2 (x) = x−x1 x 2 −x 1 Và nghiệm của bài toán được tính trên miền con e u = u 1 ϕ 1 +u 2 ϕ 2 b Bài toán hai chiều:
Hình 1.6: Cách chia phần tử hữu hạn tam giác
Xét các tam giác từ 1 đến 6 như hình 1.6: b1 Tam giác 1:
Nếu x i ≤x ≤ x i+1 và y j ≤ y ≤ y j + k h(x−x i ) thì Hàm dạng ϕij(x, y) = x i+1 −x h = h(i+ 1)−x h = i+ 1− x h = 1−x h −i
Hàm dạng ϕ ij (x, y) thỏa điều kiện: ϕ ij (x i , y j ) = 1−x i h −i
Nếu x i ≤x ≤ x i+1 và y j + k h(x−x i ) ≤y ≤ y j+1 thì Hàm dạng ϕ ij (x, y) = y j+1 −y k = k(j + 1)−y k = j + 1− y k = 1−y k −j
Hàm dạng ϕ ij (x, y) thỏa điều kiện: ϕ ij (x i , y j ) = 1−y j k −j
Nếu x i−1 ≤x ≤ xi và yj ≤ y ≤ yj + k h(x−x i−1 ) thì Hàm dạng ϕij(x, y) = 1 + x h −i
Hàm dạng ϕ ij (x, y) thỏa điều kiện: ϕ ij (x i , y j ) = 1 + x i h −i
Nếu x i−1 ≤x ≤ x i và y j−1 + k h(x−x j−1 ) ≤y ≤ y j thì Hàm dạng ϕ ij (x, y) = x−x i−1 h = x−h(i+ 1) h = −i+ 1 + x h = 1 + x h −i
Hàm dạng ϕ ij (x, y) thỏa điều kiện: ϕ ij (x i , y j ) = 1 + x i h −i
Nếu x i−1 ≤x ≤ x i và y j−1 ≤ y ≤ y j−1 + k h(x−x i−1 ) thì Hàm dạng ϕ ij (x, y) = y−y j−1 k = y −k(j −1) k = −j + 1 + y k = 1 + y k −j
Hàm dạng ϕ ij (x, y) thỏa điều kiện: ϕ ij (x i , y j ) = 1 +y j k −j
Nếu x i ≤x ≤ x i+1 và y j + k h(x−x i ) ≤y ≤ y j thì Hàm dạng ϕij(x, y) = 1−x h −i
Hàm dạng ϕ ij (x, y) thỏa điều kiện: ϕ ij (x i , y j ) = 1−x i h −i
= 0 Từ (1.26)−(1.31), ta được hàm dạng ϕ ij (x, y) như sau: ϕ ij (x, y) =
1.2.2 Xây dựng phần tử hữu hạn[2] với bài toán một chiều Xét phương trình vi phân
Giả sử bài toán (1.33)−(1.34) có nghiệm cổ điển u ∈ W 0 2 (a, b), khi đó Lu và f ∈ L 2 (a, b).
Ta chia miền [a, b] thành N + 1 đoạn con bởi các điểm x i ∈ [a, b]: x0 = a < x1 < x2 < < x k−1 < xk < xk+1 < < xN < xN +1 = b
Với x k −x k−1 = e k = 4x Nghiệm u cần tìm của bài toán là u ≈uh N +1
Khi N càng lớn thì u càng gần với u h Xây dựng hàm dạng ϕ k như sau: ϕ k−1 (x) = x k −x x k −x k−1 (1.35) ϕ k (x) = x−x k−1 x k −x k−1 (1.36)
Hình 1.7: Đồ thị hàm dạng ϕ k
Nhân vô hướng hai vế của phương trình (1.33) với hàm thử rồi lấy tích phân trên đoạn [a, b] hai vế của phương trình ta được:
Do đó, u j là nghiệm của hệ phương trình
Giải phương trình này ta tìm được các giá trị u j Thay u j vào u N+1
P j=1 u j ϕ j ta được nghiệm cần tìm.
1.2.3 Sự hội tụ và sai số[8,225]
Giả sử u ∈ W 0 1 (a, b) là nghiệm của bài toán (1.33) và ωN N
H N là nghiệm gần đúng bằng phương pháp phần tử hữu hạn, tức là nghiệm của bài toán (1.33) nhưng trên không gian con hữu hạn chiều H N của W 0 1 (a, b) :
H N = span{ϕ 1 , ϕ 2 , , ϕ N } với ϕ được tính như (1.35) −(1.36)
Giả sử bài toán (1.33) có nghiệm u ∈ W 0 1 (a, b) Đặt: u I N
Bổ đề 1 Tồn tại hằng số dương[8,230] C để: k uưω N k W 1 (a,b) ≤ C k uưu I k W 1 (a,b) (1.45)
Xét vế phải của bổ đề 1, ta được:
Bổ đề 2 Giả sử u ∈ W 2 (a, b) Khi đó[8,231]: k uưu I k L 2 (a,b) ≤h 2 k u 00 k L 2 (a,b) (1.46) k u 0 −u 0 I k L 2 (a,b) ≤ h k u 00 k L 2 (a,b) (1.47)
Với h = max i {e i } Bổ đề 3 Giả sử u ∈ W 2 (a, b), khi đó tồn tại hằng số[8,233] dương C để: ku 00 k L 2 (a,b) ≤ C kf k L 2 (a,b) (1.48)
Bổ đề 4 Giả sử bài toán (1.33)−(1.34) có nghiệm u ∈ W 0 2 (a, b), khi đó tồn tại hằng số[8,234] dương C sao cho: k u 0 −ω 0 N k L 2 (a,b) ≤ Ch k f k L 2 (a,b) (1.49) k u−ω N k L 2 (a,b) ≤ Chk f k L 2 (a,b) (1.50)
Bổ đề 5 Giả sử bài toán (1.33)−(1.34) có nghiệm u ∈ W 0 2 (a, b), khi đó tồn tại hằng số[8,235] dương C sao cho: k u−ω N k L 2 (a,b) ≤Ch 2 k f k L 2 (a,b) (1.51)
Từ bổ đề 4 và bổ đề 5, ta suy ra Định lý Giả sử nghiệm u của bài toán (1.33) ∈ W 0 2 (a, b) Khi đó[8,226]: k u 0 −ω N 0 k L 2 (a,b) ≤ C 1 h k f k L 2 (a,b) (1.52) ku−ω N k L 2 (a,b) ≤C 2 h kf k L 2 (a,b) (1.53)
Trong đó C 1 , C 2 là hằng số Đây là sự hội tụ và đánh giá sai số.
Ví dụ[8,226] 1.5 Lấy lại ví dụ 1.1 ở phần sai phân hữu hạn, được cho như sau:
Với điều kiện biên được cho như sau: u(0) = u(10) = 0
Chia đoạn [0,10] thành 10 đoạn bằng nhau[1] 4x = 10
10 = 1 Nghiệm u cần tìm của bài toán u ≈ u h 11
Xét trên miền e k = [x k−1 , x k ] = 4x Xây dựng hàm dạng ϕ(x) như sau: ϕ k−1 (x) = xk −x x k −x k−1 = k4x−x
4x Nhân hai vế của phương trình (1.54) với hàm thử và lấy tích phân 2 vế của phương trình trên đoạn [0,10] ta được:
Xây dựng Au = F Theo công thức (1.40), ta được:
R e k dϕ k−1 dx dϕ k−1 dx dx R e k dϕ k−1 dx dϕ k dx dx R e k dϕ k dx dϕ k−1 dx dx R e k dϕ k dx dϕ k dx dx
Giải phương trình Au= F ta suy ra được u = [0 45 80 105 120 125 120 105 80 45 0] T Ta được nghiệm cần tìm u 11
Hình 1.8: Đồ thị nghiệm của bài toán −u 00 = 10 giải bằng phương pháp phần tử hữu hạn
Ví dụ[8,228] 1.6: Lấy lại ví dụ 1.2 ở phần sai phân hữu hạn, được cho như sau:
Với điều kiện biên được cho như sau: u(0) = u(10) = 0
Chia đoạn [0,10] thành 10 đoạn bằng nhau[1] 4x = 10
Xét trên miền e k = [x k−1 , x k ] = 4x Xây dựng hàm dạng ϕ(x) như sau: ϕ k−1 (x) = xk −x x k −x k−1 = k4x−x
4x Nhân hai vế của phương trình (1.55) với hàm thử và lấy tích phân 2 vế của phương trình trên đoạn [0,10] ta được:
(A+B)u = F Theo công thức (1.25), ta được:
R e k dϕ k−1 dx dϕ k−1 dx dx R e k dϕ k−1 dx dϕ k dx dx R e k dϕ k dx dϕ k−1 dx dx R e k dϕ k dx dϕ k dx dx
Giải phương trình (A+B)u = F ta suy ra được u = [0 6.4893 8.7657 9.5610 9.8295 9.8934
9.8295 9.5610 8.7657 6.4893 0] T Ta được nghiệm cần tìm u 11
Hình 1.9: Đồ thị nghiệm của bài toán −u 00 + u = 10 giải bằng phương pháp phần tử hữu hạn
1.2.4 Xây dựng phần tử hữu hạn tam giác[8] cho bài toán hai chiều
Xét phương trình vi phân
Ω ={(x, y) : a ≤x ≤ b, c ≤ y ≤ d} (1.58) với biên Γ trơn từng khúc.
Ta chia miền Ω thành một lưới đều bằng các đường thẳng song song với các trục tọa độ (như hình 1.8). xi = ih, h = b−a
M + 1 Với M,N nguyên và lớn hơn (bằng 1)
Xây dựng hàm dạng ϕ ij (x, y) theo công thức (1.32) Ta được: ϕ ij (x, y)
Xây dựng ma trận A A ij,rs = α(ϕ ij , ϕ rs ) Z Z
∂y dxdy (1.59) Đặt ϕ (m) ij là hàm dạng cần tìm trong miền tam giác thứ m,với m = 1,2, ,6 a Với r = i, s = j
Giải phương trình Ac = F ta tìm được các c ij Thay vào u N M N
X j=1 c ij ϕ ij (x, y) ta được nghiệm cần tìm.
1.2.5 Sự hội tụ và sai số[8,262] Định lý: α(u−ωN, u−ωN) = inf y∈V N α(u−y, u −y) (1.61)
Bổ đề 6: k uưωM,N k W 1 (Ω) ≤C k uưuI k W 1 (Ω) (1.62) Bổ đề 7: Giả sử u(x, y) ∈ W 0 2 thì kuưu I k L 2 (Ω) ≤ Ch 2 k u k W 2 (Ω) , C = const (1.63) kuưu I k W 1 (Ω) ≤ Chk u k W 2 (Ω) , C = const (1.64) Định lý: Giả sử u(x, y) ∈ W 0 2 (Ω) thì: k u−ω M,N k W 1 (Ω) ≤Ch k u k W 2 (Ω) , C = const (1.65)
Ví dụ 1.7: Lấy lại ví dụ 1.4 ở phương pháp sai phân hữu hạn Giải phương trình d 2 u dx 2 + d 2 u dy 2 = −3sin(xy) 0≤ x ≤ 1, 0≤ y ≤ 1 u(0, y) = u(1, y) = 0 u(x,0) = u(x,1) = 0
Chia đoạn [0,1] thành 4 phần bằng nhau.
Gọi nghiệm của bài toán cần tìm là u 3
P j=1 c ij ϕ ij (x, y) Ta xây dựng hàm dạng ϕ ij (x, y), i, j = 1,2,3 như sau: ϕ 11 (x, y)
−1, khi r = i, s = j −1 Lúc đó ta được ma trận A như sau:
Giải phương trình Ac = F ta tìm được c = [0.0188 0.0312 0.0293 0.0312 0.0525 0.0503 0.0293 0.0503 0.0501] T
Suy ra nghiệm của phương trình là u 3
Hình 1.10: Đồ thị nghiệm của bài toán d 2 u dx 2 + d 2 u dy 2 = −3 sin(xy) giải bằng phương pháp phần tử hữu hạn
1.3 Phương pháp dùng phép biến đổi Fourier 1.3.1 Chuỗi Fourier lượng giác
Mọi hàm liên tục từng khúc, tuần hoàn với chu kỳ 2π, có thể được xấp xỉ bởi chuỗi lượng giác: f(x) ∼ a 0
Ví dụ 1.8: Tìm chuỗi Fourier của hàm sau: f(t)
Các hệ số của chuỗi Fourier được tính: ak = 1 π
= 1 2 Vậy khai triển Fourier của hàm f(t) trên [−π;π] là: f(t) = 1 π + sint
1.3.2 Chuỗi Fourier phức Chuỗi Fourier của hàm số f(x) f(x) = a 0
Sử dụng công thức Euler: cosx = e ix +e −ix
−π f(x)e −ikx dx (1.77) Để tìm chuỗi Fourier của hàm f(x) trên đoạn [a, b] bất kỳ Ta dùng phép đổi biến x = 1 2 a+b+ b−a
Z a f(x) sin k(2x−b−a)π b−a dx (1.85) Định nghĩa: (Phép biến đổi Fourier) Nếu hàmu(x, t) là hàm trơn từng khúc và khả tích tuyệt đối thì phép biến đổi Fourier [3] của hàm u(x, t) theo biến x là hàm U(k, t) xác định bởi:
Với k được gọi là biến của phép biến đổi Fourier và e −ikx được gọi là nhân của phép biến đổi Fourier.
Với mọi x ∈ R, phép biến đổi Fourier ngược [3]của hàm U(k, t) được xác định bởi
U(k, t)e −ikx dk (1.87) Định nghĩa: (Phép biến đổi Fourier sine[3]) Cho f(x) xác định với 0 ≤ x < ∞ và là hàm lẻ trên (−∞;∞) Khi đó phép biến đổi Fourier sine của f(x) và phép biến đổi ngược được xác định bởi:
Fs(k) sinkxdk (1.89) Định nghĩa: (Phép biến đổi Fourier cosine[3]) Cho f(x) xác định với 0 ≤ x < ∞ và là hàm chẵn trên (−∞;∞) Khi đó phép biến đổi Fourier cosine của f(x) và phép biến đổi ngược được xác định bởi:
Ví dụ 1.9: Tìm phép biến đổi Fourier Sine và Cosine của hàm số f(x) =e −ax , a > 0 a Phép biến đổi Fourier Sine Theo công thức (1.58) ta có:
0 e −ax sinkxdk Áp dụng công thức (1.41) ta được:
1 a−ik − 1 a+ik r2 π k a 2 +k 2 b Phép biến đổi Fourier Cosine
Theo công thức (1.60) ta có:
0 e −ax coskxdk Áp dụng công thức (1.41) ta được: