1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Toán ứng dụng: Phương pháp song song theo thời gian để giải bài toán phương trình nhiệt và phương trình sóng

75 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • 1.1. Giới thiệu tổng quan (12)
    • 1.1.1. Phương trình đạo hàm riêng cấp 2 (12)
    • 1.1.2. Phân loại phương trình đạo hàm riêng cấp 2 (14)
  • 1.2. Xây dựng phương trình (17)
    • 1.2.1. Phương trình truyền nhiệt (17)
    • 1.2.2. Phương trình sóng (20)
  • 1.3. Phương pháp tách biến (23)
    • 1.3.1. Phương pháp tách biến cho phương trình sóng (24)
    • 1.3.2. Phương pháp tách biến cho phương trình nhiệt (26)
  • 1.4. Tích Tensor (28)
    • 1.4.1. Định nghĩa (28)
    • 1.4.2. Tính chất của tích Kronecker (31)
  • Chương 2. Phương pháp song song giải phương trình truyền nhiệt (12)
    • 2.1. Phương pháp song song giải phương trình nhiệt với phương pháp (34)
      • 2.1.1. Phương pháp Euler lùi trong thời gian (34)
      • 2.1.2. Giải phương trình nhiệt bằng phương pháp Euler một cách tuần tự (37)
      • 2.1.3. Phương pháp song song giải phương trình nhiệt với phương pháp Euler lùi . . 39 2.2.Phương pháp song song giải phương trình nhiệt với phương pháp xấp xỉ bậc hai (39)
    • 2.4. Kết quả số (48)
  • Chương 3. Phương pháp song song giải phương trình sóng (34)
    • 3.1. Phương pháp song song cho phương trình sóng với xấp xỉ bậc hai (52)
    • 3.2. Phương pháp song song cho phương trình sóng với phương pháp (55)
      • 3.2.1. Phương pháp Newmark để giải phương trình sóng một cách tuần tự (55)
      • 3.2.2. Phương pháp song song giải phương trình sóng với phương pháp xấp xỉ New- (56)

Nội dung

Sử dụng phương pháp song song để giải phương trình nhiệt với phươngpháp Euler theo thời gian, với phương pháp xấp xỉ bậc 2 và sử dụng phương phápsong song để giải bài toán phương trình n

Giới thiệu tổng quan

Phương trình đạo hàm riêng cấp 2

Phương trình đạo hàm riêng cấp m là phương trình có dạng

∂x k 1 1 ∂x k n n ) = 0 (1.1.1) trong đó; F là hàm nhiều biến; x= (x1, x2, , xn)là vec-tơ trong không gian Euclide n chiềuR n ;u(x)là hàm chưa biết;k 1 +k 2 + +k n =m Cấp (bậc) của phương trình là cấp của đạo hàm cao nhất trong phương trình Phương trình tuyến tính có thể viết dưới dạng Luˆ =b(x), trong đó toán tử tuyến tính Lˆ có dạng

Nếu b(x) = 0, phương trình được gọi là phương trình thuần nhất.

Nghiệm tổng quát của phương trình phụ thuộc vào hàm tùy ý, khác với phương trình vi phân thường là nghiệm tổng quát của phương trình vi phân thường phụ thuộc vào hằng số tùy ý.

Trong các bài toán vật lý, phương trình thường gặp là phương trình đạo hàm riêng cấp 2 (m= 2).

Ví dụ 1: Xét phương trình

∂x = 0 trong mặt phẳng (x, y) nó có nghiệm tổng quát u(x, y) =f(y).

Phương trình vi phân đạo hàm riêng cấp 2 với hai biến độc lập x, y là hệ thức liên hệ giữa hàm chưa biết u(x, y) và đạo hàm riêng của nó đến cấp 2:

Trong trương hợp số biến độc lập lớn hơn được mô tả tương tự Phương trình vi phân (1.1.3) được gọi là tuyến tính đối với đạo hàm cấp 2 nếu nó có dạng a 11 u xx + 2a 12 u xy +a 22 u yy +F 1 (x, y, u, u x , u y ) = 0 (1.1.4) trong đó a 11 , a 12 , a 22 là hàm củax và y.

Nếu các hệ số a11, a12, a22 không chỉ phụ thuộc vào x và y mà còn phụ thuộc vào cảx, y, u, u x , u y giống như F 1 thì (1.1.4) được gọi là phương trình chuẩn tuyến tính.

Phương trình (1.1.4) được gọi là tuyến tính nếu nó tuyến tính với cả đạo hàm cấp 2: u xx , u xy , u yy và đạo hàm cấp 1 u x , u y của nó, tức là nó có dạng a11uxx+ 2a12uxy+a22uyy+b1ux+b2uy+cu+f = 0 (1.1.5) trong đó; a 11 , a 12 , a 22 , b 1 , b 2 , c, f là các hàm chỉ phụ thuộc vào x và y Nếu các hệ số của phương trình không phụ thuộc vào x, y thì nó là phương trình tuyến tính hằng số Phương trình được gọi là thuần nhất nếu f(x, y) = 0.

Nhờ phép biến đổi: ξ=ϕ(x, y),η =φ(x, y)và giả sử tồn tại phép biến đổi ngược, sẽ nhận được phương trình mới tương đương với phương trình xuất phát Đương nhiên, vấn đề đặt ra là có thể chọn biến mới như thế nào sao cho sau khi biến đổi phương trình mới có dạng đơn giản nhất? Để trả lời câu hỏi trên, xét phương trình (1.1.4) a 11 u xx + 2a 12 u xy +a 22 u yy +F 1 (x, y, u, u x , u y ) = 0.

Sau khi đưa biến mới các đạo hàm riêng có dạng ux =uξξx+uηηx; uy =uξξy+uηηy uxx =uξξξ x 2 + 2uξηξxηx+uηηη x 2 +uξξxx+uηηxx uxy =uξξξxξy+uξη(ξxηy+ξyηx) +uηηηxηy +uξξxy +uηηxy uyy =uξξξ y 2 + 2uξηξyηy+uηηη y 2 +uξξyy+uηηyy

Thay các giá trị đạo hàm (1.1.6) vào (1.1.4) thu được phương trình mới có dạng ¯ a11uξξ+ 2¯a12uξη+ ¯a22uηη+ ¯F = 0, (1.1.7) trong đó ¯ a11=a11ξ x 2 + 2a12ξxξy+a22ξ y 2 y; ¯ a12=a11ξxηx+a12(ξxηy+ηxξy) +a22ξyηy; ¯ a22=a11η x 2 + 2a12ηxηy +a22η 2 y y;

F¯ là hàm không phụ thuộc vào đạo hàm cấp 2.

Nhận xét rằng, nếu phương trình xuất phát tuyến tính, tức là

F¯(ξ, η y , u ξ , u η ) =β 1 u ξ +β 2 u η +γu+δ, tức là phương trình vẫn tuyến tính Chọn biếnξ và η sao cho một trong các hệ hệ số ¯ a 11 ,¯a 12 ,¯a 22 bằng không, phương trình sẽ có dạng đơn giản.

Phân loại phương trình đạo hàm riêng cấp 2

Lý thuyết phương trình đạo hàm riêng đã chỉ ra rằng, dấu hiệu của biểu thức a 2 12 −a 11 a 22 xác định loại của phương trình a 11 u xx + 2a 12 u xy +a 22 u yy +F = 0 (1.1.8) Phương trình (1.1.8) tại điểm M được phân loại như sau:

Dễ dàng khẳng định được tính đúng đắn của hệ thức: ¯ a 2 12 −¯a 11 ¯a 22 = (a 2 12 −a 11 a 22 )D 2 , (1.1.9) với D=ξxηy −ηxξy. Từ đó suy ra tính bất biến của loại phương trình khi thực hiện phép đổi biến, vì định thức hàm Jacobian D trong phép biến đổi là khác không Tại mỗi điểm khác nhau trong miền đã cho, phương trình có thể thuộc các loại khác nhau.

Xét miền G, tại các điểm trong vùng này phương trình có cùng một loại Như vậy, qua mỗi điểm của miền G sẽ có 2 đường đặc trưng:

• Hyperbolic có 2 đường đặc trưng thực và khác nhau;

• Elliptic có 2 đường đặc trưng phức và khác nhau;

• Parabolic có 2 đường đặc trưng thực và trùng nhau.

Trong mỗi trường hợp trên được đưa về phương trình đơn giản có dạng sau: a)Phương trình loại Hyperbolic Nếu a 2 12 −a 11 a 22 >0, đặt ξ =ϕ(x, y), η= Ψ(x, y), đưa phương trình (1.1.4) về dạng (1.1.7) Chia hai vế của (1.1.7) cho hệ số của uξη phương trình thu được có dạng u ξη = Φ(ξ, η, u, u ξ , u η ), trong đó Φ =− F¯

2¯a 12 Đó làdạng chính tắc của phương trình loại Hyperbolic Người ta sử dụng dạng chính tắc thứ 2 của phương trình loại Hyperbolic như sau: Đặt ξ =α+β, η =α−β, tức là:α= ξ+η 2 , β = ξ−η 2 , trong đóα vàβ là các biến mới Ta có đạo hàm riêng của hàm u theo các biến mới là u ξ = 1 2(u α +u β ), u η = 1

Thay vào dạng chính tắc của phương trình loại Hyperbolic ở trên phương trình (1.1.4) có dạng u αα −u ββ = Φ 1 ,trong đó Φ 1 = 4Φ (1.1.10) Đó là dạng chính tắc thứ hai của phương trình loại Hyperboic. b)Phương trình loại Parabolic Nếu a 2 12 −a11a22 = 0, suy ra a12 =√ a11a22 Đặt ξ = φ(x, y),η =η(x, y), khi các hệ số biến đổi thành ¯ a 11 =a 11 ξ x 2 + 2a 12 ξ x ξ y +a 22 ξ y 2

Cuối cùng chia phương trình (1.1.7) cho hệ số của u ηη ta nhận được dạng chính tắc của phương trình loại Parabolic u ηη = Φ(ξ, η, u, u ξ , u η ), (1.1.11) trong đó Φ =− ¯ a F ¯

Nếu a 2 12 −a 11 a 22 0 (loại Hyperbolic):uxx−uyy = Φ hay uxy = Φ;

• Nếua 2 12 −a 11 a 22 0, 0< x < π, t >0, (1.3.43) u(0, t) = u(π, t) = 0, t >0 (1.3.44) u(x,0) =f(x), 0< x < π (1.3.45) Đặt u(x, t) = X(x)T(t)6= 0 (1.3.46) Thay 1.3.46 vào 1.3.43 ta được

Vì các hàm ở vế trái chỉ phụ thuộc vào x và các hàm ở vế phải chỉ phụ thuộc vào t nên ca3 hai phải bằng 1 hằng số λ:

Hơn nữa, vì hàm u=XT phải thỏa điều kiện 1.3.44 nên:

Bài toán trị riêng hàm riêng là:

Lấyλ −n 2 kt , với C là các hằng số tùy ý.

Nghiệm của phương trình 1.3.43 thỏa 1.3.44 dạng u=XT là u n =b n e −n 2 kt sinnx, n= 1,2, Để thỏa điều kiện 1.3.45 ta lập chuỗi u ∞

Trong 1.3.53 cho một các hình thức t= 0, u(x,0) =f(x) ∞

Nhân 1.3.54 với sinnx và lấy tích phân theo x từ0 tới π, ta được b n = 2 π ˆ π 0 f(x) sinnxdx, n = 1,2, (1.3.55)

Chuỗi 1.3.54 với hệ số 1.3.55 được gọi là chuỗi Fourier của f(x) Hàm u cho bởi1.3.53 với hệ số 1.3.55 được gọi là nghiêm hình thức của bài toán phương trình nhiệt.

Tích Tensor

Định nghĩa

Trong toán học, tích Tensor, kí hiệu⊗, có thể áp dụng trong các trường hợp khác nhau như cho các vector, ma trận, tensor, không gian vectorm, đại số, hình học topo,và các module, và giữa nhiều cấu trúc hoặc vật thể khác. Định nghĩa 1.4.1 (Tích Tensor): Cho hai không gian vector V vàW trên miềnK, tích Tensor U của V và W, được kí hiệu là U = V ⊗W được định nghĩa bởi một không gian vector mà tất cả mọi phần tử và toán tử được xây dưng như sau: Từ tích cartesian V ×W, không gian vector tự do F(V ×W) trên miền K được thành lập.

Các vector của V ⊗W được định nghĩa tương đương với các lớp của F(V ×W) dưới các mối quan hệ tương đương sau đây: v, v 1 , v 2 ∈V;w, w 1 , w 2 ∈W;c∈K;

Các phép toán của V ⊗W, tức là, biểu đồ của phép cộng vector +: U ×U →U và phộp nhõn vụ hướng ã: KìU → U được định nghĩa theo thứ tự là cỏc phộp toỏn +F và ãF từ F(V ìW), đỳng cho bất kỡ phần tử: ˜ u 1 ,u˜ 2 trong các lớp tương đương liên quan cho ra một lớp tương đương của kết quả. ˜ u1 ∈u1,u˜2 ∈u2 ⇒(+) : (u1, u2)7→[˜u1+F u˜2]˜u1 ∈u1 ⇒(ã) : (c, u1)7→[cãF u˜1]

Kết quả này độc lập với bất kì đại lượng trong lớp có liên quan được chọn Nói cách khác, các phép toán tử được định nghĩa tốt.

Nói tóm lại, tích Tensor V ⊗W được định nghĩa như không gian thương F(V × W)/N, với N là không gian con của F(V ×W) bao gồm các lớp tương đương của phần tử zero Điều này dẫn đến các mối quan hệ tương đương được nói đến ở trên:

Trong khuôn khổ của luận văn này, chúng ta sẽ nghiên cứu về một phương pháp giải tích số được xây dựng dựa trên các tính chất của tích Tensor của các ma trận.

Khi đó, tích Tensor của trường hợp này chính là tích Kronecker mà ta sẽ tìm hiểu sau đây.

Trong toán học, các tích Kronecker, kí hiệu ⊗, là một phép toán trên hai ma trận có kích thước tùy ý cho kết quả trong một ma trận khối Nó là một sự tổng quát của tích ngoài (được kí hiệu cùng một biểu tượng) từ các vector của các ma trận, và cho ma trận của tích Tensor với một lựa chọn chuẩn của các cơ sở Các sản phẩm Kronecker không nên nhầm lẫn với các phép nhân ma trận thông thường, mà là một phép toán hoàn toàn khác nhau. Định nghĩa 1.4.2 (Tích Kronecker):

Cho A là một ma trận m−by−n chiều và B là một ma trận p−by−q chiều, khi đó tích Kronecker của A⊗B mà một ma trận khối mp−by−nq chiều:

Một các rõ ràng hơn:

. a m1 b 11 a m1 b 12 ã ã ã a m1 b 1q ã ã ã a mn b 11 a mn b 12 ã ã ã a mn b 1q a m1 b 21 a m1 b 22 ã ã ã a m1 b 2q ã ã ã a mn b 21 a mn b 22 ã ã ã a mn b 2q

a m1 b p1 a m1 b p2 ã ã ã a m1 b pq ã ã ã a mn b p1 a mn b p2 ã ã ã a mn b pq

Phương pháp song song giải phương trình truyền nhiệt

Phương pháp song song giải phương trình nhiệt với phương pháp

với phương pháp Euler theo thời gian

2.1.1 Phương pháp Euler lùi trong thời gian

Phương pháp Euler là phương pháp số bậc 1 để giải các phương trình vi phân với giá trị ban đầu cho trước, có nghĩa là các sai số địa phương (sai số tại mỗi bước) tỉ lệ thuận với bình phương của kích thước của bước theo không gian và sai số toàn cầu (sai số tại một thời gian nhất định) tỉ lệ thuận với kích thước của bước theo thời

Hình 2.1: Minh họa cho phương pháp Euler Đường màu xanh là ẩn số, đường màu đỏ là xấp xỉ đa giác của nó. gian.

Xét một bài toán tính hình dạng của một đường cong với một điểm bắt đầu A 0 cho trước thỏa phương trình vi phân cho trước Ở đây, một phương trình vi phân có thể được dùng như 1 công thức mà độ dốc của đường tiếp tuyến với đường cong có thể được tính tại bất kì điểm nào trên đường cong, một khi vị trí của điểm đó đã được xác định. Ý tưởng là: khi các đường cong ban đầu chưa biết, điểm khởi đầu của nó, kí hiệu là A 0 , được cho trước Khi đó, từ phương trình vi phân, độ dốc của đường cong tại điểm A 0 có thể tính được, và như vậy, ta tính được các đường tiếp tuyến.

Lấy 1 bước nhỏ dọc theo đường tiếp tuyến đến điểm A 1 Dọc theo bước nhỏ này, độ dốc không thay đổi quá nhiều, vì vậy điểmA 1 sẽ gần với đường cong Nếu ta xem nhưA 1 vẫn nằm trên đường cong thì cùng cách lí luận như choA 0 , ta có thể tính các điểm A2, A3,

Nói chung, đường cong này sẽ không phân ra quá nhiều so với đường cong chưa biết ban đầu, và sai số giữa hai đường có thể được làm nhỏ nếu như các bước thời gian đủ nhỏ và khoảng tính toán hữu hạn.

Giả sử rằng ta muốn xấp xỉ nghiệm của giá bài toán giá trị ban đầu y 0 (t) =f(t, y(t)), y(t 0 ) =y 0

Chọn một giá trịh cho mọi bước và đặtt n =t 0 +nh Bây giờ, một bước của phương pháp Euler từt n tới t n+1 =t n +h là y n+1 =y n +hf(t n , y n ).

Giá trị của y n là một xấp xỉ của nghiệm của phương trình vi phân tại điểm t n : y n ≈ y(t n ) Trong khi phương pháp Euler xử lí phương trình vi phân bậc 1, một phương trình vi phân bậc N có thể được biểu diễn như một phương trình vi phân bậc 1: để xử lý phương trình y (N ) (t) =f(t, y(t), y 0 (t), , y (N−1) (t)), ta đặt các biến phụ trợ z1(t) = y(t), z2(t) = y 0 (t), , zN(t) = y (N−1) (t) và đạt được phương trình tương đương z 0 (t) 

 Đây là hệ bậc nhất theo biến z(t) và có thể được giải băng phương pháp Euler hoặc, thực ra, bằng các phương pháp khác cho hệ bậc nhất.

Phương pháp Euler còn có thể được xem như khai triển Taylor của hàm y tại t0: y(t 0 +h) =y(t 0 ) +hy 0 (t 0 ) + 1

Nếu ta bỏ qua các khai triển bậc hai và bậc cao hơn trong khai triển Taylor thì ta sẽ được công thức của phương pháp Euler: y 0 (t 0 )≈ y(t 0 +h)−y(t 0 ) h

Chú ý, công thức Euler có thể được tính theo bước tiến tới (giá trị xấp xỉ của đường cong tại điểm t n được xác định phụ thuộc vào giá trị xấp xỉ tại các thời điểm trước đó) hoặc bước lùi (giá trị xấp xỉ của đường cong tại điểmt n được xác định phụ thuộc vào giá trị xấp xỉ tại các thời điểm trước đó (đã biết) và tại chính thời điểmtn (chưa biết)) Trong khuôn khổ luận văn này, chúng ta chỉ dùng phương pháp Euler lùi do tính chất đặc trưng của phương pháp tích Tensor không gian-thời gian.

Xét phương trình vi phân

 dy dt =f(t, y), t 0 < t < T, y(t 0 ) =y 0 Ở đây, hàm f và giá trị ban đầu làt 0 vày 0 cho trước, hàm yphụ thuộc vào số thực t và là ẩn số Một phương pháp số tính chuỗiy 0 ,y 1 ,y 2 , sao cho y k xấp xỉy(t 0 +kh), với h là bước thời gian Phương pháp Euler lùi tính xấp xỉ dùng: y k+1 =y k +hf(t k+1 , y k+1 ).

2.1.2 Giải phương trình nhiệt bằng phương pháp Euler một cách tuần tự

Phương trình 2.1.1 có thể được giải được bằng cách xấp xỉ bằng cách rời rạc hóa theo không gian bằng sai phân trung tâm va rời rạc hóa thời gian phương pháp Euler lùi.

Vì u là phương trình phụ thuộc vào x và t nên ta phải rời rạc hóa theo cả hai chiều không gian và thời gian Ta có t∈(0, T], x∈(0, L).

Xét lưới thời gian M điểm (t 1 , t 2 , , t M ):

Và lưới không gian N điểm (x 1 , x 2 , , x N ) như sau:

Như vậy hàm u(x, t)có thể được rời rạc hóa thành một vector, kí hiệu, U ∈R M N

, (2.1.4) với mỗi vector U m tương ứng với giá trị rời rạc hóa theo không gian của u(t m ), U m ∈R N ,m = 1, , M.

Kí hiệu U n m =u(x n , t m ), với n = 1, , N và m = 1, , M. Vế phải của phương trình 2.1.1, f(x, t) sẽ được rời rạc hóa một cách tương tự, kí hieeukF ∈R M N Và điều kiên ban đầuu(t 0 )được rời rạc hóa thành vectorU 0 ∈R N Xấp xỉ các đạo hàm riêng của phương trình nhiệt bằng phương pháp sai phân hữu hạn, trong đó đạo hàm bậc nhất theo thời gian sẽ đươc xấp xỉ bởi phương pháp Euler lùi, còn đạo hàm bậc hai theo thời gian sẽ được xấp xỉ theo phương pháp sai phân bậc 2. Áp dụng khai triển Taylor, ta có thể viết

Như vậy, hệ phương trình rời rạc hóa xấp xỉ tương đương với phương trình 2.1.1 là

U m −U m−1 dt m +AU m =F m , m = 1, , M (2.1.5) Với ma trậnA là ma trận thu được từ phương pháp sai phân trung tâm bậc hai cho

∂x 2 , hay còn gọi là toán tử Laplace, có dạng

Hệ phương trình 2.1.5 có thể được giải như sau, với U 0 và F cho trước,

Khi m = 1, ta có nghiêm phương trình 2.1.5 tại thời điểm t 1 được tính như sau

Khi m= 2, , M, U m được tính như sau:

Như vậy, nghiệm số xấp xỉ của phương trình nhiệt 2.1.1 đã được tính bằng phương pháp Euler theo thời gian.

2.1.3 Phương pháp song song giải phương trình nhiệt với phương pháp Euler lùi Để viết lại hệ phương trình 2.1.5 thành một hệ toàn cục cho vector nghiệm nối

U = (U 1 , , U M )∈R M N , ta viết lại bước đầu tiên như sau

∆t 1 , định nghĩa vế phải mới như sau

∆t 1 , và vector vế phải nối F = ( ˜F 1 , F 2 , , F M )∈R M ×N

Bây giờ, ta định nghĩa ma trận thời gian B là

Ta cũng định nghĩa I t là ma trận đơn vị có chiều M (tương ứng với chiều của miền thời gian) và Ix là ma trân đơn vị có chiều N (tương ứng với chiều của miền không gian) Với các kí hiệu này, ta có thể viết 2.1.5 với dạng tích Tensor như sau

Có nhiều các để giải bài toán toàn cục, ví dụ như phương pháp đa lưới thời gian không gian (W Hackbusch, Fast numerical solution of time-periodic parabolic problems by a multigrid method, SIAM Journal on Scientific and Statistical Computing 2 (1981), no 2, 198–206.) Ở đây, nhớ rằng để song song hóa theo thời gian, ta cần phải chéo hóa ma trậnB Điều này đạt được nhờ bổ đề sau đây:

Bổ đề 2.1.1 Ma trận B chéo hóa được nếu và chỉ nếu tất cả các bước thời gian dt i khác nhau Khi đó,

B =SΛS −1 , với Λ =diag( 1 dt 1 ,ã ã ã, 1 dt M ) (2.1.17) Ở đây, các cột của ma trận S là các vector riêng của ma trận B và ma trận Λ là ma trận đường chéo được tạo bởi các trị riêng tương ứng của ma trận B. Để đảm bảo cho các trị riêng của ma trận B khác nhau, hay là các bước thời gian đều khác nhau, ta đặt dt m =ρdtm−1 với ρ6= 1,m = 1, , M Với các điều kiện trên thỏa mãn, ta có thể viết 2.1.16 thành

W = (S −1 ⊗I x )U (2.1.20) và nhân 2.1.19 cho (S −1 ⊗Ix), ta được

(Λ⊗Ix+It⊗A)w= (S −1 ⊗Ix)F (2.1.21) Tương đương với

(A+λ m I x )W m =G m , m= 1, , M (2.1.22) với vế phải là vector nối G∈R M×N

Ta đã viết lại được phương trình 2.1.5 thành phương trình 2.1.22, có nghĩa là ta đã biến đổi từ một hệ phương trình gồm M bước tuần tự thành một hệ M phương trình độc lập theo thời gian 2.1.22 Do đó, 2.1.22 có thể được giải một cách hoàn toàn song song theo thời gian, đó chính là mục đích của phương pháp song song tích Tensor không gian-thời gian.

Khi hệ 2.1.22 được giải, ta sẽ có nghiệm W m , m = 1, , M, khi đó nghiệm của phương trình nhiệt, U, sẽ được tính như sau

Như vậy, ta đã hoàn thành cách xây dựng phương pháp song song tích Tensor không gian-thời gian cho phương trình nhiệt với phương pháp Euler lùi theo thời gian.

Ta có thể tóm tắt phương pháp song song này trong 3 bước như sau:

2.2 Phương pháp song song giải phương trình nhiệt với phương pháp xấp xỉ bậc hai

Trong phần trước, chúng ta đã giải phương trình nhiệt băng phương pháp bậc 1Euler để xấp xỉ đạo hàm theo thời gian Trong phần này, chúng ta sẽ dùng một cách tiếp cận khác để biểu diễn đạo hàm theo thời gian của phương trình nhiêt, cũng là để nâng cao độ chính xác của thuật toán bằng một phương pháp xấp xỉ bậc 2 theo thời gian Phương pháp sai phân trung tâm sẽ vẫn được giữ nguyên để xấp xỉ đạo hàm bậc hai theo không gian Điều đó có nghĩa là, khi thay đổi phương pháp xấp xỉ đạo hàm theo thời gian, chỉ có ma trận thời gian B thay đổi, còn ma trậnA sẽ được giữ nguyên. Áp dụng biến đổi Taylor cho hàm u, với kí hiệu u m thay cho u(tm), ta có:

2 u 00 +O(dt 3 ), u m−2 =u m −(dt m +dt m−1 )u 0 +(dt m +dtm−1) 2

Phương pháp song song giải phương trình sóng

Phương pháp song song cho phương trình sóng với xấp xỉ bậc hai

với xấp xỉ bậc hai theo thời gian. Để có thể có được dạng tích Tesnor của phương trình rời rạc hóa, ta sẽ giới thiệu một phương pháp lùi theo thời gian để xấp xỉ đạo hàm riêng bậc hai của phương trình sóng Sử dụng khai triển Taylor, ta có

24 u (4) (t m ) +O(dt 4 m ), u(tm−2) = u(tm)−(dtm+dtm−1)u 0 (tm) + (dt m +dt m−1 ) 2

24 u (4) (t m ) +O(dt 4 m ), u(tm−3) = u(t m )−(dt m +dtm−1+dtm−2)u 0 (t m ) + (dt m +dtm−1 +dtm−2) 2

24 u (4) (t m ) +o(dt 4 m ). Để có được phương pháp xấp xỉ bậc hai theo thời gian, ta có thể bỏ qua sai số bậc bằng và lớn hơn dt 4 Sau đó, khử đạo hàm bậc 3 theo thời gian trong các khai triển Taylor phía trên, ta được u 00 = −2(a+b+c)u m + 2au m−1 + 2bu m−2 + 2cu m−3 d , (3.1.2) với

 a= (dt m +dtm−1) 2 −(dt m +dtm−1+dtm−2) 2 ; b=dt m ((dt m +dtm−1+dtm−2) 2 −dt 2 m )/(dt m +dtm−1); c=dt m ((dt 2 m )−(dt m +dtm−1) 2 )/(dt m +dtm−1+dtm−2); dt 2 m +b(dt m +dtm−1) 2 +c(dt m +dtm−1+dtm−2) 2

Chú ý rằng, phép xấp xỉ bậc hai cho đạo hàm bậc hai theo thời gian cần 3 giá trị của hàm u tại các thời điểm trước, cho nên, cách tính đạo hàm bậc hai theo thời gian tại bước thời gian thứ nhất và thứ hai sẽ sử dụng phương pháp sai phân hữu hạn trung tâm để tính Một cách cụ thể hơn:

• Tại bước thời gian đầu tiên, m = 1, phương trình rời rạc hóa tương đương với phương trình 3.0.1 là

P(U 1 dt 2 1 −2U 0 dt 2 1 +U −1 dt 2 1 ) +AU 1 =F 1 , với U −1 không thực sự tồn tại trong ý nghĩa vật lý, ở đây là một phép suy diễn từ khai triển Taylor để tính đạo hàm riêng cấp hai theo thời gian, U −1 được tính như sau:

3U 000 1 Nên ta tính được nghiệm xấp xỉ tại thời điểm t 1 , U 1

• Tại m = 2, ta dùng khai triển Taylor tại u 2 , u 1 và u 0 để xấp xỉ đạo hàm bậc hai theo thời gian Phương trình rời rạc hóa của 3.0.1 tại t 2 do đó sẽ là

P( 2U 2 (dt 2 +dt 1 )dt 2 − 2U 1 dt 2 dt 1 + 2U 0

(dt 2 +dt 1 )dt 1 ) +AU 2 =F 2 Nghiêm U 2 dễ dàng được tính:

(dt 2 +dt 1 )dt 2 P +A) −1 (F 2 + 2U 1 dt 2 dt 1 P − 2U 0

• Tại m = 3, , N t , ta sẽ dùng công thức xấp xỉ 3.1.2, nên phương trình 3.0.1 tương đương với

U m = (−2(a+b+c) d P +A) −1 (F m − 2aU m−1 + 2bU m−2 + 2cU m−3 d P), với a, b, c, d là các giá trị được tính bởi công thức 3.1.3.

Như vậy, chúng ta vừa trình bày xong cách giải phương trình sóng tuần tự với phương pháp xấp xỉ bậc hai theo thời gian Bây giờ chúng ta sẽ trình bày cách tiếp cận để xây dựng phương pháp song song Trước hết, ta cần viết phương trình 3.0.1 dưới dạng phương trình rời rạc hóa toàn cục tích Tensor. Để viết lại hệ phương trình 2.1.5 thành một hệ toàn cục cho vector nghiệm nối U = (U 1 , , U N t )∈R N t ×N t , ta viết lại bước đầu tiên như sau

P(U 1 dt 2 1 − 2U 0 dt 2 1 +U −1 dt 2 1 ) +AU 1 =F 1 , định nghĩa vế phải mới như sau

F˜ 1 =F 1 +2U 0 dt 2 1 P −U −1 dt 2 1 P, ta viết lại bước thứ hai như sau

P( 2U 2 (dt 2 +dt 1 )dt 2 − 2U 1 dt 2 dt 1 + 2U 0

(dt 2 +dt 1 )dt 1 ) +AU 2 =F 2 , định nghĩa vế phải mới như sau

(dt 2 +dt 1 )dt 1 P, ta viết lại bước thứ 3 như sau

−2(a+b+c)U 3 + 2aU 2 + 2bU 1 + 2cU 0 d P +AU 3 =F 3 , định nghĩa vế phải mới như sau

F˜ 3 =F 3 − 2cU 0 d P. và vector vế phải nối F = ( ˜F 1 ,F˜ 2 ,F˜ 3 , , F M )∈R N t ×N x ×N y Ta có thể đặt ma trận thời gian B là ma trận 4 đường chéo:

Vì vậy, phương trình 3.0.1 được viết thành hệ phương trình toàn cục như sau:

Tương tự như cho phần giải phương trình truyền nhiệt, ta giả sử rằng ma trận B chéo hóa được:

Phương trình trên cho thấy, các giá trịW m có thể được tính một cách hoàn toàn độc lâp, do đó phương trình 3.0.1 có thể được giải một cách hoàn toàn song song bằngN t máy.

Phương pháp song song cho phương trình sóng với phương pháp

với phương pháp Newmark theo thời gian

3.2.1 Phương pháp Newmark để giải phương trình sóng một cách tuần tự

Trong cơ học, phương pháp Newmark là một phương pháp số hàng đầu dùng để giải phương trình sóng Trong phần này, chúng ta sẽ trình bày cách giải một phương trình một các tuần tự với phương pháp Newmark.

Xét phương trình chuyển động sau m¨u+ku−f = 0, (3.2.8) với f(t) và các điều kiện ban đầu u(0)˙ và u(0) cho trước. Áp dụng phép khai triển Talor, ta có

(3.2.9) ở đây, β 1 và β 2 là hai tham số có thể thay đổi để xác định loại của phương pháp xấp xỉ.

Do đó, chúng ta có thể giải phương trình sóng bằng phương pháp Newmark một cách tuần tự theo các bước sau đây:

2 Sau đó, cho các bước tiếp theo, tính ¨(u)(t+dt) = 1 m+kβ2dt 2 (−k[u(t) +dtu(t) +˙ dt 2 (1−β 2 )¨u(t)/2] +f(t+dt)), u(t+dt)≈u(t) +dtu(t) +˙ dt 2

3.2.2 Phương pháp song song giải phương trình sóng với phương pháp xấp xỉ Newmark

∂t 2 −c 2 ∆u=f, 0< x < L x , 0< y < L y , 0< t≤T, (3.2.10) trên miền có độ dài L với tốc độ sóng hằng sốc >0 (để đơn giản hóa ta đặt c= 1) Ta có điều kiện biên Dirichlet: u(t,0, y) =α1(t, y), u(t, Lx, y) =ω1(t, y), t ≥0, u(t, x,0) =α2(t, x), u(t, x, Ly) = ω2(t, x), t ≥0, với các điều kiện ban đầu u(0, x, y) = u 0 (x, y), ∂u

∂t(0, x, y) = du 0 (x, y), 0< x < L x , 0< y < L y Như các phần trước, ta chọn lưới không gian đều x i =ih x , y j =jh y , với h x = L x

Bởi vì ρ(x, y)không phụ thuộc vào biến thời gian, ta có thể rời rạc hóa thành một ma trận P ∈ R ( N x N y ) 2

Trong phép bán rời rạc hóa theo không gian, ta xấp xỉ u(x, y, t) bằng uh(t) và

∂t 2 P +Auh =f, t∈(0, T] (3.2.11)Bây giờ, ta giả sử, phương trình 3.2.11 có nghiệm là U, ta kí hiệu

Tại bất kì bước thời gian t m , phương pháp Newmark được biểu diễn:

 U m+10 =U m0 + (1−γ)dt m+1 U m00 +γdt m+1 U m+100 , U m+1 =U m +dt m+1 U m0 + ( 1 2 −β)dt 2 m+1 U m00 +βdt 2 m+1 U m+100

(3.2.12) Áp dụng phương trình đầu tiên của phương pháp Newmark 3.2.12 cho tất cả N t bước thời gian của bài toán, ta có

Chúng ta có thể biểu diễn hệ phương trình này dưới dạng một phương trình với dạng tích Tensor,

Chúng ta vừa tính xong V phụ thuộc vào đạo hàm bậc hai theo thời gian củaU và Z Bước tiếp theo sẽ là, lợi dụng phương trình thứ hai trong phương pháp Newmark để biến đổi tính V chỉ phụ thuộc vào U. Áp dụng phương trình thứ hai của phương pháp Newmark 3.2.12 cho tất cả N t bước thời gian của bài toán, ta có

2). Đặt ma trận thời gian cho phương pháp song song với phương pháp xấp xỉ New- markB là

B = (B 2 B 4 −1 B 5 +B 3 ) −1 B 1 , (3.2.21) và vector nối rời rạc mới của vế phải trong phương trình 3.2.11

Khi đó ta sẽ có được phương trình toàn cục dạng tích Tensor của phương trình 3.2.11 là

Khi ma trận B chéo hóa được, ma trận B sẽ được chéo hóa dưới dạng B =SΛS −1 , và phương trình 3.2.23 sẽ được giải một các hoàn toàn song song bằng 3 bước của phương pháp song song tích Tensor:

Xét phương trình sóng như đã trình bày trên với nghiệm giải tích là u(x, y, t) sin(πx)∗ sin(πy)∗ in(πt), cho x, y ∈ (0,1) và t ∈ (0,0.5) với các điệu kiện biên Dirichlet.

Xét lưới không gian gồm N x = N y = 50, lưới thời gian thay đổi, tham số theo thời gian cố định là ρ = 1.22, các tham số của phương pháp Newmark được lấy ở β = 0.25 và γ = 0.5, ta có được các kết quả sau dựa trên lập trình Matlab

Hình 3.1: Các sai số khi giải phương trình sóng

Hình 3.1 cho thấy, tương tự như khi giải phương trình nhiệt, sai số do các phương pháp song song đem lại khi giải phương trình sóng gần như y hệt như sai số do các phương pháp tuần tự và thậm chí ta có thể thấy được khiN t càng lớn, xu hướng của sai số do phương pháp song song với Newmark thậm chí còn tốt hơn sai số do phương pháp Newmark tuần tự tạo ra Đây là một điều vô cùng quan trọng và thể hiện giá trị của phương pháp song song tích Tensor vì phương pháp Newmark tuần tự là một phương pháp truyền thống để giải phương trình sóng, và thông thường, với một phép biến đổi phức tạp như phương pháp song song tích Tensor với Newmark người ta chỉ có thể kì vọng rằng sai số này gần bằng với sai số do giải tuần tự.

Không chỉ dừng lại ở việc giải phương trình sóng với sai số tốt hơn phương pháp tuần tự, phương pháp song song tích Tensor còn có thể giải bài toán này nhanh hơn gấp nhiều lần:

Hình 3.2: Thời gian giải phương trình sóng

Hình 3.2 cho thấy rằng, phương pháp song song tích Tensor với Newmark không chỉ tốt hơn về sai số, mà còn nhanh hơn về thời gian (cho dù với điều kiện hạn hẹp về khả năng tính toán trên laptop với Matlab, thời gian tính này có thể tối ưu hóa để nhanh hơn được nữa nếu có thể tính toán trên hệ thống máy tính kết nối) so với phương pháp tuần tự Chúng ta có thể thấy, ở hình 3.1, sai số của phương pháp Newmark tốt hơn hẳn phương pháp xấp xỉ bậc hai Gear, nhưng về thời gian tính toán thì phương pháp xấp xỉ bậc hai lại nhanh hơn vì phương pháp Newmark yêu cầu phải tính nhiều ma trận hơn Vì vậy, có thể tùy theo mục tiêu của người dùng, mà chúng ta có thể dùng phương pháp xấp xỉ bậc hai hay Newmark để đạt được hiệu quả cao hơn trong tính toán.

Phần kết quả số này đã chứng minh rất rõ sự hiệu quả cũng như tính chính xác của phương pháp song song tích Tensor để giải phương trình sóng trong bài toán hai chiều.

Trong khóa luận này, chúng ta đã nghiên cứu về một phương pháp song song mới theo thời gian để giải các phương trình đạo hàm riêng: đó là phương pháp song song tích Tensor không gian-thời gian.

Từ các kết quả lý thuyết và thực tế, chúng ta đã thấy được sự hiệu quả của phương pháp này cho các bài toán khác nhau với các phương pháp rời rạc hóa bước lùi khác nhau Chúng ta đã thấy được những lợi thế của phương pháp song song tích Tensor không gian-thời gian khi giải các phương trình truyền nhiệt và phương trình sóng.

Mặc dù bị ràng buộc về điều kiện chéo hóa của ma trận thời gian B, nhưng sự áp dụng đa dạng của phương pháp song song cả về dạng của bài toán PDEs, và dạng của các phương pháp rời rạc hóa làm cho phương pháp này có nhiều tiềm năng trong ứng dụng cho các bài toán cơ.

Hơn nữa, trong suốt khóa luận, chúng ta đã thấy chìa khóa của phương pháp này là chuyển hóa các phương trình đạo hàm riêng về dạng phương trình rời rạc hóa tích Tensor, điều đó làm cho phương pháp này có thể được mở rộng ra hơn là chỉ dùng phương pháp sai phân hữu hạn để rời rạc hóa: chúng ta có thể dùng phương pháp phần tử hữu hạn để rời rạc hóa các bài toán PDEs Sự mở rộng này sẽ giúp chúng ta có thể giải được nhiều bài toán phụ thuộc vào thời gian hơn nữa.

Chúng ta đã thấy được lợi ích đáng kể của phương pháp song song theo thời gian.

Và nó có thể sẽ càng tốt hơn nữa nếu chúng ta có thể kết hợp phương pháp song song này với các phương pháp song song trong không gian để có được một phương pháp song song thời gian-không gian, đây sẽ là bước tiến xa để giải quyết được các vấn đề dữ liệu lớn trong thực tế hiện nay.

Tuy nhiên khóa luận không tránh khỏi những sai sót tôi rất mong nhận được sự góp ý của quý thầy cô và bạn đọc.

Phụ lục này sẽ trình bày một số modules cơ bản Cụ thể sẽ trình bày các thủ tục sau:

1 Modul thuật toán giải phương trình nhiệt bằng phương pháp song song Euler function [u,condS,condnor]=uEuler(Pb,A) ro = Pb.rho ;

Nt= Pb.Nt ; Ntc= Pb.Ntc;

Nx =Pb.Nx ; Ny =Pb.Ny ; Lx = Pb.Lx ; Ly = Pb.Ly ; hx = 1./(Nx+1) ; hy = 1./(Ny+1) ; x = (hx:hx:Lx-hx) ; y = (hy:hy:Ly-hy) ;

%Time step [dt,t]tat(Pb.T,Nt,Ntc,ro);

% Time matrix and diagonalize matrix B=S*lam*S^(-1) B=createB(Ntc,dt); dt0=dt(1)/ro;

[S,lam,invS,condS,condnor] = createS(Nt,dt0,ro); for j=1:Ntc u(j) = struct(’u’, zeros(Nx*Ny*Nt,1)); end for j=1:Ntc %%(Ntc=1) [X,Y,T]=ndgrid(x,y,t);

% Right hand side ff= pi*sin(pi*X).*sin(pi*Y).*cos(pi*T)+2*pi^2*sin(pi*X).*sin(pi*Y).*sin(pi*T);

%Boundary values of function u ux0=sin(pi*0).*sin(pi*Y).*sin(pi*T); uy0=sin(pi*X).*sin(pi*0).*sin(pi*T); ut0=sin(pi*X).*sin(pi*Y).*sin(pi*0); uxL=sin(pi*Lx).*sin(pi*Y).*sin(pi*T); uyL=sin(pi*X).*sin(pi*Ly).*sin(pi*T);

% Space boundary ff(1,:,:) = ff(1,:,:) + ux0(1,:,:)*(Nx+1)^2 ; ff(Nx,:,:) = ff(Nx,:,:) + uxL(Nx,:,:)*(Nx+1)^2 ; ff(:,1,:) = ff(:,1,:) + uy0(:,1,:)*(Ny+1)^2 ; ff(:,Ny,:) = ff(:,Ny,:) + uyL(:,Ny,:)*(Ny+1)^2 ; if (j==1)

Ngày đăng: 09/09/2024, 15:51

HÌNH ẢNH LIÊN QUAN

Bảng 1.1: Các dạng khác nhau của phương trình truyền nhiệt trong hệ tọa độ - Luận văn thạc sĩ Toán ứng dụng: Phương pháp song song theo thời gian để giải bài toán phương trình nhiệt và phương trình sóng
Bảng 1.1 Các dạng khác nhau của phương trình truyền nhiệt trong hệ tọa độ (Trang 20)
Hình 1.1: Biểu diễn hình dạng chuyển động của sóng - Luận văn thạc sĩ Toán ứng dụng: Phương pháp song song theo thời gian để giải bài toán phương trình nhiệt và phương trình sóng
Hình 1.1 Biểu diễn hình dạng chuyển động của sóng (Trang 21)
Bảng 1.2: Các dạng khác nhau của phương trình sóng - Luận văn thạc sĩ Toán ứng dụng: Phương pháp song song theo thời gian để giải bài toán phương trình nhiệt và phương trình sóng
Bảng 1.2 Các dạng khác nhau của phương trình sóng (Trang 23)
Hình 2.1: Minh họa cho phương pháp Euler. Đường màu xanh là ẩn số, đường màu đỏ là xấp xỉ đa giác của nó. - Luận văn thạc sĩ Toán ứng dụng: Phương pháp song song theo thời gian để giải bài toán phương trình nhiệt và phương trình sóng
Hình 2.1 Minh họa cho phương pháp Euler. Đường màu xanh là ẩn số, đường màu đỏ là xấp xỉ đa giác của nó (Trang 35)
Hình 2.2: Các sai số khi giải phương trình nhiệt - Luận văn thạc sĩ Toán ứng dụng: Phương pháp song song theo thời gian để giải bài toán phương trình nhiệt và phương trình sóng
Hình 2.2 Các sai số khi giải phương trình nhiệt (Trang 48)
Hình 2.3: Thời gian giải phương trình nhiệt - Luận văn thạc sĩ Toán ứng dụng: Phương pháp song song theo thời gian để giải bài toán phương trình nhiệt và phương trình sóng
Hình 2.3 Thời gian giải phương trình nhiệt (Trang 49)
Hình 3.1: Các sai số khi giải phương trình sóng - Luận văn thạc sĩ Toán ứng dụng: Phương pháp song song theo thời gian để giải bài toán phương trình nhiệt và phương trình sóng
Hình 3.1 Các sai số khi giải phương trình sóng (Trang 61)
Hình 3.2: Thời gian giải phương trình sóng - Luận văn thạc sĩ Toán ứng dụng: Phương pháp song song theo thời gian để giải bài toán phương trình nhiệt và phương trình sóng
Hình 3.2 Thời gian giải phương trình sóng (Trang 62)

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN