Tài liệu CHƯƠNG 9: PHƯƠNG TRÌNH VI PHÂN ĐẠO HÀM RIÊNG ppt

35 872 13
Tài liệu CHƯƠNG 9: PHƯƠNG TRÌNH VI PHÂN ĐẠO HÀM RIÊNG ppt

Đ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

CHƯƠNG 9: PHƯƠNG TRÌNH VI PHÂN ĐẠO HÀM RIÊNG §1. KHÁI NIỆM CHUNG    Phương trình vi phân đạo hàm riêng(PDE) là một lớp các phương trình  vi  phân  có  số  biến  độc  lập  lớn  hơn  1.  Trong  chương  này  ta  sẽ  khảo  sát  các  phương  trình  vi  phân  đạo  hàm  riêng  cấp  2  với  hai  biến  độc  lập  x  và  y,  có  dạng tổng quát:  ⎛ ∂2u ∂ 2u ∂ 2u ∂u ∂u ⎞ A(x,y) + B(x,y) (1)  + C(x, y) = f ⎜ x,y,u, , ⎟       ∂x ∂x∂y ∂y ∂x ∂y ⎠ ⎝ với xo ≤ x ≤ xf, yo ≤ y ≤ yf và các điều kiện biên:  u(x,y o ) = b yo (x)     u(x,y f ) = b yf (x)      u(xo ,y) = bxo (y) u(xf ,y) = bxf (y) (2)  Các PDE được phân thành 3 loại:  B2 − 4AC <     PDE elliptic:    PDE parabolic:  B2 − 4AC =     PDE hyperbolic:  B2 − 4AC >   Các phương trình này gắn một cách tương ứng với trạng thái cân bằng, trạng  thái truyền nhiệt, hệ thống dao động    §2. PHƯƠNG TRÌNH ELLIPTIC    Ta xét phương trình Helmholz:  ∂ u(x,y) ∂ u(x,y)   ∇ u(x,y) + g(x, y) = + + g(x,y)u(x,y) = f(x,y)   (1)  ∂x ∂y trên miền  D = {(x,y) : xo ≤ x ≤ xf ,y o ≤ y ≤ y f }  với điều kiện biên dạng:  u(x,y o ) = b yo (x) u(x, y f ) = b yf (x)           (2)  u(xo ,y) = b xo (y) u(xf ,y) = b xf (y) Phương  trình  (1)  được  gọi  là  phương  trình  Poisson  nếu  g(x,  y)  =  0  và  gọi  là  phương trình Laplace nếu g(x, y) = 0 và f(x, y) = 0. Để dùng phương pháp sai  phân ta chia miền thành Mx đoạn, mỗi đoạn dài ∆x = (xf ‐ xo)/Mx dọc theo trục  x và thành My đoạn, mỗi đoạn dài ∆y = (yf ‐ yo)/My dọc theo trục y và thay đạo  hàm bậc 2 bằng xấp xỉ 3 điểm:  u i ,j+1 − 2u i ,j + u i ,j−1 ∂ u(x,y) ≅  với xj = xo + j∆x, yj = yo + j∆y  (3.a)    ∂x x j ,yi ∆x 403 u i+1,j − 2u i ,j + u i−1,j ∂ u(x,y) ≅  với ui,j = u(xj, yi)  ∂y x ,y ∆x j     (3.b)  i Như vậy tại mỗi điểm bên trong (xj, xi) với 1 ≤ i ≤ My ‐ 1 và 1 ≤ j ≤ Mx ‐ ậit nhận  được phương trình sai phân:  u i ,j+1 − 2u i ,j + u i ,j−1 u i+1,j − 2u i ,j + u i−1,j   + = g i ,ju i ,j = fi ,j       (4)  ∆x ∆y Trong đó:  fi,j = f(xj, yi)    gi,j = g(xj, yi)    ui,j = u(xj, yi)  Các phương trình này sắp xếp lại theo cách nào đó thành hệ phương trình với  { } (My ‐ 1)(Mx ‐ 1) biến  u1,1 ,u1,2 , ,u1,Mx −1 ,u ,1 , ,u ,Mx −1 , ,u My −1,2 , ,u My −1,Mx −1  Để  dễ dàng ta viết lại phương trình và điều kiện biên dưới dạng:    u i ,j = ry (u i ,j+1 + u i ,j−1 ) + rx (u i+1,j + u i−1,j ) + rxy (g i ,ju i ,j − fi ,j )       (5a)  u i ,o = b xo (y i ) (5b)  u i ,Mx = b xf (y i ) u o ,j = b yo (x j ) u My ,j = b yf (x j )     Trong đó:  ∆y ∆x ∆y ∆x   ry =        rx = rxy =   (6)    2( ∆x + ∆y ) 2( ∆x + ∆y ) 2( ∆x + ∆y ) Bây giờ ta khảo sát tiếp các dạng điều kiên biên. Các bài tốn PDE có 2 loại  điều kiện biên: điều kiên biên Neumann và điều kiên biên Dirichlet. Điều kiện  biên Neumann mơ tả bằng:  ∂u(x,y)             (7)  = b′xo (y)       ∂x x=xo Thay đạo hàm bậc 1 ở biên trái (x = xo) bằng xấp xỉ 3 điểm:  u i ,1 − u i ,−1 = b′xo (y i )   u i ,−1 ≈ u i ,1 − 2b′xo (y i )∆x   i = 1, 2, , My‐1    ∆x Thay thế ràng buộc này vào (5a) ở các điểm biên ta có:    u i ,0 = ry (u i ,1 + u i ,−1 ) + rx (u i+1,0 + u i−1,0 ) + rxy (g i ,0 u i ,0 − fi ,0 )             = ry ⎡ u i ,1 + u i ,1 − 2b′x0 (y i )∆x ⎤ + rx (u i+1,0 + u i−1,0 ) + rxy (g i ,0 u i ,0 − fi ,0 )   ⎣ ⎦          = 2ry u i ,1 + rx (u i+1,0 + u i−1,0 ) + rxy ⎡g i ,0 u i ,0 − fi ,0 − 2b′x0 (y i )∆x ⎤    ⎣ ⎦ (8)  (9)  Nếu điều kiên biên trên biên dưới (y = yo) cũng là kiểu Neumann ta sẽ viết các  phương trình tương tự với j = 1, 2, ,Mx‐1:  u ,j = 2rx u1,j + ry (u ,j+1 + u ,j−1 ) + rxy ⎡g ,j u ,j − f0 ,j − 2b′y0 (x j )∆y ⎤    (10)    ⎣ ⎦ và bổ sung cho góc dưới trái(xo, yo):  404 b′y (x0 ) ⎤ b′x (y ) ⎡ +2 u ,0 = 2(ry u ,1 + rx u1,0 ) + rxy ⎢g ,0 u ,0 − f0 ,0 − (11)  ⎥  ∆x ∆y ⎦ ⎣ Điều kiện biên Dirichlet cho giá trị hàm trên biên nên có thể thay trực tiếp vào  phương trình. Ta có thể lấy giá trị trung bình của các giá trị biên làm giá trị  đầu của ui,j. Ta xây dựng hàm poisson() để thực hiện thuật tốn này:    function [u, x, y] = poisson(f, g, bx0, bxf, by0, byf, D, Mx, My, tol, maxiter)  % giai a(u_xx + u_yy + g(x,y)u = f(x,y)  % tren mien D = [x0, xf, y0, yf] = {(x,y) |x0 

Ngày đăng: 23/01/2014, 06:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan