Bài giảng chương 8: Phương trình vi phân đạo hàm riêng

Partial Differential Equation (PDE) Toolbox cung cấp một môi trường mạnh và mềm mại để nghiên và giải các phương trình vi phân đạo hàm riêng trong mặt phẳng. Dạng phương trình cơ bản của PDE Toolbox là:   ‐∇.(c∇u) + au = f trong miền Ω

pdf29 trang | Chia sẻ: haohao89 | Lượt xem: 2824 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Bài giảng chương 8: Phương trình vi phân đạo hàm riêng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 8: PHƯƠNG TRÌNH VI PHÂN   ĐẠO HÀM RIÊNG  §1. MỞ ĐẦU 1. Khái niệm  chung: Partial Differential Equation  (PDE) Toolbox  cung  cấp  một môi trường mạnh và mềm mại để nghiên và giải các phương trình vi phân  đạo hàm riêng trong mặt phẳng. Dạng phương trình cơ bản của PDE Toolbox  là:    ‐∇.(c∇u) + au = f trong miền Ω  Các phương trình được rời rạc hoá bằng phương pháp phần tử hữu hạn(FEM).  Các đối tượng trong PDE cung cấp công cụ để:  • xác định bài toán PDE, nghĩa là xác định vùng 2D, các điều kiện biên và  các hệ số PDE.  • giải bằng phương pháp số các bài  toán, nghĩa  là  tạo ra  lưới không có  cấu trúc, rời rạc hoá phương trình và tìm nghiệm xấp xỉ.   • hiển thị kết quả  2. Sử dụng GUI:    a. GUI: PDE Toolbox có một bộ giao diện đồ hoạ người dùng (graphical  user interface GUI) bao gồm các khiá cạnh của quá trình tìm nghiệm của PDE.  Để kích hoạt nó ta nhập lệnh pdetool tại cửa sổ lệnh của MATLAB.    Trên cửa sổ GUI có các menu và các  icon. Ta dùng các menu hay  icon  này để thực hiện các nhiệm vụ nhất định.    b. Các menu: Có một số menu sau đây trên cửa sổ GUI:    • File: Từ menu này ta có thể Open và Save mô hình dưới dạng M‐file. Ta  có thể in đồ thị và thoát khỏi GUI.     • Edit:Từ menu này ta có thể cắt, dán, xoá, copy các đối tượng và chọn tất  cả các đối tượng.    • Options: Menu này chứa các tuỳ chọn cũng như các thay đổi trên trục x.     • Draw: Từ menu này ta có thể chọn các đối tương cơ bản để vẽ.    • Boundary: Menu này dùng để nhập các điều kiện biên cho các vùng.    • PDE: Menu này cung cấp các hộp thoại để mô tả PDE và xuất các hệ số  của nó vào vùng làm việc.     • Mesh: Ta dùng menu này để tạo ra lưới và thay đổi các tam giác.    • Solve: Ta chọn menu này để giải các phương trình PDE.    • Plot: Từ menu này ta vẽ nghiệm.  154   • Window: Chọn cửa sổ làm việc    • Help: Hiển thị cửa sổ trợ giúp.    c. Thanh công cụ:  Thanh công cụ có dạng như hình vẽ:  d. Các GUI mode: Quá trình giải PDE gồm các bước sau:    • xác định vùng 2‐D    • xác định điều kiện biên    • xác định PDE    • tạo lưới tam giác    • giải PDE    • vẽ nghiệm và các thuộc tính vật lí  pdetool GUI được thiết kế theo cách tương tự. Ta  làm việc trong 6 kiểu khác  nhau, mỗi kiểu tương ứng với một bước trong quá trình giải PDE.    • Trong Draw mode ta tạo vùng 2‐D.    • Trong Boundary mode ta có thể mô tả điều kiện biên    • Trong PDE mode ta nhập các hệ số của phương trình vi phân.    • Trong Mesh mode ta khởi tạo lưới.    • Trong Solve mode ta giải phương trình.    • Trong Plot mode ta ve nghiệm và các thuộc tính vật lí khác    e. Mô hình CGS và Set Formular: PDE Toolbox dùng mẫu mô hình CSG  để mô hình hoá.Ta có thể vẽ các đối tượng chồng nhau. Có 4 loại đối tượng:    • Circle    • Polygon    • Rectangle    • Ellipse  Mỗi đối  tượng có một  tên duy nhất  trong GUI. Tên mặc định của đối  tượng  circle là C, đối tượng đa giác là P, đối tượng hình chữ nhật là R, đối tượng hình  vuông  SQ và  đối  tượng  ellip  là E. Tên  được hiển  thị  trên  đối  tượng. Trong  Draw mode ta có thể thay đổi tên và hình dạng đối tượng bằng cách nhấp đúp  lên nó. Khi đó một hộp thoại được mở ra và ta thay đổi thông số. Các toán tử +  , =, * được dùng để kết hợp các vùng. Toán tử + được dùng để tạo tổ hợp, toán  tử ‐ dùng tạo vùng có phần rỗng và toán tử * dùng để tạo ra vùng có giao nhau  155   f. Tạo các góc tròn: Một ví dụ về cách dùng các công thức là tạo ra một  hình chữ nhật có góc  tròn. Ta khởi động GUI và chọn Grid và Snap to grid.  Sau  đó  thay  đổi Grid Spacing  trên  trục  x  là  [‐1.5:0.1:1.5] và  trên  trục y  là  [‐ 1:0.1:1]. Chọn Rectangle/square  từ menu Draw  để vẽ hình  chữ nhật bắt  đầu  tại(‐1,0.5) rộng 2 và cao 1. Để tạo góc tròn ta thêm các hình tròn ở các góc. Mỗi  hình  tròn  có  bán  kính  0.2  và  tâm  cách  góc  đoạn  0.2. Tiếp  đến  ta  vẽ  4 hình  vuông mỗi hình có cạnh 0.2 ở 4 góc. Bây giờ ta soạn công thức cho vùng:    R1‐(SQ1+SQ2+SQ3+SQ4)+C1+C2+C3+C4     và ghi vào phần trên của GUI.  3.  Sử  dụng  pdrtool:  Để  bắt  đầu  ta  sử  dụng  graphic  user  interface  (GUI)  pdetool để giải từng bước PDE. Ta sẽ giải phương trình Poisson ‐∆u = f. Miền  2‐D mà ta giải bài toán sẽ rất phức tạp. Điều kiện biên dùng kiểu Neumann và  Dirichlet.    Trước hết  ta gọi MATLAB. Để gọi GUI  ta nhập  lệnh pdetool  từ cửa sổ  MATLAB. Để dễ vẽ hình ta chọn Grid và Snap từ menu Option.    Bước đầu tiên để giải bài toán  là vẽ vùng 2‐D cần giải. GUI cung cấp 4  loại  đối  tượng  cơ bản:  đa giác, hình  chữ nhật, và hình  ellip. Các  đối  tượng  được  dùng  để  tạo  ra mô  hình Constructive  Solid Geometry(CSG). Mỗi  đối  tượng được gán cho một nhãn và dùng các nhãn này ta tạo ra được một hình  phức tạp là tổ hợp của các hình đơn giản trên.    Để chọn một đối  tượng,  ta nhấp chuột  lên  icon của nó hay chọn nó  từ  menu Draw. Icon hình có dấu + dùng để vẽ hình từ tâm. Nếu không có dấu +  hình được vẽ từ góc. Khi muốn vẽ hình ta bấm vào icon và đặt con trỏ chuột  lên hình  rồi kéo và  thả. Muốn  tạo hình vuông hay  tròn  ta dùng chuột phải.  Đầu  tiên  ta vẽ một hình chữ nhật và đặt  tên  là R1. Muốn di chuyển hình  ta  bấm chuột vào hình và kéo đến vị trí mong muốn rồi thả. Muốn thay đổi kích  thước hình bấm đúp chuột vào nó để kích hoạt hộp thoại rồi nhập kích thước  mong muốn. Từ hộp thoại ta có thể thay đổi tên của nhãn. Nếu ta muốn xoá  hình, chọn nó rồi nhấn Del hay chọn Clear từ menu Edit. Khi được chọn biên  đối  tượng  có màu  đen. Muốn  chọn nhiều  đối  tượng  cùng  lúc  ta nhấn  thêm  phím  Shifft. Khi muốn  chọn  tất  cả  ta dùng  Select All  trong menu Edit(hay  dùng Ctrl + A).    Tiếp theo ta vẽ một hình tròn bằng nhấp chuột vào icon hình ellip có dấu  +  rồi kéo và  thả(dùng chuột phải). CSG  ta  tạo  là hình chữ nhật R1 và E1 có  được bằng cách dùng công thức R1 + C1 ở ô Set formula trên cửa sổ.  156   Cuối cùng ta thêm hai đối tượng là hình chữ nhật R2 và hình tròn E2. Để  tạo mô hình ta nhập công thức (R1 + E1 + R2) ‐ E2. Ta có thể lưu CSG như là M‐ file bằng cách dùng Save as từ menu File.    Sau khi vẽ xong hình ta nhập điều kiện biên cho các biên ngoài cùng. Để  nhập  điều kiện biên  ta bấm chuột vào  icon ∂Ω hay chọn Boundary Mode  từ  menu Boundary. Ta  có  thể bỏ  các biên  của vùng  con và xác  định  điều kiện  biên. Các đoạn có cạnh xám là biên của vùng con là các vùng chồng nhau của  các  đối  tượng  ban  đầu.  Từ menu  Boundary  chọn  Remove  All  Subdomain  Borders để bỏ tất cả các biên con. Các biên có màu và mũi tên. Màu phản ánh  kiểu  điều kiện biên và mũi  tên hướng về  cuối  của  đoạn biên. Thông  tin về  hướng  được dùng khi khi  điều kiện biên  được  thông  số hoá dọc  theo biên.  Điều kiện biên có thể là hàm của x, y hay là hằng. Mặc định trên biên có điều  kiện biên Dirichlet u = 0. Điều kiện biên Dirichlet được thể hiện bằng màu đỏ.  Điều  kiện  biên  có  thể  là Neumann  tổng  quát(màu  xanh)  hay  hỗn  hợp(màu  green). Ta chọn điều kiện biên mong muốn bằng cách nhấp chuột vào đoạn  biên hay Shift‐click nếu muốn  chọn nhiều  đoạn biên hay vào menu Edit và  chọn Select All   và các đoạn biên được chọn có màu đen. Khi này hộp  thoại  điều kiện biên hiện ra và ta nhập điều kiện biên mong muốn. Trong ví dụ này  ta  chọn  điều kiện biên Neumann  5 n u −=∂ ∂ , nghĩa  là  độ dốc  của nghiệm  theo  phương pháp tuyến của đoạn biên này là ‐5. Bấm đúp chuột vào các đoạn biên  và trong ô Boundary Condition chọn Neumann. Sau đó nhập giá trị ‐5 vào ô g  rồi chọn OK. Giá trị vẫn để mặc định là 0.    Sau khi mô tả điều kiện biên ta cần nhập các hệ số của PDE. Ta kích hoạt  hộp thoại PDE Specification bằng cách nhấp đúp chuột vào icon PDE hay chọn  PDE Specification trong menu PDE. Ta cũng có thể bấm đúp vào từng vùng  con để nhập các hệ số PDE cho từng vùng con đó. Trong hộp thoại này ta còn  phải chọn kiểu phương trình(elliptic, parabolic, hyperbolic hay eigenmode) và  xác định kiểu ứng dụng theo kiểu PDE. Bài toán ta đang xét là bài toán elliptic  nên ta đánh dấu vào ô tương ứng. Ta nhập các giá trị c = 1.9, a = 0.0 và f = 10  cho bài toán này.    Tiếp  theo  ta  tạo  lưới  tam giác bằng cách bấm chuột vào  icon hình  tam  giác hay chọn Mesh | Initialize Mesh. Nếu muốn kết quả chính xác hơn ta tinh  chỉnh  lưới  bằng  cách nhấp  vào  icon  có  4  tam  giác hay  chọn Mesh  | Refine  Mesh.   dụng Mesh | Jiggle Mesh ta có thể tăng chất lượng của lưới. Ta có thể  huỷ các thay đổi về lưới bằng cách chọn Mesh | Undo.    Để giải phương trình ta bầm vào icon = hay chọn Solve |  Solve PDE. Kết  157 quả được vẽ ra. Mặc định, hình vẽ dùng màu và thanh màu để chỉ giá trị. Nếu  muốn nghiệm được xuất dưới dạng vec  tơ cho vùng  làm việc của MATLAB.  Có nhiều kiểu vẽ cho phép ta quan sát nghiệm. Muốn vậy ta vào menu Plot và  chọn kiểu hiển thị nghiệm thích hợp.  4. Dùng các hàm dòng  lệnh: Mặc dù pdetool Gui cung cấp một môi  trường  làm việc  thuận  tiện nhưng vẫn  có những  trường hợp  ta phải dùng  các hàm  dòng lệnh. Đó là:    • hình dạng hình học của vùng được khảo sát khác đường  thẳng, cung  tròn, cung ellip.    • điều kiện biên không tiêu chuẩn    • các hệ số của PDE và của điều kiện biên phức tạp    • có trên hai biến phụ thuộc    • nghiệm không bị hạn chế    • nghiệm khó biểu diễn.    Quá trình xác  lập bài toán và giải nó được phản ánh trong thiết kế của  GUI. Một số cấu trúc dữ liệu xác định các khía cạnh khác nhau của bài toán và  các giai đoạn xử lí khác nhau tạo ra các cấu trúc dữ liệu mới.    a. Mô  hình  CSG: Mô  hình CSG  được mô  tả  bằng ma  trận Geometry  Description,  set  formular và ma  trận Name Space. Các  cấu  trúc dữ  liệu này  được mô tả trong hàm decsg.    b. Phân nhỏ  các hình: Hình  được phân nhỏ được mô  tả bằng ma  trận  Decomposed Geometry hay bằng ma trận Geometry M‐file. Khi này hình dạng  được mô tả như là một bộ các vùng cạnh nhau cực tiểu bao bởi các đoạn biên.  Một ma  trận Decomposed Geometry  có  thể  được  tạo  từ mô hình CSG bằng  dùng  hàm  decsg.  Nó  cũng  có  thể  xuất  từ  GUI  bằng  cách  chọn  Export  Decomposed Geometry  trong menu  Boundary. Một Geometry M‐file  tương  đương với một ma trận Decomposed Geometry đã cho có thể được tạo ra bằng  cách dùng hàm wgeom và xem bằng hàm pdegplot. Cấu trúc dữ  liệu của ma  trận  Decomposed  Geometry  và  M‐file  Geometry  được  mô  tả  trong  hàm  pdegeom    c.  Điều kiện  biên:  Điều kiện biên  được mô  tả bằng ma  trận Boundary  Condition hay M‐file Boundary. Các điều kiện biên được cho như là hàm trên  các  biên.  Ma  trận  điều  kiện  biên  có  thể  xuất  từ  GUI  bằng  chọn  Export  Decomposed Geometry, Boundary Cond’s. . .trong menu Boundary. Một M‐file  chứa điều kiện biên tương đương với ma trận điều kiện biên có thể tạo được  158 từ hàm wbound. Cấu trúc dữ liệu của ma trận điều kiện biên mô tả trong hàm  assemb và pdebound.    d. Hệ số của phương trình: PDE được mô tả bằng ma trận Coefficient hay  M‐file Coffficient đối với mỗi hệ số c, a, f và d. Các hệ số là hàm trên các vùng  con. Các hệ  số có  thể xuất  từ GUI bằng chọn Export PDE Coefficients.  .  .  từ  menu PDE. Cấu trúc dữ liệu của nó được mô tả trong hàm assempde.    e. Lưới: Một  lưới  tam giác  được mô  tả bằng dữ  liệu  lưới gồm ma  trận  Points, ma trận Triangle. Trong lưới, vùng nhỏ nhất được tam giác hoá thành  các vùng con, các đoạn biên. Số liệu lưới được tạo từ hình dạnh hình học bằng  hàm  initmesh  và  thay  đổi  bằng  hàm  refinemesh  và  jigglemesh.  Hàm  adaptmesh tạo số liệu lưới. Lưới được vẽ bằng hàm pdemesh.    f. Nghiệm: Nghiệm của bài  toán PDE  được biểu diễn bằng vec  tơ. Mỗi  nghiệm là giá trị tại một điểm lưới của mỗi biến phụ thuộc. Các véc tơ nghiệm  được tạo ra bằng hàm assempde, pdenonlin, adaptmesh, parabolic, hyperbolic,  và pdeeig.    g. Quá trình và biểu diễn: Cho cặp nghiệm‐lưới  ta có các công cụ khác  nhau để xem các nghiệm. pdeintrp và pdertni có thể dùng để nội suy giữa các  hàm.  tri2grid dùng  để nội  suy hàm  từ  lưới  tam giác  tới  lưới hình  chữ nhật.  pdegrad  và  pdecgrad  tính  gradient  của  nghiệm.  pdeplot  để  vẽ  nghiệm  và  pdecont, pdesurf thể hiện nghiệm dạng contour và mặt.  §1. MỘT SỐ BÀI TOÁN  1. Các ví dụ về bài toán elliptic:  a. Phương trình Poisson trên hình tròn đơn vị:  Ví dụ đầu tiên về bài toán elliptic là giải phương trình Poisson xác định  trên hìng tròn đơn vị. Bài toán được mô tả bằng phương trình:    ‐∆u = 1  trong miền Ω, u = 0  trên  ∂Ω. Trong  đó Ω  là hình  tròn  đơn vị.  Trong trường hợp này nghiệm chính xác là:  4 yx1)y,x(u 22 −−=   Như vậy ta có thể đánh giá được sai số theo các phương pháp chia lưới  khác nhau.    Ta thực hiện giải bài toán theo các bước sau:  • nhập  lệnh pdetool  từ  cửa  sổ  lệnh  của MATLAB và  con  trỏ  chuột  trở  thành dấu +.  • mở menu Options, đánh dấu mục Grid và Snap. Vẽ hình  tròn đơn vị  bằng bấm vào  icon hình  ellip  trên  thanh  công  cụ và kéo  rồi  thả  chuột. Nếu  159 hình tròn chưa thỏa mãn yêu cầu thì bấm đúp vào nó để kích hoạt hộp thoại  và nhập lại các thông số mô tả chính xác tâm và bán kính của hình tròn.  • nhập kiểu biên bằng cách bấm vào menu Boundary và chọn Boundary  Mode hay bấm đúp vào nút ∂Ω. Khi này biên của vùng ∂Ω được vẽ và biên  ngoài  được gán  điều kiện biên mặc  định(điều kiện biên Dirichlet u = 0  trên  biên). Trong  trường hợp này đây  là điều kiện biên mong đợi. Nếu điều kiện  biên khác đi  ta bấm đúp vào biên để hiển  thị hộp  thoại và sửa  lại điều kiện  biên cho phù hợp và hiển thị nó.  • để xác định phương  trình vi phân đạo hàm riêng nhấp chuột vào nút  PDE  trên  thanh  công  cụ(có  thể  chọn menu PDE | PDE Speficification). Khi  này một hộp thoại được mở ra và ta có thể xác định các hệ số c , a và f. Trong  trường hợp này c = 1 , f = 1 và a = 0.  • nhấp chuột vào nút Mesh(nút hình tam giác) hay chọn Mesh | Initialize  Mesh . Khi này một lưới hình tam giác được khởi gán và hiển thị.  • nhấp nút Refine(nút tam giác có nhiều tam giác con) hay chọn Mesh |  Refine Mesh. Như vậy lưới mịn hơn được khởi gán và hiển thị.   •  để giải phương  trình nhấp nút  = hay  chọn menu Solve  | Solve PDE  (Ctrl‐E). Dùng hộp thoại Plot Selection trong menu Plot | Parameters để chọn  các hiển thị nghiệm khác nhau.  •  để  so  sánh  nghiệm  số  và  nghiệm  chính  xác,  chọn  menu  Plot  |  Parameters  để  hiển  thị  hộp  thoại  Plot  Selection.  Trong mục  Property  của  Color  chọn user  enrty. Sau  đó nhập biểu  thức MATLAB u‐(1‐x.^2‐y.^)/4 vào  trường soạn thảo user etry  và nhấp nút lệnh Plot. Ta nhận được hình vẽ sai số  tuyệt  đối  của nghiệm.  Để  xuất kết quả vào vùng  làm việc  của MATLAB  ta  dùng Mesh | Export Mesh và Solve | Export Solution. Để tinh chỉnh kết quả  nhấp nút Refine và  =  nhiều lần. Kết quả lưu trong ct8_2.m.  b. Bài toán phản xạ sóng:     Bài  toán này dùng để  tính phản xạ sóng  từ một vật  thể bị rọi sóng  tới.  Với bài toán này ta khảo sát một màng nằm ngang rộng vô hạn chịu các dịch  chuyển nhỏ theo chiều thẳng đứng u. Màng cố định ở biên. Ta coi môi trường  đồng nhất và tốc độ sóng là hằng c. Khi sóng là điều hoà theo t ta có thể tính  trường bằng cách giải một bài toán xác lập duy nhất.   Với  tie)y,x(u)t,y,x(u ω−= phương trình sóng có dạng:  0uc t u 2 2 =∆−∂ ∂   trở thành:  0ucu2 =∆−ω−   160 hay phương trình Helmholz:  0uku 2 =−∆−   Trong đó k  là số sóng,  liên quan đến  tần số góc ω,  tần số  f và độ dài sóng λ  bằng:  λ π=π=ω= 2 c f2 c k   Bây giờ  ta phải mô  tả  điều kiện biên. Coi  sóng  tới  là một  sóng phẳng  theo  hướng:  ))asin(),a(cos(a =r :  ti)tx.ak(i e)y,x(ve)t,y,x(v ω−ω− == rr   Trong đó :   )y,x(ve x.aik =rr u là tổng của v và sóng phản xạ r:  u = v + r  Điều kiện biên đối với biên đối tượng là u = 0, nghĩa là r = ‐ v(x,y)(với sóng âm,  v là nhiễu loạn áp suất do đó điều kiện biên thích hợp phải là ∂u/∂n=0). Sóng  phản xạ đi  ra khỏi  đối  tượng. Điều kiện biên bên ngoài phải  chọn  sao  sóng  không bị phản xạ. Điều kiện như vậy thường gọi là không phản xạ và ta dùng  điều kiện bức xạ Sommerfeld. Khi đạt đến vô cùng, r thoả mãn xấp xỉ phương  trình sóng một chiều:  0rc t r =∇ξ+∂ ∂ r   cho phép sóng chỉ chuyển động theo hướng x(x là khoảng cách bức xạ từ vật  thể). Với nghiệm điều hoà theo t,đ iều này trở thành điều kiện biên Neumann  tổng quát hoá:  ikrr =∇ξr   Vì lí do đơn giản hoá, coi pháp tuyến bên ngoài của vùng khảo sát xấp xỉ  hướng bên ngoài ξ.    Bây giờ ta dùng pdetool để giải bài toán. Sử dụng mode Generic Scalar  bằng cách vào menu Option|Application và đánh dấu vào Generic Scalar , bắt  đầu bằng cách vẽ vùng 2‐D của bài toán.   Đối tượng bị chiếu sáng là một hình vuông R1 với cạnh 0.1 đơn vị và tâm  ở [0.8 0.5] và quay 450 (vào Draw|Rotate ) và coi vùng tính là C1 là hình tròn  có bán kính 0.45 và tâm cùng một chỗ với hình vuông. Mô hình CGS là C1‐R1.   Với biên ngoài, ta dùng điều kiện biên Neumann với q = ‐jk. Hệ số sóng  k = 60 tương ứng với bước sóng 0.1 đơn vị. Như vậy ta cần nhập giá trị q = ‐60j  và g = 0 bằng cách vào menu Boundary| Specify Boundary Condition...   Đối với biên hình vuông ta dùng điều kiện biên Dirichlet:  161 x.aike)y,x(vr rr−=−=    Trong bài  toán này,  sóng  tới phải  đi qua  đoạn  ‐x. Như vậy  điều kiện  biên có dạng đơn giản là:  ikxe)y,x(vr −=−=   Vào menu Boundary| Specify Boundary Condition... và nhập điều kiện  biên Dirichlet h = 1, r =  ‐exp(‐i*60*x). Vào menu PDE|PDE Specification... và  nhập các hệ số của phương trình là c = 1, a = ‐3600 và f = 0. Tiếp theo bấm vào  nút công cụ chia  lưới để chia  lưới cho bài toán. Ta  lưu tất cả kết quả vào file  ct8_4.m.  Bây giờ ta có thể giải bài toán và có nghiệm phức.   Để thấy được sự  lan truyền sóng phản xạ, sau khi giải bài toán ta chọn  Draw|Export Geometry Description, Set Formular, Label...; Boundary|Export  Decomposed  Gemetry,  Boundary  Condʹs...;  PDE|Export  Coeficients...;  Solve|Export  Solution...    và  chạy  các  lệnh  MATLAB  sau(lưu  trong  file  ct8_5.m):  m = 10; % so khung hinh  h = newplot;   hf = get(h,ʹParentʹ);   set(hf,ʹRendererʹ,ʹzbufferʹ)  axis tight;  set(gca,ʹDataAspectRatioʹ,[1 1 1]);   axis off;  M = moviein(m,hf);  maxu = max(abs(u));  for j = 1:m    uu = real(exp(‐j*2*pi/m*sqrt(‐1))*u);    fprintf(ʹ%d ʹ,j);    pdeplot(p,e,t,ʹxydataʹ,uu,ʹcolorbarʹ,ʹoffʹ,ʹmeshʹ,ʹoffʹ);    caxis([‐maxu maxu]);    axis tight, set(gca,ʹDataAspectRatioʹ,[1 1 1]);     axis off;    M(:,j) = getframe(hf);    if j = = m      fprintf(ʹdone\nʹ);    end  end  movie(hf,M,50);  162 c. Bài toán mặt cực tiểu: Trong nhiều bài toán hệ số c, a và f không chỉ  phụ thuộc vào x và y mà còn vào u. Ta khảo sát phương trình:    0u |u|1 1. 2 =⎟⎟⎠ ⎞ ⎜⎜⎝ ⎛ ∇ ∇+ ∇−   trong hình tròn đơn vị  ( ){ }1yx|y,x 22 ≤+=Ω  với u = x2 trên ∂Ω. Đây là bài toán  phi  tuyến  tính và không  thể giải với  trình giải solver. Do đó  trình pdenonlin  được dùng.  Vùng tìm nghiệm là hình tròn đơn vị. Vẽ hình tròn này và xác định điều  kiện biên bằng cách vào menu Boundary|Boundary Mode. Dùng Select All của  menu Edit để chọn tất cả các biên. Sau đó nhấp đúp vào biên để mở hộp thoại  Boundary Condition. Điều kiện biên u = x^2 được nhập vào bằng cách đánh  x.^2 vào mục  của  r. Tiếp  theo mở hộp  thoại PDE Specification  để xác  định  PDE. Đây là phương trình elliptic với  2|u|1 1c ∇+= , a = 0 và f = 0. Hệ số c được  nhập vào bằng cách đánh c =1./sqrt(1+ux.^2+uy.^2). Khởi gán lưới và làm tinh  lại một lần. Trước khi giải phương trình chọn Parameters . . . từ menu Solve và  dùng tuỳ chọn Use nonlinear và đặt sai số 0.001. Nhấn nút = để giải phương  trình. Dùng hộp thoại Plot Selection để vẽ nghiệm dạng 3‐D.  d. Chia vùng: PDE Toolbox được thiết kế để làm việc với sự phân vùng  cấp 1. Nếu vùng Ω phức tạp, thường nên phân nó thành các vùng có cấu trúc  đơn  giản  hơn  đơn  giản. Các  cấu  trúc  như  vậy  thường  được  thực  hiện  bởi  pdetool.  Giả sử Ω là một tập hợp c
Tài liệu liên quan