Lời cảm ơnSau một thời gian nghiên cứu nghiêm túc khóa luận tốt nghiệp "Bàitoán truyền nhiệt và phương pháp ứng dụng phần mềm Mathe-matica giải bài toán truyền nhiệt trong không gian một
Trang 1Lời cảm ơn
Sau một thời gian nghiên cứu nghiêm túc khóa luận tốt nghiệp "Bàitoán truyền nhiệt và phương pháp ứng dụng phần mềm Mathe-matica giải bài toán truyền nhiệt trong không gian một chiều"
đã được hoàn thành
Tác giả xin thể hiện lòng biết ơn sâu sắc tới thầy giáo hướng dấn - TS
Lê Hải Trung - đã có nhiều ý kiến đóng góp quý báu và định hướng trongsuốt quá trình thực hiện đề tài Đồng thời tác giả cũng xin gửi lời cảm ơnsâu sắc đến các thầy cô giáo trong khoa Toán, trường Đại học Sư Phạm
- Đại học Đà Nẵng đã động viên và tạo điều kiện để luận văn được hoànthành
Em xin chân thành cảm ơn !
Đà Nẵng, tháng 05 năm 2012
Sinh viên thực hiện
Tạ Thị Kim Biển
Trang 2Mục lục
1.1 Phương trình khuếch tán 51.2 Bài toán đầu cho phương trình truyền nhiệt 71.3 Giá trị max và min nghiệm của phương trình thuần nhất 71.4 Định lý duy nhất nghiệm của bài toán đầu 91.5 Nghiệm tổng quát của bài toán truyền nhiệt thuần nhất 101.6 Tích phân Fourier 121.7 Nghiệm của bài toán đầu cho phương trình truyền nhiệt 141.8 Công thức Poisson 20
2 Phần mềm Mathematica cho bài toán truyền nhiệt 262.1 Sự ra đời và phát triển 262.2 Nghiệm của phương trình truyền nhiệt trong R1 27
Trang 3Lời nói đầu
Bài toán truyền nhiệt là một trong những vấn đề cơ bản và tiêu biểunhất trong " Lý thuyết phương trình đạo hàm riêng", một trong nhữngmôn học khó và thú vị bậc nhất đối với sinh viên ngành Toán Ý nghĩacủa bài toán truyền nhiệt được thể hiện ở việc miêu tả sự tiêu tán nhiệt,cũng như nhiều quá trình tiêu tán khác, như là tiêu tán hạt hoặc là sựlan truyền của thế năng phản ứng trong tế bào thần kinh Nó cũng có thểđược sử dụng để mô phỏng các hiện tượng xảy ra trong tài chính, như làBlack-Scholes hay là các quá trình Ornstein - Uhlenbeck
Do độ khó cũng như tính quan trọng và hấp dẫn của bài toán nên em
đã lựa chọn bài toán truyền nhiệt để nghiên cứu trong bài khóa luận củamình Không dừng ở đây, em muốn tìm hiểu ngoài phương thức giải toánbằng tay vẫn thường làm (đối với một số ví dụ mang tính mẫu mực) thìliệu với công cụ là máy tính (đối với các ví dụ phức tạp, mà việc tínhtoán bằng tay hầu như là không thể ) thì chúng ta giải quyết như thế nào
Có rất nhiều phần mềm hỗ trợ cho việc làm toán như Maple, Mathcad,Matlap và nổi bật là ngôn ngữ Mathematica với ưu điểm vượt trội vềgiao diện thân thiện, khả năng mô tả đồ thị siêu việt và xử lý dữ liệu Do
đó em đã lựa chọn phần mềm Mathematica làm công cụ tìm kiếm lời giảicho bài toán truyền nhiệt Và đó cũng chính là lý do em chọn "Bài toántruyền nhiệt và phương pháp ứng dụng phần mềm Mathematica giải bài
Trang 4toán truyền nhiệt trong không gian một chiều" làm đề tài cho khóa luậncủa mình.
Song hành với ý nghĩa lý thuyết, đề tài còn phát triển được tính ứngdụng của phần mềm Mathematica trong môi trường học tập của sinh viên
Và việc hoàn thiện của đề tài hướng tới việc đáp ứng nhu cầu ngày càngcao trong học tập - thực nghiệm và ứng dụng phần mềm đối với môn Toánnói chung và Lý thuyết phương trình đạo hàm riêng nói riêng
Bố cục của khóa luận bao gồm 2 chương và một phụ lục:
• Chương 1: Bài toán truyền nhiệt
• Chương 2: Ứng dụng phần mềm Mathematica giải bài toán truyềnnhiệt trong không gian một chiều và mô tả đồ thị của các nghiệm nhậnđược của các ví dụ bằng các lệnh thực hiện trong Mathematica
Do thời gian thực hiện khóa luận không nhiều, kiến thức còn hạn chếnên khi làm khóa luận không tránh khỏi những hạn chế và sai sót về nộidung lẫn hình thức Em rất mong nhận được sự góp ý và những ý kiếnphản biện của quý thầy cô và bạn đọc Em xin chân thành cảm ơn!
Đà Nẵng, tháng 05 năm 2012
Sinh viên thực hiện
Tạ Thị Kim Biển
Trang 5và hệ số dẫn nhiệt tại điểm x F (x, t) là cường độ của nguồn nhiệt tại điểm
x vào thời điểm t Ta coi lượng nhiệt là cân bằng trong một thể tích V bất
kỳ sau khoảng thời gian (t, t + ∆t) Kí hiệu S là biên của V và n là hướngtruyền nhiệt đối với S Theo định luật Furier qua mặt S vào V sẽ có lượng
Trang 6nhiệt truyền vào:
Khi đó nhiệt độ trong V sau khoảng thời gian (t, t + ∆t) là:
u(x, t + ∆t) − u(x, t) ' ∂u
Khi đó phương trình (1.7) được gọi làphương trình truyền nhiệt
Trang 71.2 Bài toán đầu cho phương trình truyền
nhiệt
Bài toán đầu (hay còn gọi là bài toán Cauchy) cho phương trình truyềnnhiệt nằm ở việc xác định hàm u(x, t) ∈ C2((−∞, +∞) ⊗ (0, ∞)), thỏamãn phương trình:
trong miền Gl,T = (−l, l) ⊗ (0, T ) và liên tục trong Gl,T = [−l, l] ⊗ [0, T ], thì
nó nhận giá trị lớn nhất và nhỏ nhất trên phần biên Sl,T, được cấu thành
từ đoạn [−l, l] trên trục Ox và đoạn {x = −l, 0 ≤ t ≤ T } ∪ {x = l, 0 ≤
t ≤ T }
Chứng minh Kí hiệu M là giá trị lớn nhất của u(x, t) trên Gl,T và m
là giá trị lớn nhất của u(x, t) trên Sl,T (các giá trị này hoàn toàn tồn tạikhi mà u(x, t) liên tục trên Gl,T) Nếu như bất đẳng thức M > m xảy ra,
Trang 8thì khi đó tồn tại điểm (x0, t0) sao cho u(x0, t0) = M với x0 ∈ (−l, l) và
Điểm (x1, t1) với t1 < T là điểm cực đại địa phương của hàm v(x, t) vànhư vậy:
Trang 9và như vậy phương trình (1.10) tại điểm (x1, t1) không thỏa mãn Điều phi
lý chứng tỏ rằng M = m Tương tự như thế ta cũng chứng minh được giátrị nhỏ nhất của hàm u(x, t) cũng nhận trên Sl,T
1.4 Định lý duy nhất nghiệm của bài toán
đầu
Định lý 1.4.1 Nghiệm của bài toán đầu trong lớp hàm hữu hạn với −∞ <
x < ∞ và t > 0 là duy nhất
Chứng minh Ta giả sử điều ngược lại: giả sử u1(x, t) và u2(x, t)
là hai nghiệm hữu hạn khác nhau của bài toán (1.23) - (1.24) Khi đó
ở đây l > 0 và T > 0 Trong Gl,T ta đưa vào hàm:
Trang 10Áp dụng định lý về giá trị lớn nhất và nhỏ nhất cho hiệu của các hàmv(x, t) và ±u(x, t) trong miền Gl,T, ta nhận được:
Trang 11Đặt (1.13) vào (1.12) và tiến hành tách biến, ta nhận được:
T0(t)
a2T (t) =
X00(x)X(x) = const := −λ
2,
hay
T0(t) + a2λ2T (t) = 0, (1.14)
Phương trình (1.14) cho ta: T (t) = Ce−λ2a2t
Bây giờ ta xem xét phương trình (1.15):
X00(x) + λ2X(x) = 0
Phương trình đặc trưng của (1.15): µ2 + λ2 = 0 có nghiệm là µ =
±iλ Như vậy ta tìm được nghiệm X(x) dưới dạng X(x) = A(λ) cos λx +B(λ) sin λx và do đó: u(x, t) = (A(λ) cos λx + B(λ) sin λx)e−a2λ2t là nghiệmcủa phương trình (1.12) với λ tùy ý
Do tính tuyến tính và thuần nhất của phương trình truyền nhiệt (1.12)nên tổng bất kỳ và mọi biểu diễn tuyến tính P Cλuλ cũng sẽ là nghiệmcủa phương trình truyền nhiệt
Như vậy ta có thể giả sử rằng
(A(λ) cos λx + B(λ) sin λx)e−a2λ2tdλ (1.16)
Nếu như tích phân (1.16) hội tụ đều và có thể thực hiện được phéptính vi phân dưới dấu tích phân một lần theo t và hai lần theo x thì (1.16)chính là nghiệm của phương trình (1.12) Hệ thức (1.16) chuyển đến cho
ta mối quan tâm đến tích phân Fourier
Trang 121.6 Tích phân Fourier
Cho trước hàm f (x) với −∞ < x < ∞ Xét hàm đã cho trên đoạn [−l, l]
và viết nó dưới dạng chuỗi Fourier tương ứng:
Trang 13f (y) cos λk(x − y)dy∆λk.
Chuyển qua giới hạn biểu thức cuối cùng khi l → ∞ Khi l → ∞ ta có
∆λk → 0, do đó tổng nhận được có thể xem xét như tích phân theo λ vàkhi đó ta viết:
f (x) = lim
l→∞(a0
2 +
1π
f (y) cos λ(x − y)dydλ
Như vậy ta đã biểu diễn được hàm f (x) dưới dạng tích phân bội Fourier:
f (y) cos λ(x − y)dydλ
Ta viết lại biểu thức cuối như sau:
Trang 14[A(λ) cos λx + B(λ) sin λx]dλ.
Theo giả thiết ta có u(x, t)|t=0 = u0(x) và đặt:
Trang 15Sử dụng các biểu thức nhận được đối với A(λ) và B(λ) ta viết được(1.19) dưới dạng:
e−a2λ2tcos λ(y − x)dλ}dy
Ta tiến hành đi tính tích phân trong dấu ngoặc móc Kí hiệu: a2t =
∂J
J = −
q2p∂q.
Trang 16J (p, q) = r π
pe
−q24p
Trang 17
Trở lại với phép đặt ban đầu: p = a2t, q = x − y, ta nhận được:
t = η ⇒ dξ = 2a
√tdη (t > 0)
Ta chứng minh rằng tích phân (1.21) tồn tại Thật vậy, từ điều kiện
Trang 18là nghiệm của bài toán (1.27)-(1.28) Ta có:
∂2u
∂x2 = 1
2a√πt
∂2u
∂x2 = 1
2a√πt
πtJ1 − 1
2a√
πtJ1 +
14ta√
πtJ0 = 0.Như vậy hàm u(x, t) thỏa mãn phương trình truyền nhiệt thuần nhất(1.27) Tiếp theo ta chứng tỏ hàm u(x, t) thỏa mãn điều kiện (1.28) Đểthực hiện điều này trước tiên ta xét hàm:
E(x, t) = 1
2a√
πte
− x2 4a2t,
Trang 19e−η2dη
Do tính hội tụ của tích phân cuối nên ta chọn được N0 = N0(ε), saocho với N ≥ N0 ta nhận được J2 < ε2, ∀x, ∀t > 0 Cố định N và tiếnhành xem xét J3 Theo điều kiện ban đầu hàm u0(x) là liên tục, nhưvậy ∀(ε > 0)∃(δ > 0)∀(∆x : |∆x| < 0)[|u0(x + ∆x) − u0(x)| < ε/2] Lấy
Trang 20∆x = −2a√
tη và chọn t > 0 đủ nhỏ, sao cho |∆x| = 2a√
t|η| ≤ 2a√
tN < δkhi mà |η| ≤ N Khi đó:
Trang 21Thì khi đó nghiệm u(x,t) của bài toán (1.23) – (1.24) biểu diễn đượcdưới dạng tổng các nghiệm của (1.25) – (1.26) và (1.27) – (1.28) Thật vậy:
∞
Z
−∞
e−(y−x)24a2t u0(y)dy (1.29)
Ta tiến hành nghiên cứu bài toán (1.25) – (1.26) :
Đối với việc chứng minh cho sự tồn tại nghiệm của bài toán khôngthuần nhất với điều kiện biên thuần nhất ta tiến hành xem xét hàm sau:
Trang 22Ta chứng minh hàm u1(x, t) được xác định như trên là nghiệm củaphương trình (1.25) khi t > 0 Ta có:
Từ đây và trở về sau ta luôn giả thiết rằng f (x, t) bị chặn với mọi x và
t > 0, khả vi hai lần theo x và một lần theo t ≥ 0 Việc còn lại là ta cầnchứng tỏ:
Từ điều kiện bị chặn của hàm f (x, t) : |f (x, t)| ≤ M với mọi (x, t) tacó:
Trang 23Trong công thức Poisson nhận được thì số hạng thứ hai:
12a√πt
∞
Z
−∞
e−(x−y)24a2t u0(y)dy,
được gọi là thế vị nhiệt bề mặt, còn số hạng thứ nhất:
được gọi là thế vị nhiệt thể tích Các thuật ngữ trên sẽ được sử dụngthường xuyên trong chương tiếp theo
Ví dụ Tìm nghiệm của bài toán sau đây:
Thế vị nhiệt bề mặt:
I1 = 1
2√πt
∞
Z
−∞
e−8yt+(x−y)24t dy
Trang 24Tiến hành biến đổi biểu thức 8yt+(x−y)4t ta nhận được:
8yt + (x − y)2
(y + 4t − x)24t + 2x − 4t.
Do đó:
I1 = e
−2x+4t
2√πt
Đặt:
ξ = y − x2p(t − τ ),
∞
Z
−∞
e−ξ2dξ = e−τ.Cuối cùng thế vị nhiệt thể tích nhận được:
Trang 25khi đó công thức (1.32) trong trường hợp (không gian) một chiều viếtđược dưới dạng:
Trang 26Chương 2
Phần mềm Mathematica cho bài
toán truyền nhiệt
Mathematica là ngôn ngữ tích hợp đầy đủ nhất các tính toán kỹ thuật
Là dạng ngôn ngữ dựa trên các nguyên lý xử lý các dữ liệu tương ứng Thế
hệ ngôn ngữ giải tích đầu tiên đó là: Macsyma, Ruduce, ra đời từ nhữngnăm 60 của thế kỷ XX Các ngôn ngữ này chủ yếu dùng cho các bài toán
Trang 27vật lý năng lượng cao Nhược điểm chính của chúng là chủ yếu được địnhhướng chạy trên máy tính lớn.
Thế hệ tiếp theo là các ngôn ngữ: Mathematica, Maple, Matlab Cácngôn ngữ này có ưu điểm là chạy nhanh hơn, và chấp nhận bộ nhớ nhỏhơn, chạy hoàn hảo trên máy tính cá nhân Trong các ngôn ngữ tính toánloại này nổi bật là ngôn ngữ Mathematica với ưu điểm vượt trội về giaodiện thân thiện, về khả năng miêu tả đồ thị siêu việt và xử lý dữ liệu khôngthua kém các ngôn ngữ tính toán khác
Nhờ vào khả năng mô hình hóa và mô phỏng các hệ lớn kể các hệ động
mà Mathematica không chỉ được ứng dụng trong lĩnh vực vật lý kỹ thuật
và toán mà còn được mở rộng ứng dụng trong các lĩnh vực như sinh học
và các khoa học khác
Mathematica có nhiều version do luôn liên tục được cải tiến và hoànthiện: 1.2, 2.0, 2.2, 3.0, 4.0, 4.2 Phiên bản mới nhất hiện nay của Mathe-matica là 7.0 Mathematica cung cấp rất nhiều chức năng không chỉ đối vớimôn Lý thuyết Phương trình đạo hàm riêng mà còn là phần mềm hàng đầucho các môn: Lý thuyết Xác suất và thống kê, Đại số tuyến tính, Phươngtrình vi phân, giải phương trình, vẽ đồ thị
Hiện nay Mathematica là một phần mềm được sử dụng và giảng dạytại nhiều trường Cao đẳng, Đại học , Đây là công cụ hỗ trợ trong việc đổimới phương pháp giảng dạy ở nhiều môn học
2.2 Nghiệm của phương trình truyền nhiệt
trong R1
Bước 1 Trong Mathematica ta nhập hàm thực hiện G bằng cú pháp:
Trang 28{ Hàm G phụ thuộc vào a, x, t Như vậy theo cách định nghĩa trên thì
a ứng với #1, x ứng với #2, và t ứng với #3}
Out[2]:= e
− x24a2t
2a √
π √ t
{ Câu trả lời cho lệnh In[2] sau khi ấn tổ hợp phím Shift + Enter}
Bước 3 Ta đưa vào các hàm sau đây:
In[3] := vo[a−, u−] := Simplify[
Integrate [G[a, x − y, t] ∗ u[y], {y, −∞, ∞}], t > 0 && x ∈ Reals]
{ Thực hiện phép tính tích phân G(a, x−y, t)u(y) = 1
2 √
π √ t
ý nghĩa tương tự}
In[4] := vi[a−, u−] := Simplify[
Integrate [G[a, y, t] ∗ u[x − y], {y, −∞, ∞}], t > 0 && x ∈ Reals]
In[5] := woo[a−, f−] := Simplify[ Integrate
[G[a, x − y, t − s] ∗ f [y, s], {y, −∞, ∞}], 0 < s < t && x ∈ Reals]
In[6] := wii[a−, f−] := Simplify[ Integrate
[G[a, y, s] ∗ f [x − y, t − s], {y, −∞, ∞}], 0 < s < t && x ∈ Reals]
In[7] := woi[a−, f−] := Simplify[ Integrate
[G[a, x − y, s] ∗ f [y, t − s], {y, −∞, ∞}], 0 < s < t && x ∈ Reals]
In[8] := wio[a−, f−] := Simplify[ Integrate
Trang 29[G[a, y, t − s] ∗ f [x − y, s], {y, −∞, ∞}], 0 < s < t && x ∈ Reals]In[9] := ints[w−] := Simplify[
Integrate [w, {s, 0, t}], t > 0 && x ∈ Reals]
In[10] := uoo[a−, f−] := ints[woo[a,f]];
{Lệnh gán để tìm thế vị nhiệt thể tích: tích phân của hàm woo chạy từ
0 đến t, các lệnh tiếp theo có ý nghĩa tương tự}
In[11] := uii[a−, f−] := ints[wii[a,f]];
In[12] := uoi[a−, f−] := ints[woi[a,f]];
In[13] := uio[a−, f−] := ints[wio[a,f]];
Để tiến hành kiểm tra các hàm vừa nhận được, ta nhập:
√
2a√πIn[15] := uio[a, f ]
√
2a√πIn[16] := uoi[a, f ]
√
2a√πIn[17] := uii[a, f ]
√
2a√π
Trang 30Để kiểm tra nghiệm ta có thể sử dụng hàm sau:
{l1: kiểm tra biểu thức: ∂u∂t − a2 ∂2u
∂x 2− f (x, t), nếu đáp số cho l1:=0 nghĩa
là đúng l0: kiểm tra biểu thức : lim
t→0 +u(x, t) − u0(x), nếu đáp số cho l0:=0nghĩa là đúng Cuối cùng nếu nhận được l{0,0} thì có nghĩa nghiệm tìmđược là chính xác.}
Ví dụ 2.2.1 Tìm nghiệm, kiểm tra và vẽ đồ thị nghiệm của bài toánđầu sau đây (n=1):
∂u
∂t − ∂
2u
∂x2 = 3et; u|t=0 = e−4x.Trong Mathematica cho ta:
In[19] := f221[x−, t−] := 3 ∗ Exp[t]; { nghĩa là ta có f (x, t) = 3et}In[20] := u0221[x−] := Exp[−4x]; { nghĩa là ta có u|t=0 = e−4x}In[21] := a221 = 1; { nghĩa là ta có a = 1}
In[22] := v0221[x−, t−] = vi[a221, u0221]
Trang 31In[25] := l[a221, f221[x1, t], u0221[x1], u221[x1,t] ]Out[25] := {0, 0}
Để vẽ đồ thị nghiệm của hàm trên, ta thực hiện lệnh:
In[29] := a222 = 1; { nghĩa là ta có a = 1.}
In[30] := v0222[x−, t−] = vi[a222, u0222]
Out[30] := e−tCos[x]
In[31] := woo[a222, f222]
Out[31] := 3s3
In[32] := v1222[x−, t−] = uoo[a222, f222]
Trang 32Out[32] := 3t4
Nghiệm của bài toán có dạng
In[33] := u222[x−, t−] = v0222[x, t] + v1222[x, t]
Out[33] := 3t44 + e−tcos[x]
Thực hiện lệnh kiểm tra:
In[34] := l[a222, f222[x1, t], u0222[x1], u222[x1,t] ]Out[34] := {0, 0}
Để vẽ đồ thị nghiệm của hàm trên, ta thực hiện lệnh:
In[37] := u0223[x−] = Exp[−2 ∗ x];
In[38] := a223 = 1;
In[39] := v0223[x−, t−] = vi[a223, u0223];
Out[39] := e4t−2x
Trang 33In[44] := f224[x−, t−] = Exp[−3t] ∗ Sin[x];
In[45] := u0224[x−] = Sin[x];
In[46] := a224 = 1;
In[47] := v0224[x−, t−] = vi[a224, u0224];
Trang 34Out[49] := e−tSin[x] + 12e−3t(−1 + e2t)Sin[x]
Thực hiện lệnh kiểm tra:
In[50] := l[a224, f224[x1, t], u0224[x1], u224[x1, t] ]Out[50] := {0, 0}
Để vẽ đồ thị nghiệm của hàm trên, ta thực hiện lệnh:
In[51] := Plot3D[e−tSin[x]+1
Trang 35Thế vị nhiệt bề mặt của bài toán có thể tìm được bằng hàm vi hoặcvo
In[55] := v0225 → vi[ a225, u0225 ];
Out[55] := v0225 → −ie
−x(i+x) (e
t(i−2x)2 9+4t +2ix−e
t(i+2t)2 9+4t
6 √ 9+4t
In[56] := v0225 → vo[ a225,u0225 ];
Trang 36Out[60] := 181 ie−s9 −ix(−1 + e2ix)(s − t)
Cũng có thể sử dụng (cho thế vị nhiệt thể tích) các hàm thực hiện uio
và uoi:
In[61] := uio[a225,f225]
Out[61] := (−9 + 9e−t9 + t)sin[x]
In[62] := uoi[a225,f225]
Out[62] := −12ie−t9 −ix(−1 + e2ix)(9 + e9t(−9 + t))
Ví dụ trên cho thấy việc tính toán hàm uio ( wio) tỏ ra thích hợp hơn
ở chỗ không phải thực hiện các phép toán bổ sung trong việc rút gọn hàmsố
In[63] := v1225[x−, t−] = uio[a225,f225]
Out[63] := (−9 + 9e−t9 + t)sin[x]
Cuối cùng nghiệm của bài toán đã cho biểu diễn được dưới dạng: