Chương 8: Phương trình vi phân đạo hàm riêng

14 884 13
Chương 8: Phương trình vi phân đạo hàm riêng

Đ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 8: PH NG TRÌNH VI PHÂN Đ O HÀM RIÊNG §1 M Đ U Khái ni m chung: Partial Differential Equation (PDE) Toolbox cung c p m t môi tr ng m nh m m m i đ nghiên gi i ph ng trình vi phân đ o hàm riêng m t ph ng D ng ph ng trình c b n c a PDE Toolbox là: ∇.(c∇u) + au = f 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 PDE cung c p công c đ : • xác đ nh toán PDE, nghĩa xác đ nh vùng 2D, u ki n biên h s PDE • gi i b ng ph ng pháp s toán, nghĩa t o l i khơng có c u trúc, r i r c hố ph ng trình tìm nghi m x p x • hi n th k t qu 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 khiá c nh c a trình tìm nghi m c a PDE Đ kích ho t ta nh p l nh pdetool t i c a s l nh c a MATLAB Trên c a s GUI có menu icon Ta dùng menu hay icon đ th c hi n nhi m v nh t đ nh b Các menu: Có m t s menu sau c a s GUI: • File: T menu ta có th Open Save mơ hình d i d ng M file Ta có th in đ th kh i GUI • Edit:T menu ta có th c t, dán, xoá, copy đ i t ng ch n t t c đ i t ng • Options: Menu ch a tu ch n nh thay đ i tr c x • Draw: T menu ta có th ch n đ i t ng c b n đ v • Boundary: Menu dùng đ nh p u ki n biên cho vùng • PDE: Menu cung c p h p tho i đ mô t PDE xu t h s c a vào vùng làm vi c • Mesh: Ta dùng menu đ t o l i thay đ i tam giác • Solve: Ta ch n menu đ gi i ph ng trình PDE • Plot: T menu 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 b c sau: • xác đ nh vùng D • xác đ nh u ki n biên • xác đ nh PDE • t o l i tam giác • gi i PDE • v nghi m thu c tính v t lí pdetool GUI đ c thi t k theo cách t ng t Ta làm vi c ki u khác nhau, m i ki u t ng ng v i m t b c q trình gi i PDE • Trong Draw mode ta t o vùng D • Trong Boundary mode ta có th mơ t u ki n biên • Trong PDE mode ta nh p 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 thu c tính v t lí khác e Mơ hình CGS Set Formular: PDE Toolbox dùng m u mơ hình CSG đ mơ hình hố.Ta có th v đ i t ng ch ng Có lo i đ i t ng: • Circle • Polygon • Rectangle • Ellipse M i đ i t ng có m t tên nh t GUI Tên m c đ nh c a đ i t ng circle C, đ i t ng đa giác P, đ i t ng hình ch nh t R, đ i t ng hình vng SQ đ i t ng ellip E Tên đ c hi n th đ i t ng Trong Draw mode ta có th thay đ i tên hình d ng đ i t ng b ng cách nh p đúp lên Khi m t h p tho i đ c m ta thay đ i thông s Các toán t + , =, * đ c dùng đ k t h p vùng Toán t + đ c dùng đ t o t h p, tốn t dùng t o vùng có ph n r ng toán t * dùng đ t o vùng có giao 155 f T o góc trịn: M t ví d v cách dùng cơng th c t o m t hình ch nh t có góc trịn Ta kh i đ ng GUI ch n Grid Snap to grid Sau thay đ i Grid Spacing tr c x [ 1.5:0.1:1.5] tr c y [ 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 cao Đ t o góc trịn ta thêm hình trịn góc M i hình trịn có bán kính 0.2 tâm cách góc đo n 0.2 Ti p đ n ta v hình vng m i hình có c nh 0.2 góc Bây gi ta so n cơng th c cho vùng: R1 (SQ1+SQ2+SQ3+SQ4)+C1+C2+C3+C4 ghi vào ph n c a GUI 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 D mà ta gi i toán s r t ph c t p Đi u ki n biên dùng ki u Neumann 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 Snap t menu Option B c đ u tiên đ gi i toán v vùng D c n gi i GUI cung c p lo i đ i t ng c b n: đa giác, hình ch nh t, hình ellip Các đ i t ng đ c dùng đ t o mơ hình Constructive Solid Geometry(CSG) M i đ i t ng đ c gán cho m t nhãn dùng nhãn ta t o đ c m t hình ph c t p t h p c a hình đ n gi n Đ ch n m t đ i t ng, ta nh p chu t lên icon c a hay ch 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 đ t tr chu t lên hình r i kéo th Mu n t o hình vng hay tròn ta dùng chu t ph i Đ u tiên ta v m t hình ch nh t đ t tên R1 Mu n di chuy n hình ta b m chu t vào hình 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 đ 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 xố hình, ch 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 lúc ta nh n thêm phím Shifft Khi mu n ch n t t c ta dùng Select All 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 th (dùng chu t ph i) CSG ta t o hình ch nh t R1 E1 có đ c b ng cách dùng công th c R1 + C1 ô Set formula c a s 156 Cu i ta thêm hai đ i t ng hình ch nh t R2 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 M file b ng cách dùng Save as t menu File Sau v xong hình ta nh p u ki n biên cho biên Đ nh p 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 biên c a vùng xác đ nh u ki n biên Các đo n có c nh xám biên c a vùng vùng ch ng c a đ i t ng ban đ u T menu Boundary ch n Remove All Subdomain Borders đ b t t c biên Các biên có màu mũi tên Màu ph n ánh ki u u ki n biên 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 u ki n biên đ c thông s hoá d c theo biên Đi u ki n biên có th hàm c a x, y h ng M c đ nh biên có u ki n biên Dirichlet u = Đi u ki n biên Dirichlet đ c th hi n b ng màu đ Đi u ki n biên có th Neumann t ng quát(màu xanh) hay h n h p(màu green) Ta ch n 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 ch n Select All đo n biên đ c ch n có màu đen Khi h p tho i u ki n biên hi n ta nh p u ki n biên mong mu n Trong ví d ∂u ta ch n u ki n biên Neumann = −5 , nghĩa đ d c c a nghi m theo ∂n ph ng pháp n c a đo n biên B m đúp chu t vào đo n biên ô Boundary Condition ch n Neumann Sau nh p giá tr vào ô g r i ch n OK Giá tr v n đ m c đ nh Sau mô t u ki n biên ta c n nh p 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 menu PDE Ta có th b m đúp vào t ng vùng đ nh p h s PDE cho t ng vùng Trong h p tho i ta ph i ch n ki u ph ng trình(elliptic, parabolic, hyperbolic hay eigenmode) xác đ nh ki u ng d ng theo ki u PDE Bài toán ta xét toán elliptic nên ta đánh d u vào ô t ng ng Ta nh p giá tr c = 1.9, a = 0.0 f = 10 cho toán 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 xác h n ta tinh ch nh l i b ng cách nh p vào icon có 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 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 M c đ nh, hình v dùng màu 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 ch n ki u hi n th nghi m thích h p Dùng 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 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 • u ki n biên khơng tiêu chu n • h s c a PDE c a u ki n biên ph c t p • có hai bi n ph thu c • nghi m khơng b h n ch • nghi m khó bi u di n Q trình xác l p tốn gi i đ c ph n ánh thi t k c a GUI M t s c u trúc d li u xác đ nh khía c nh khác c a tốn giai đo n x lí khác t o 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 ma tr n Name Space Các c u trúc d li u đ c mơ t hàm decsg b Phân nh 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 hình d ng đ c mô t nh m t b vùng c nh c c ti u bao b i đ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ó th xu t t GUI b ng cách ch n Export Decomposed Geometry 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 b ng cách dùng hàm wgeom xem b ng hàm pdegplot C u trúc d li u c a ma tr n Decomposed Geometry M file Geometry đ c mô t 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 u ki n biên đ c cho nh hàm biên Ma tr n 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 u ki n biên t ng đ ng v i ma tr n 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 u ki n biên mô t hàm assemb 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 d Các h s hàm vùng 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 đ c mô t 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 vùng con, đ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 thay đ i b ng hàm refinemesh 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 toán PDE đ c bi u di n b ng vec t M i nghi m giá tr t i m t m l i c a m i bi n ph thu c Các véc t nghi m đ c t o b ng hàm assempde, pdenonlin, adaptmesh, parabolic, hyperbolic, pdeeig g Quá trình bi u di n: Cho c p nghi m l i ta có cơng c khác đ xem nghi m pdeintrp pdertni có th dùng đ n i suy gi a 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 pdecgrad tính gradient c a nghi m pdeplot đ v nghi m pdecont, pdesurf th hi n nghi m d ng contour m t §1 M T S BÀI TỐN Các ví d v tốn elliptic: a Ph ng trình Poisson hình trịn đ n v : Ví d đ u tiên v tốn elliptic gi i ph ng trình Poisson xác đ nh hìng trịn đ n v Bài tốn đ c mơ t b ng ph ng trình: ∆u = mi n Ω, u = ∂Ω Trong Ω hình trịn đ n v Trong tr ng h p nghi m xác là: − x2 − y2 u( x , y) = Nh v y ta có th đánh giá đ c sai s theo ph ng pháp chia l i khác Ta th c hi n gi i toán theo b c sau: • nh p l nh pdetool t c a s l nh c a MATLAB tr chu t tr thành d u + • m menu Options, đánh d u m c Grid Snap V hình trịn đ n v b ng b m vào icon hình ellip cơng c kéo r i th chu t N u 159 hình trịn ch a th a mãn yêu c u b m đúp vào đ kích ho t h p tho i nh p l i thông s mô t xác tâm 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 ch n Boundary Mode hay b m đúp vào nút Khi biên c a vùng ∂Ω đ c v biên đ c gán u ki n biên m c đ nh(đi u ki n biên Dirichlet u = biên) Trong tr ng h p u ki n biên mong đ i N u u ki n biên khác ta b m đúp vào biên đ hi n th h p tho i s a l i u ki n biên cho phù h p hi n th • đ xác đ nh ph ng trình vi phân đ o hàm riêng nh p chu t vào nút PDE cơng c (có th ch n menu PDE | PDE Speficification) Khi m t h p tho i đ c m ta có th xác đ nh h s c , a f Trong tr ng h p c = , f = a = • nh p chu t vào nút Mesh(nút hình tam giác) hay ch n Mesh | Initialize Mesh Khi m t l i hình tam giác đ c kh i gán 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 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 menu Plot | Parameters đ ch n hi n th nghi m khác • đ so sánh nghi m s nghi m 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 nh p nút l nh Plot Ta nh n đ c hình v sai s 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 Solve | Export Solution Đ tinh ch nh k t qu nh p nút Refine = nhi u l n K t qu l u ct8_2.m b Bài tốn ph n x sóng: Bài tốn dùng đ tính ph n x sóng t m t v t th b r i sóng t i V i toán ta kh o sát m t màng n m ngang r ng vô h n ch u 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 t c đ sóng h ng c Khi sóng u hồ theo t ta có th tính tr ng b ng cách gi i m t toán xác l p nh t V i u( x , y , t ) = u( x , y)e − iωt ph ng trình sóng có d ng: ∂2u − c∆u = ∂t tr thành: − ω2 u − c∆u = 160 hay ph ng trình Helmholz: − ∆u − k u = Trong k s sóng, liên quan đ n t n s góc ω, t n s f đ dài sóng λ b ng: ω πf π k= = = c c λ Bây gi ta ph i mô t u ki n biên Coi sóng t i m t sóng ph ng theo h ng: r a = (cos(a), sin(a)) : r r v( x , y , t ) = e i( ka x − ωt ) = v( x , y)e − iωt r r Trong : e ika x = v( x , y) u t ng c a v sóng ph n x r: u=v+r Đi u ki n biên đ i v i biên đ i t ng u = 0, nghĩa r = v(x,y)(v i sóng âm, v nhi u lo n áp su t u ki n biên thích h p ph i ∂u/∂n=0) Sóng ph n x kh i đ i t ng Đi u ki n biên bên ph i ch n sóng khơng b ph n x Đi u ki n nh v y th ng g i không ph n x ta dùng 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: r ∂r + cξ∇r = ∂t cho phép sóng ch chuy n đ ng theo h ng x(x kho ng cách b c x t v t th ) V i nghi m u hoà theo t,đ i u tr thành u ki n biên Neumann t ng qt hố: r ξ∇r = ikr Vì lí đ n gi n hố, coi pháp n bên c a vùng kh o sát x p x h ng bên ξ Bây gi ta dùng pdetool đ gi i toán S d ng mode Generic Scalar b ng cách vào menu Option|Application đánh d u vào Generic Scalar , b t đ u b ng cách v vùng D c a toán Đ i t ng b chi u sáng m t hình vng R1 v i c nh 0.1 đ n v tâm [0.8 0.5] quay 450 (vào Draw|Rotate ) coi vùng tính C1 hình trịn có bán kính 0.45 tâm m t ch v i hình vng Mơ hình CGS C1 R1 V i biên ngoài, ta dùng 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 g = b ng cách vào menu Boundary| Specify Boundary Condition Đ i v i biên hình vng ta dùng u ki n biên Dirichlet: 161 r r r = −v( x , y) = −e ika x Trong tốn này, sóng t i ph i qua đo n x Nh v y u ki n biên có d ng đ n gi n là: r = −v( x , y) = −e ikx Vào menu Boundary| Specify Boundary Condition nh p u ki n biên Dirichlet h = 1, r = exp( i*60*x) Vào menu PDE|PDE Specification nh p h s c a ph ng trình c = 1, a = 3600 f = Ti p theo b m vào nút công c chia l i đ chia l i cho 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 tốn có nghi m ph c Đ th y đ c s lan truy n sóng ph n x , sau gi 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 ch y l nh MATLAB sau(l u 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]); 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]); 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 tốn h s c, a f khơng ch ph thu c vào x y mà vào u Ta kh o sát ph ng trình: ⎛ ⎞ ⎜ − ∇ ∇u ⎟ = ⎜ ⎟ ⎝ 1+ |∇u| ⎠ hình trịn đ n v Ω = {(x , y )|x + y ≤ 1} v i u = x2 ∂Ω Đây tốn phi n tính 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 hình trịn đ n v V hình tròn xác đ nh 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 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 ph ng trình elliptic v i c = , a = f = H s c đ c 1+ |∇u|2 nh p vào b ng cách đánh c =1./sqrt(1+ux.^2+uy.^2) Kh i gán l i làm tinh l i m t l n Tr c gi i ph ng trình ch n Parameters t menu Solve dùng tu ch n Use nonlinear đ 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 D d Chia vùng: PDE Toolbox đ c thi t k đ làm vi c v i s phân vùng c p N u vùng Ω ph c t p, th ng nên phân thành 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 Ω m t t p h p vùng Ω1, Ω2, , Ωn.V y ta có th đánh s l i nút c a l i Ω cho ch s c a nút vùng đ c nhóm l i v i t t c ch s c a nút chung c a hay nhi u vùng nh cũ Do ma tr n K có s h ng khác ch hàng c t ch nút c nh nhau, nên đ c phân thành: ⎛ K ⋅ ⋅ ⋅ B1T ⎞ ⎜ ⎟ T ⎜ K ⋅ ⋅ ⋅ B2 ⎟ K=⎜ M M O M M ⎟ ⎜ ⎟ L K n BTn ⎟ ⎜ ⎜ ⎟ ⎝ B1 B L B n C ⎠ Trong v ph i là: 163 ⎛ f1 ⎞ ⎜ ⎟ ⎜ f2 ⎟ f =⎜ M ⎟ ⎜ ⎟ ⎜ fn ⎟ ⎜f ⎟ ⎝ c⎠ Th ng trình assempde c a PDE Toolbox có th g p ma tr n Kj, Bj, fj C m t cách riêng r nên ta có th ki m sốt đ c vi c l x lí ma tr n H n n a c u trúc c a h th ng n tính Ku = F đ c đ n gi n hoá b ng cách chia K thành t ng ma tr n riêng ph n nh Bây gi ta kh o sát m t màng hình L Ta có th v màng b ng l nh: pdegplot( lshapeg ) Chú ý biên gi a vùng Có vùng mi n xét có d ng L Nh v y công th c ma tr n v i n = t có th dùng Bây gi ta t o l i : [p,e,t] = initmesh( lshapeg ); [p,e,t] = refinemesh( lshapeg ,p,e,t); [p,e,t] = refinemesh( lshapeg ,p,e,t); V i tr ng h p v i n = ta có: ⎛ K1 0 B1T ⎞⎛ u1 ⎞ ⎛ f1 ⎞ ⎜ ⎟⎜ ⎟ ⎜ ⎟ T ⎜ K B2 ⎟⎜ u ⎟ ⎜ f2 ⎟ = ⎜ 0 K BT3 ⎟⎜ u ⎟ ⎜ f3 ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜B B ⎟⎜ c ⎟ ⎜ f ⎟ B C ⎝ ⎠⎝ ⎠ ⎝ c ⎠ Và nghi m xác đ nh b ng cách lo i tr kh i: (C − B1K 1−1B1T − B2 K 2−1BT2 − B3K 3−1BT3 )u c = fc − B1K 1−1f1 − B2 K 2−1f2 − B3K 3−1f3 u1 = K 1−1 (f1 − B1T u c ) L Khi gi i toán, ta dùng ph ng pháp phân tích Choleski Cac l nh MATLAB nh sau( l u ct8_7.m): echo on clc % Gia pt Poisson s % div(grad(u))=1 % tren mang L voi u=0 tren bien % Bai toan duoc gia bang cach chia vung pause % Nhan phim bat ki de tiep tuc 164 clc % Dinh nghia bai toan g = lshapeg ; % mang dang L b = lshapeb ; % tren bien c = 1; a = 0; f = 1; time = []; [p,e,t] = initmesh(g); [p,e,t] = refinemesh(g,p,e,t); [p,e,t] = refinemesh(g,p,e,t); pause % Nhan phim bat ki de tiep tuc clc np = size(p,2); % Truoc het tim cac diem chung cp = pdesdp(p,e,t); % Dinh vi khong gian nc = length(cp); C = zeros(nc,nc); FC = zeros(nc,1); pause % Nhan phim bat ki de tiep tuc % Ket hop vung va cap nhat [i1,c1] = pdesdp(p,e,t,1); ic1 = pdesubix(cp,c1); [K,F] = assempde(b,p,e,t,c,a,f,time,1); K1 = K(i1,i1); d = symmmd(K1); i1 = i1(d); K1 = chol(K1(d,d)); B1 = K(c1,i1); a1 = B1/K1; C(ic1,ic1) = C(ic1,ic1) + K(c1,c1) a1*a1 ; 165 f1 = F(i1); e1 = K1 \f1; FC(ic1) = FC(ic1) + F(c1) a1*e1; pause % Nhan phim bat ki de tiep tuc % Ket hop vung va cap nhat [i2,c2] = pdesdp(p,e,t,2); ic2 = pdesubix(cp,c2); [K,F] = assempde(b,p,e,t,c,a,f,time,2); K2 = K(i2,i2); d = symmmd(K2); i2 = i2(d); K2 = chol(K2(d,d)); B2 = K(c2,i2); a2 = B2/K2; C(ic2,ic2) = C(ic2,ic2) + K(c2,c2) a2*a2 ; f2 = F(i2); e2 = K2 \f2; FC(ic2) = FC(ic2) + F(c2) a2*e2; pause % Nhan phim bat ki de tiep tuc % Ket hop vung va cap nhat [i3,c3] = pdesdp(p,e,t,3); ic3 = pdesubix(cp,c3); [K,F] = assempde(b,p,e,t,c,a,f,time,3); K3 = K(i3,i3); d = symmmd(K3); i3 = i3(d); K3 = chol(K3(d,d)); B3 = K(c3,i3); a3 = B3/K3; C(ic3,ic3) = C(ic3,ic3) + K(c3,c3) a3*a3 ; f3 = F(i3); e3 = K3 \f3; FC(ic3) = FC(ic3 )+ F(c3) a3*e3; pause % Nhan phim bat ki de tiep tuc 166 % Giai u = zeros(np,1); u(cp) = C\FC; % cac diem chung u(i1) = K1\(e1 a1 *u(c1)); % cac diem tren vung u(i2) = K2\(e2 a2 *u(c2)); % cac diem tren vung u(i3) = K3\(e3 a3 *u(c3)); % cac diem tren vung % Ve pdesurf(p,t,u) pause % Nhan phim bat ki de tiep tuc echo off Các l nh gi i b ng GUI l u ct8_8.m Các ví d v tốn parabolic: a Ph ng trình truy n nhi t: kh i kim lo i b đ t nóng: Bài tốn parabolic nói chung tốn v ph ng trình truy n nhi t d ng: ∂u d − ∆u = ∂t Ph ng trình truy n nhi t mô t s lan truy n nhi t v t th Ví d đ u tiên mà ta xem xét m t kim lo i có m t l hình ch nh t b đ t nóng T i đ u bên trái c a nhi t đ 1000C T i đ u bên ph i nhi t lan truy n t vào mơi tr ng khơng khí chung quanh v i t c đ h ng, ví d 10 Các biên khác cách nhi t Do ta có u ki n biên sau: • u = 100 bên trái (đi u ki n biên Dirichlet) ∂u • = −10 bên ph i (đi u ki n biên Neumann) ∂n ∂u = biên khác(đi u ki n biên Neumann) • ∂n V i ph ng trình truy n nhi t ta c n u ki n đ u: nhi t đ c a kim lo i t i t0 Trong toán nhi t đ ban đ u c a 00C Cu i ta xác đ nh th i m b t đ u truy n nhi t t = ta mu n tính tốn q trình truy n nhi t su t 5s Sau kh i đ ng pdetool ch n Generic Scalar ta v mơ hình CSG d dàng Ta v hình ch nh t R1: [ 0.5 0.8 1.6] Ta v ti p hình ch nh t khác (l ) R2: [ 0.05 0.4 0.1 0.8] Mơ hình R1 R2 B m vào nút ∂Ω đ xác đ nh biên đ mô t biên u ki n biên Dùng 167 ... biên đ hi n th h p tho i s a l i u ki n biên cho phù h p hi n th • đ xác đ nh ph ng trình vi phân đ o hàm riêng nh p chu t vào nút PDE cơng c (có th ch n menu PDE | PDE Speficification) Khi m... biên S li u l i đ c t o t hình d nh hình h c b ng hàm initmesh thay đ i b ng hàm refinemesh 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 toán PDE đ c bi... nút = đ gi i ph ng trình Dùng h p tho i Plot Selection đ v nghi m d ng D d Chia vùng: PDE Toolbox đ c thi t k đ làm vi c v i s phân vùng c p N u vùng Ω ph c t p, th ng nên phân thành vùng có

Ngày đăng: 28/10/2013, 06:15

Từ khóa liên quan

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

Tài liệu liên quan