3.1.1. Các thông số vật lý của phương trình
Để mô phỏng thuật toán, ta phải chọn các giá trị tham số vật lý phù hợp với thực tế đảm bảo đúng với các hiện tƣợng vật lý xảy ra, đây là một việc phải đo đạc, khảo sát rất khó khăn. Ta sẽ giả định các tham số, các giá trị ban đầu, giá trị biên cho bài toán truyền nhiệt trong môi trƣờng đồng chất đẳng hƣớng. Các giá trị tham số tƣơng ứng nhƣ trong bảng sau:
Bảng 1: Các tham số vật lý cho bài toán truyền nhiệt
Tham số Giá trị Diễn giải
2*10-6 Hệ số truyền nhiệt của chất bất kỳ deltax 0.5 Khoảng cách giữa các nút theo trục x deltay 0.5 Khoảng cách giữa các nút theo trục y deltaz 0.3 Khoảng cách giữa các nút theo trục z
3.1.2. Xác định thuật toán tính toán trên Matlab
Theo các công thức tính toán trên chip cho ẩn hàm theo phƣơng trình (2.3) cho ta công thức tính toán cài đặt nhƣ sau:
1 1 2 1 1 1 1 2 2 2 2 2 i, j,k i , j,k i, j,k i , j,k i, j ,k i, j,k i, j ,k i, j,k i, j,k i, j,k T T T T ( ) t x T T T T T T ( ) ( ) y z
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Sai phân vế phải và chuyển vế ta đƣợc phƣơng trình nhƣ sau:
1 1 2 1 1 1 1 2 2 2 ( ) ( ) * ( 2 2 ) i , j,k i, j,k i , j,k i, j,k i, j,k i, j ,k i, j,k i, j ,k i, j,k i, j,k i, j,k T T T T t t T t t ( ) x T T T T T T ( ) ( ) y z
Với việc chọn mỗi bƣớc tính toán t hợp lý ta có thể thu đƣợc các kết quả tính toán trùng với hiện tƣợng truyền nhiệt trong thực tế.
Nhƣ vậy, ta chọn điều kiện ban đầu là T0, các điều kiện biên cố định Dirichlet và dựa vào phƣơng trình (3.1) và lƣu đồ tính toán hình 2.7 ta cài đặt tính toán mô phỏng cho bài toán trên dựa trên Matlab. Có thể mô tả các bƣớc làm nhƣ sau:
Bƣớc 1: Khởi tạo mảng các tế bào tính toán gồm 4 mảng 2 chiều theo trục 0xy (MxN tế bào) thể hiện chiều cao của khối tính toán theo trục 0z trong hệ tọa độ 3 chiều 0xyz;
Bƣớc 2: Xác định các giá trị ban đầu cho mảng tính toán (Lƣu lại);
Bƣớc 3: Áp dụng công thức tính toán theo phƣơng trình (3.1) tính toán các tế bào ở các vị trí ở thời điểm bất kỳ . Sử dụng biến i để di chuyển xác định các giá trị trong mảng tính toán trong một bƣớc). (lƣu kết quả tính toán);
Bƣớc 4: Lặp lại bƣớc 3;
Bƣớc 5: Đƣa ra kết quả tính toán.
3.1.3. Kết quả giá trị tính toán
Khởi tạo các giá trị ban đầu (thời điểm ban đầu t = 0). Giả sử dạng mạng 3 chiều các nút cần tính toán cho việc giải phƣơng trình truyền nhiệt cho bài toán truyền nhiệt 3 chiều. Nhƣ vậy, giả sử khối tính toán là thực hiện cho toàn khối lập phƣơng, xây dựng trên hệ trục tọa độ 0xyz, điều này sẽ cho một lƣới sai phân tính toán 10x10x4 điểm mỗi chiều. Để thuận lợi cho việc tính toán và biểu diễn sự biến thiên nhiệt độ trong bài toán truyền nhiệt trên khối vật chất,
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ta chọn các điểm cho từng mảng 2 chiều các nút (mặt phẳng 0xy có lƣới sai phân tính toán 10x10 tế bào) và có số mảng tăng theo trục 0z (chiều cao của khối tính toán gồm 4 lƣới). Tất cả các mảng đƣợc khởi tạo một giá trị ban đầu và dựa vào các tham số đầu vào, các điều kiện biên và công thức tính toán (3.1) cho ta kết quả biến thiên nhiệt độ phân bố trong khối vật chất ở thời điểm cần quan tâm.
Bƣớc 1: Khởi tạo các mảng các tế bào tính toán ở thời điểm ban đầu:
Bảng 2: Giá trị nhiệt độ các tế bào đo ở chiều cao 0,3 m thời điểm ban đầu
Bƣớc 2: Lƣu giá trị tính toán.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Bƣớc 3: Áp dụng công thức tính toán (3.1) tính giá trị các tế bào sau thời điểm t=100s. Sử dụng điều kiện biên biến thiên Neumann, xác định các giá trị biên x0= x1; xM=xM-1.
Đoạn chƣơng trình thực hiện mô phỏng tính toán giải phƣơng trình truyền nhiệt mô tả bài toán truyền nhiệt trong khối 3 chiều nhƣ sau:
for j=1:N t11(1,j)=t01(1,j); end; for j=1:N t11(M,j)=t01(M,j); end; for i=1:M t11(i,1)=t01(i,1); end; for i=1:M t11(i,N)=t01(i,N); end; for i=2:M-1 for j=2:N-1 m1 = (t01(i-1,j)-2*t01(i,j)+t01(i+1,j))/(deltax^2); m2 = (t01(i,j-1)-2*t01(i,j)+t01(i,j+1))/(deltay^2); t11(i,j)=t01(i,j)+deltat*k*(m1+m2); end; end; for j=1:N t12(1,j)=t02(1,j); end; for j=1:N t12(M,j)=t02(M,j); end; for i=1:N t12(i,1)=t02(i,1); end; for i=1:M t12(i,N)=t02(i,N); end; for i=2:M-1 for j=2:N-1
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ m1 = (t02(i-1,j)-2*t02(i,j)+t02(i+1,j))/(deltax^2); m2 = (t02(i,j-1)-2*t02(i,j)+t02(i,j+1))/(deltay^2); t12(i,j)=t02(i,j)+deltat*k*(m1+m2); end; end;
Kết quả cho bảng giá trị sau:
Bảng 3: Giá trị nhiệt độ các tế bào tính đƣợc ở độ cao 0,3 m sau thời gian t
Bƣớc 4: Lƣu kết quả tính toán hoặc tính tiếp.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Tƣơng tự với các bƣớc thực hiện nhƣ trên, ta có thể tính toán ở độ cao 0,6m Bảng 4: Giá trị nhiệt độ các tế bào đo ở chiều cao 0,6 m thời điểm ban đầu
Đƣợc lƣu lại mô phỏng nhƣ lƣới sau:
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Áp dụng công thức tính toán (3.1) có đoạn chƣơng trình cài đặt mô phỏng trên Matlab tính toán cho lƣới này nhƣ sau:
t30=0*rand(M,N); t31=0*rand(M,N); t32=0*rand(M,N); t33=0*rand(M,N); t30=t20; t33=t23; for j=1:N t31(1,j)=t21(1,j); end; for j=1:N t31(M,j)=t21(M,j); end; for i=1:M t31(i,1)=t21(i,1); end; for i=1:M t31(i,N)=t21(i,N); end; for i=2:M-1 for j=2:N-1 m1 = (t21(i-1,j)-2*t21(i,j)+t21(i+1,j))/(deltax^2); m2 = (t21(i,j-1)-2*t21(i,j)+t21(i,j+1))/(deltay^2); t31(i,j)=t21(i,j)+deltat*k*(m1+m2); end; end; for j=1:N t32(1,j)=t22(1,j); end; for j=1:N t32(M,j)=t22(M,j); end; for i=1:N t32(i,1)=t22(i,1); end; for i=1:M t32(i,N)=t22(i,N); end;
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ for i=2:M-1 for j=2:N-1 m1 = (t22(i-1,j)-2*t22(i,j)+t22(i+1,j))/(deltax^2); m2 = (t22(i,j-1)-2*t22(i,j)+t22(i,j+1))/(deltay^2); t32(i,j)=t22(i,j)+deltat*k*(m1+m2); end; end;
Cho kết quả tính toán sau thời gian t=100s nhƣ sau:
Bảng 5: Giá trị nhiệt độ các tế bào tính đƣợc ở chiều cao 0,6m sau thời gian t
Hình 3.4: Kết quả tính đƣợc ở độ cao 0,6 m sau thời gian t = 100s tiếp theo (sau 200 giây so với ban đầu):
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
3.2. Đánh giá kết quả
Kết quả tính toán trên mô phỏng việc tính toán giải phƣơng trình truyền nhiệt bằng ứng dụng của công nghệ mạng nơ ron tế bào nhằm giúp dự đoán đƣợc kết quả truyền nhiệt trong khối tính toán. Khả năng truyền nhiệt phụ thuộc và các điều kiện biên và điều kiện tham số đầu vào.
3.3. Kết luận
Dựa trên thuật toán mạng nơ ron tế bào em đã tiến hành cài đặt trên công cụ Matlab và đạt đƣợc kết quả nhƣ trong giới hạn tính toán ở đây chỉ ở mức độ mô phỏng kết quả thuật toán, chƣa thể hiện đƣợc tốc độ tính toán. Trong điều kiện thiết bị, cơ sở vật chất để áp dụng thiết kế mạch cứng hóa tính toán tốc độ cao bằng các chip FPGA. Tuy nhiên tốc độ tính toán cơ bản đạt độ chính xác cao.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
KẾT LUẬN
Trong việc thực hiện Luận văn này em đã tiến hành nghiên cứu các vấn đề sau: Nghiên cứu công nghệ mạng nơ ron tế bào tập trung vào ứng dụng để giải các phƣơng trình đạo hàm riêng; Bổ sung kiến thức về phƣơng trình đạo hàm riêng và phƣơng pháp sai phân; Nghiên cứu mô hình toán học và các tham số vật lý của phƣơng trình truyền nhiệt. Đề xuất ứng dụng công nghệ mạng nơ ron tế bào vào giải phƣơng trình truyền nhiệt mô tả khả năng truyền nhiệt trong không gian 3 chiều theo thời gian T. Tìm hiểu công cụ Matlab để cài đặt mô phỏng tính toán giải phƣơng trình truyền nhiệt.
Những thuận lợi và khó khăn khi thực hiện đề tài: Về thuận lợi, đã có nhiều tác giả nghiên cứu về ứng dụng CNN vào giải phƣơng trình đạo hàm riêng. Tài liệu giới thiệu phƣơng trình truyền nhiệt đã đƣợc xây dựng chính xác đầy đủ. Công cụ cài đặt mô phỏng Matlab có nhiều hỗ trợ tính toán thể hiện. Tuy nhiên khi thực hiện cũng có nhiều khó khăn: Việc giải phƣơng trình này trên công nghệ CNN chƣa đƣợc nghiên cứu tại Việt Nam; Kiến trúc mạng CNN không có phần cứng mà ta phải tự thiết kế chế tạo; thiết bị để chế tạo phần cứng chƣa có sẵn nên chƣa thực hiện đƣợc mà chỉ mô phỏng tính toán trên máy PC, chƣa có tính thuyết phục cao; các giá trị đo đạc chƣa có nên chỉ sử dụng các giá trị ổn định, các đại lƣợng vật lý tƣơng đối trừu tƣợng nên khó kiểm định do vây phải chạy nhiều lần mới khẳng định đƣợc độ tin cậy của thuật toán.
Luận văn đã đạt đƣợc những kết quả:
- Nắm đƣợc nguyên tắc phân tích áp dụng thuật toán vào một bài toán cụ thể.
- Phân tích đúng đắn bài toán để áp dụng công nghệ CNN vào giải bài toán đã có sẵn.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Việc giải quyết bài toán bao gồm quá trình nghiên cứu tỉ mỉ sai phân hệ phƣơng trình, thiết kế mẫu của các nhà nghiên cứu đã sử dụng để áp dụng vào mô hình toán học cụ thể với các ràng buộc cụ thể. Xây dựng lƣợc đồ sai phân CNN tƣơng đƣơng với mô hình sai phân ban đầu phân tích sự logic toán học đồng nhất giữa hai mô hình đảm bảo sự chính xác tính toán, sự ổn định tính toán.
Luận văn có thể đƣợc phát triển theo các hƣớng sau:
Thông qua kết quả giải phƣơng trình truyền nhiệt đề tài có thể phát triển cứng hóa giải hệ bằng công nghệ FPGA. Dựa theo mẫu mô phỏng kiến trúc phần cứng CNN bằng công nghệ FPGA giúp cho việc giải bài toán phù hợp với tính toán các lƣới sai phân lớn theo các mẫu đo của thực tế. Điều chỉnh mẫu để có kết quả tối ƣu hơn. Thực thi chế tạo phần cứng để tính toán, tối ƣu hóa thuật toán.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
TÀI LIỆU THAM KHẢO Tiếng việt
[1]. Phạm Thƣợng Cát, (2006), “Công nghệ mạng nơ ron tế bào và khả năng ứng dụng trong các hệ cơ điện tử” Tuyển tập Hội nghị toàn quốc lần thứ 3 về Cơ điện tử VCM2006, NXB Đại học Quốc gia Hà nội.
[2]. Phạm Thƣợng Cát, (2007), “Máy tính vạn năng mạng nơ ron tế bào CNN UM: Một hƣớng phát triển mới của công nghệ thông tin”, Kỷ yếu Hội nghị khoa học 30 năm thành lập Viện Công nghệ Thông Tin. NXB Khoa học Tự nhiên và Công nghệ.
[3]. Nguyễn Bốn, “Các phƣơng pháp tính truyền nhiệt”, NXB Đà Nẵng, 2011. [4]. Tạ Văn Đĩnh, (2002) “Phương pháp sai phân và phương pháp phần tử hữu hạn”, NXB Khoa học và Kỹ thuật. Hà Nội.
[5]. Trịnh Văn Dũng, “Truyền nhiệt”, Đại học Lạc Hồng, 2009
[6]. Ngô Nhƣ Khoa, “Phương pháp phần tử hữu hạn”, Thái Nguyên, 2011. [7]. Phan Thanh Tao, “Giáo trình Matlab toàn tập”, NXB Trƣờng Đại học Bách Khoa Đà Nẵng, 2004.
[8]. Vũ Đức Thái, Nghiên cứu ứng dụng mạng nơ ron tế bào CNN trong việc giải phương trình vi phân đạo hàm riêng - Luận án tiến sỹ toán học Viện Công nghệ thông tin, 2011.
Tiếng Anh
[9]. Matthew J. Hancock, “Solutions to Problems for 2D & 3D Heat and Wave”, 18.303 Linear Partial Differential Equations, Fall 2006.
[10]. Chua L.O., L. Yang, (1988), "Cellular Neural Networks: Application", IEEE Trans. Circuits and System 35.
[11]. Tomás Roska, Leon O.Chua, Dietrich Wolf, (1995), “Simulating nonlinear waves and partial differential equations via CNN= I Basic techniques”, Theory and application, vol.42, NO.10.