MÔ PHỎNG SỨC CĂNG CỦA BỀ MẶT CHẤT LỎNG THEO PHƯƠNG PHÁP PARTICLE Chương 1. Khái quát về mô phỏng chất lỏng và bề mặt chất lỏng Chương 2. Mô phỏng sức căng của bề mặt chất lỏng theo phương pháp Particle Chương 3. Chương trình – Mô phỏng một số hiệu ứng của chất lỏng
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
NGUYỄN THỊ THỌ
MÔ PHỎNG SỨC CĂNG CỦA BỀ MẶT CHẤT LỎNG
THEO PHƯƠNG PHÁP PARTICLE
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số : 60.48.01.01
TÓM TẮT LUẬN VĂN THẠC SĨ
Hà Nội - 2014
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: PGS.TS Đỗ Năng Toàn
Phản biện 1: TS Nguyễn Văn Vinh
Phản biện 2: TS Nguyễn Phương Thái
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày 15 tháng 02 năm 2014
Có thể tìm hiểu luận văn tại:
− Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
Trong những năm gần đây, công nghệ thông tin đã
được ứng dụng mạnh mẽ trong hầu hết tất cả các lĩnh vực
Việc “tái tạo” các hiện tượng, sự vật trong thế giới thực trên máy tính có rất nhiều tác dụng Trong giáo dục, những thí nghiệm, những ví dụ được mô tả sát thực bằng máy tính giúp cho người học hứng thú hơn, kiến thức
được thể hiện rõ hơn, trực quan hơn, đầy đủ hơn
Xuất phát từ thực tế đó, luận văn chọn đề tài “Mô phỏng sức căng của bề mặt chất lỏng theo phương pháp Particle” Mục tiêu chính của luận văn là: Nghiên cứu kỹ thuật mô phỏng sức căng của bề mặt chất lỏng theo phương pháp Particle Cấu trúc luận văn gồm Phần mở
đầu, Phần kết luận và 3 chương nội dung, cụ thể như sau:
Chương 1 Khái quát về mô phỏng chất lỏng và bề mặt chất lỏng
Chương 2 Mô phỏng sức căng của bề mặt chất lỏng theo phương pháp Particle
Chương 3 Chương trình – Mô phỏng một số hiệu ứng của chất lỏng
Trang 4CHƯƠNG 1 KHÁI QUÁT VỀ MÔ PHỎNG CHẤT LỎNG VÀ BỀ MẶT CHẤT LỎNG
1.1 Khái quát về mô phỏng chất lỏng
Hiện nay tính toán động lực học chất lỏng (Computational Fluid Dynamics CFD) là một chủ đề khá mới mẻ trong đồ họa máy tính Mô hình chất lỏng grid-base đã được sử dụng phổ biến trong Đồ họa máy tính suốt thập kỷ qua Gần đây, particle đã được sử dụng vào CFD trong Đồ họa máy tính Chúng đã được chứng minh
là một lựa chọn tốt cho các mô phỏng chất lỏng quy mô nhỏ - các mô phỏng mà cho phép thể hiện chi tiết tương tác Một số nghiên cứu trước đó cũng đã đạt được các kết quả khả quan trong mô phỏng particle-base fluid, như RealFlow3 và PhysX, cả hai giải pháp này đều là những sản phẩm thương mại nhằm mục đích chuyên nghiệp người dùng cuối
Mục tiêu chính của luận văn là phát triển một phương pháp particle-based phù hợp để mô phỏng chất
Trang 5lỏng ở mức tương tác Một mục tiêu khác nữa là sử dụng các đại lượng vật lý và các tham số chuẩn cho các
mô phỏng
1.1.1 Vai trò của mô phỏng chất lỏng
Chất lỏng là loại vật liệu quan trọng trong đời sống, sinh hoạt, sản xuất của con người Việc thể hiện thành công hiệu ứng chất liệu này trong thực tại ảo sẽ cho phép
ta đi sâu vào thế giới ảo để tạo ra những giá trị thật cho cuộc sống con người
Trang 61.1.3 Cơ sở lý thuyết của mô phỏng chất lỏng
Cơ sở lý thuyết của mô phỏng chất lỏng chính là các tính chất vật lý của chúng
Cho một phần tử diện tích dS của ∑: lực tổng hợp
d của các lực tác dụng bởi các hạt ngoài lên các hạt trong, thường có một thành phần pháp tuyến d N và một thành phần tiếp tuyến d T Thành phần tiếp tuyến được gọi là áp lực Thành phần tiếp tuyến được gọi là lực nhớt (hay lực trượt)
Trang 71.2.2 Động lực học chất lỏng cổ điển
Trong Đồ họa máy tính, chuyển động của chất lỏng
là một vấn đề quan trọng khi mô phỏng các hiện tượng hàng ngày, ví dụ mưa, bùn, nước đổ, khói thuốc lá, hơi nước, bọt ẩm ướt, sóng biển, vv …Luận văn sẽ giới thiệu ngắn gọn về hệ phương trình Navier-Stokes cho dòng chất lỏng, đó là cơ sở của nghiên cứu này Để cài đặt các phương trình Navier-Stokes cho chuyển động của chất lỏng, có 2 phương pháp chính: phương pháp Euler (grid-base), và Lagrange (particle-base)
1.2.2.1 Hệ phương trình Navier – Stokes
Công thức cổ điển của chuyển động cho dòng chất
lỏng không nén được qua thời gian t được chi phối bởi hệ
phương trình Navier-Stokes
(1.1)
(1.2)
Trang 81.2.2.2 Chất lỏng Euler
Chất lỏng được coi là tổng hợp của các ô chất lỏng (fluid cell), được xếp trên 1 lưới đều, mỗi ô chứa 1 số phân tử chất lỏng (hay hạt chất lỏng) Các phương pháp grid-base vẫn không thể tạo ra tương tác cho chất lỏng một cách chi tiết
Trang 9CHƯƠNG 2: MÔ PHỎNG SỨC CĂNG CỦA BỀ MẶT CHẤT LỎNG THEO PHƯƠNG PHÁP PARTICLE
2.1 Sức căng bề mặt chất lỏng
Trong mục này luận văn sẽ tóm tắt các nghiên cứu trước đó về chất lỏng dựa trên lưới trong đồ họa máy tính, bao gồm cả các lý thuyết cơ bản về chuyển động chất lỏng
2.1.1 Thủy động lực học hạt trơn (Smoothed
Particle Hydrodynamics)
SPH là một phương pháp nội suy các giá trị gần
đúng và các đạo hàm của các đại lượng liên tục bằng cách
sử dụng các điểm mẫu rời rạc
2.1.1.1 Các định nghĩa
SPH về cơ bản là 1 phương pháp nội suy Sự nội duy dựa trên lý thuyết tích phân toàn phần sử dụng các nhân (kenel) để xấp xỉ một hàm delta Tích phân toàn phần của một hàm của đại lượng bất kỳ, A(r), được xác
định trên toàn không gian Ω, bằng:
Trang 10(2.1)
với r là điểm bất kỳ trong Ω, và W là nhân làm trơn
(smoothing kernel) với h là chiều rộng
2.1.1.2 Nhân làm trơn (Smoothing kernel)
Lựa chọn nhân làm trơn cho bài toán cụ thể là một việc quan trọng Đạo hàm của smoothing kernel có ảnh hưởng lớn đối với các ước lượng SPH Kernel thích hợp phải đáp ứng 2 điều kiện: được chuẩn hóa và dương
Trang 112.1.2.2 Các nội lực
Nội lực là lực phát sinh từ bên trong chất lỏng, và trong (2.19), chúng là mật độ áp lực và mật độ lực nhớt, chúng lần lượt là số hạng đầu tiên và thứ hai trong vế phải Nội lực của chất lỏng là cần thiết khi áp dụng SPH để tính các đạo hàm của các đại lượng
2.1.2.5 Thời gian lặp
Để mô phỏng dòng chất lỏng, mỗi hạt được cập
nhật vị trí trong khoảng thời gian time step cố định ∆t
Trang 12Tính các ngoại lực
Thời gian lặp
và xử lý va chạm
Kết xuất các Particle
Trong phần này, chúng ta sẽ đề cập đến phương pháp tích phân Leap-Frog
2.2 Mô phỏng sức căng bề mặt chất lỏng theo phương pháp Particle
Hình 2.12 minh họa quy trình mô phỏng chất lỏng Lagrange cơ bản Trong chương này, chúng ta sẽ đi vào chi tiết vào nội dung chi tiết của từng bước trong quy trình đó
2.2.1 Tìm lân cận gần nhất
Giá trị của một số hạng SPH lặp đi lặp lại cho các hạt Vì mỗi hạt phải xác định nhiều số hạng SPH, nên độ phức tạp về thời gian cho mô phỏng nước Lagrange với n
kể hiệu suất bằng cách sử dụng một giải thuật NNS hiệu
quả để tìm các hạt trong một bán kính h
Trang 132.2.2 Tính không nén được
Với chất lỏng Lagrange, mật độ áp suất phân bố để
có thể giữ cho mật độ khối ở mọi vị trí không vượt quá mật độ nghỉ Do đó tính không nén được hoàn toàn được
mô hình hóa thông qua áp suất
2.2.3 Các tham số vật lý
Để sử dụng chính xác các đại lượng vật lý, điều
quan trọng là không làm tăng miền giá trị của các tham số vật lý Động học chất lỏng tương tác Lagrange có thể mô phỏng nhiều loại chất liệu chất lỏng ở quy mô nhỏ, ở đó, các chi tiết phong phú được tập trung thể hiện Các tham
Trang 142.2.4 Một số chất liệu lỏng
Điều quan trọng là sự kết hợp của các thông số vật
liệu vật lý cùng nhau tạo thành hành vi có một không hai của chất lỏng Các chất liệu lỏng được giới thiệu là:
Trang 15CHƯƠNG 3: CHƯƠNG TRÌNH MÔ PHỎNG MỘT SỐ HIỆU ỨNG CỦA CHẤT LỎNG
3.1 Phát biểu bài toán
Xây dựng chương trình mô phỏng một số hiệu ứng của chất lỏng Yêu cầu thể hiện được một số tính chất như sức căng bề mặt và độ nhớt và thể hiện hiệu ứng va chạm với vật rắn
3.2 Phân tích, lựa chọn phương pháp
Như đã trình bày trong phần lý thuyết Có hai phương pháp mô phỏng chất lỏng: grid-base (Euler) và particle-base (Lagrange) Trong đó, phương pháp particle-base phù hợp hơn khi cần mô phỏng chi tiết các hiệu ứng của chất lỏng và xử lý va chạm real time Với yêu cầu của bài toán này, luận văn sẽ lựa chọn phương pháp particle-base để thể cài đặt chương trình
Trang 16Phương pháp chất lỏng Lagrange
Phần tiếp theo, luận văn sẽ tóm tắt các phần khác nhau của mô phỏng với tham chiếu đến các lý thuyết đã
được trình bày và chi tiết cài đặt
Bước 1: Khởi tạo hệ SPH
i Tạo chất liệu chất lỏng, ví dụ, sử dụng các giá trị đã cho trong mục 2.2.4
ii Tạo n hạt và thiết lập các vị trí, vận tốc khởi tạo, và
Trang 17Bước 2: Tính mật độ và áp suất
Với mỗi hạt i, thực hiện:
i Tìm kiếm hạt lân cận Ni sử dụng spatial hashing
mục 2.2.1
các hạt trong Ni
iii Tính áp suất pi bằng (2.14), và dùng mật độ chất liệu làm mật độ nghỉ, ρ0
Bước 3: Tính các nội lực
Với mỗi hạt i, thực hiện:
i Tìm hạt lân cận Ni sử dụng spatial hashing single particle query trong mục 2.2.2 và chỉ sử dụng các hạt từ Ni để tính các lực SPH
Trang 18ii Tính tiếp tuyến hướng vào bên trong bề mặt bằng công thức (2.18)
Bước 5: Thời gian lặp và xử lý va chạm
Với mỗi hạt chất lỏng i, thực hiện:
a Tính vị trí hạt tùy theo điểm tiếp xúc bằng (2.22)
Trang 19Bước 6: Kết xuất các hạt
Với mỗi hạt chất lỏng i, thực hiện:
i Kết xuất hình cầu với tâm tại ri và bán kính được xác định bằng (2.35)
Các thuộc tính chất của nước và chất nhớt, trình bày tại mục 2.2.4 sẽ được sử dụng trong quá trình mô phỏng ở phần này Hình 3.1 mô tả hai chất lỏng khoảng cùng thể tích Phần thú vị trên hình 3.1 là sự khác biệt trong sức căng bề mặt, gây ra độ cong bề mặt của hai chất lỏng là khác nhau Hình 3.2 một sự khác biệt nữa giữa hai chất lỏng được mô tả Độ nhớt thấp làm cho nước có thể phản ứng nhanh nhẹn hơn với các lực tác động, điều này trái ngược đối với chất lỏng có độ nhớt cao
Tương tác người dùng với chất lỏng là một phần quan trọng Mô phỏng cho phép người dùng tương tác với một chất lỏng bằng cách click chuột lên bề mặt, hoặc di chuyển vật rắn trong khối chất lỏng
Trang 203.3 Một số kết quả chương trình
Chương trình được viết bằng ngôn ngữ Javascript, chạy trên nền web Cấu trúc chương trình gồm các file js liên kết với file html
Trong chương trình demo, luận văn có tham khảo mã nguồn mở được chia sẻ trên website
Hình 3.4 Mặt nước dao động khi thả vật rắn xuống
Trang 21KẾT LUẬN
Những kết quả thu được của luận văn:
một cách hợp lý có thể kết xuất các mô phỏng chất lỏng tương tác mà không cần hỗ trợ thêm phần cứng
động chất lỏng dựa trên hạt và sử dụng phương pháp
SPH để tính tất cả các đại lượng vật lý phức tạp
phỏng chất lỏng particle-base, và đã cố gắng tìm một liên hệ giữa chúng theo những cách mà người dùng cuối có thể nhìn nhận chúng một cách trực quan – Dựa trên lý thuyết được trình bày và trên cơ sở mã nguồn mở được chia sẻ trên mạng Internet, luận văn đã xây dựng chương trình mô phỏng một số hiệu ứng của chất lỏng như sức căng bề mặt và độ nhớt
Hướng phát triển:
Trang 22– Mô phỏng một số thí nghiệm vật lý trong trường phổ thông: Đo sức căng mặt ngoài của chất lỏng, hiện tượng dính ướt, mao dẫn…