CFD – Công cụ không thể thiếu trong thiết kế các dự án
Với sự phát triển mạnh mẽ của khoa học máy tính, đặc biệt là về nền tảng phần cứng, Computational Fluid Dynamics (CFD – tính toán động lực học chất lưu) [1] đã và đang là công cụ không thể thiếu trong công tác thiết kế bất kỳ dự án nào hiện nay. Với thế mạnh có thể dự đoán chính xác và chi tiết các trường (vận tốc, nhiệt độ, v.v.) ở mọi điểm phụ thuộc vào thời gian, CFD có thể thực hiện các phân tích dữ liệu phức tạp, đáp ứng được yêu cầu về lượng thông tin cần thiết trong công tác thiết kế các công nghệ hiện đại.
Khoa học kĩ thuật ngày càng phát triển, việc vận hành bất kì hệ thống nào cũng cần được tối ưu hóa và chú trọng đến các tiêu chuẩn an toàn. Computational Fluid Dynamics (CFD – tính toán động lực học chất lưu) có thể đáp ứng được nhu cầu về lượng dữ liệu cần thiết rất lớn để có thể thực hiện tối ưu hóa và nâng cấp các tiêu chuẩn an toàn. CFD là một nhánh của Cơ học chất lưu sử dụng phân tích số học và cấu trúc dữ liệu để phân tích và giải quyết các vấn đề liên quan đến dòng chất lưu (chất lỏng và chất khí). Máy tính được sử dụng để thực hiện các tính toán cần thiết để mô phỏng dòng chảy tự do của chất lưu và sự tương tác của chất lưu với các bề mặt được xác định bởi các điều kiện biên bằng việc giải các phương trình Navier – Stokes. Nhìn chung, tất cả các hiện tượng liên quan đến dòng chảy chất lưu đều có thể mô tả bằng các phương trình Navier – Stokes [2,3]:
Ở các phương trình trên, u là vector vận tốc dòng chất lưu, ρ là mật độ chất lưu, P là áp suất chất lưu, µ là độ nhớt chất lưu, f là ngoại lực, cp là nhiệt dung chất lưu, T là nhiệt độ, k là hệ số truyền nhiệt. Phương trình (1) là phương trình liên tục (phương trình bảo toàn khối lượng), phương trình (2) là phương trình momentum (định luật 2 Newton), và phương trình (3) là phương trình năng lượng (định luật thứ nhất của nhiệt động lực học). Phương trình (3) được áp dụng cho chất lưu cũng như vật liệu mà chất lưu tiếp xúc, ví dụ như nước (chất lưu) chảy trong ống thép (vật liệu tiếp xúc).
Ngày nay, CFD được áp dụng cho một loạt các vấn đề kỹ thuật trong các lĩnh vực nghiên cứu và công nghiệp, bao gồm phân tích khí động học và không gian vũ trụ, mô phỏng thời tiết, khoa học và kỹ thuật môi trường, thiết kế và phân tích hệ thống công nghiệp, kỹ thuật sinh học, dòng chất lưu và truyền nhiệt, phân tích động cơ và các quá trình đốt cháy trong động cơ,... CFD có thể hỗ trợ kiểm tra, xác minh, kiểm chứng các thiết kế kỹ thuật và các tính toán xác lập trước khi bắt đầu triển khai các dự án. Trong một số trường hợp là công cụ không thể thiếu để có thể tính toán các thiết kế, tối ưu hóa, xác định các tiêu chuẩn an toàn. Với sự phát triển mạnh mẽ về sức mạnh tính toán của các máy tính, CFD ngày càng có thể dự đoán chính xác, nhanh hơn và hiệu quả hơn trước. Lượng dữ liệu phục vụ tính toán càng ngày càng dồi dào, đầy đủ do sự phát triển của các ngành khoa học dữ liệu và các phần mềm CFD luôn được phát triển dựa trên nhu cầu thực tế.
Mối quan hệ giữa CFD và các tính toán xác lập
Hình 1. Tam giác phân loại các tính toán trong thiết kế dự án và lượng dữ liệu thu được [4]
Chú thích: Cost - Tài nguyên máy tính, Data flow - Dữ liệu thu được, System scale - Thang hệ thống, Lumped parameter approaches - Cách tiếp cận tham số gộp để đơn giản hóa mô hình vật lý, Engineering scale - Thang kỹ thuật, Porous media/subchannel/Coarse CFD - Môi trường có nhiều chỗ trống/kênh nhỏ/ -> có thể CFD dùng lưới thô, Reynolds Averaged Navier-Stokes - Mô phỏng Reynolds Averaged Navier-Stokes(RANS), Hybrid Turbulence Modeling - Mô phỏng kết hợp 2 CFD khác loại, thường là RANS và LES, Large Eddy Simulation (viết tắt LES) - Mô phỏng xoáy lớn, Direct Numerical Simulation - Mô phỏng số trực tiếp (giải trực tiếp các phương trình Navier-Stokes bằng phương pháp số).
Ở bước thực hiện các tính toán xác lập (ở Systems scale), chủ yếu dựa vào các phương trình, công thức có sẵn hoặc nhận được từ thực nghiệm. Tiếp theo đó là việc bắt đầu áp dụng CFD khi cần nhiều thông tin hơn ở Engineering scale, và Lower length scale. Sự khác nhau giữa các mức độ áp dụng CFD nằm ở lượng dữ liệu mà ta cần thu thập. Dữ liệu càng chi tiết thì sẽ mất càng nhiều tài nguyên máy tính để chạy CFD. Lượng tài nguyên máy tính cần thiết sẽ được xác định bằng độ tinh vi của lưới (Mesh) sẽ đề cập ở mục sau. Bảng 1 sẽ chỉ ra sự khác biệt khi ứng dụng CFD vào thiết kế công nghệ.
Bảng 1. So sánh giữa tính toán xác lập và tính toán động của CFD (dynamic)
System scale (tính toán xác lập)
|
CFD
|
-
Tính toán thiết kế dựa trên các công thức nhận được từ thực nghiệm – áp dụng lời giải của các phương trình Navier-Stokes khi không còn các biến vi phân.
-
Các giá trị tính toán thường mang ý nghĩa trung bình cho 1 miền xác định.
-
Không thể dự đoán được các quá trình quá độ, hành vi các trường theo thời gian.
|
-
Tính toán quá trình quá độ (transient) và xác lập dựa trên việc giải các phương trình Navier-Stokes.
-
Dự đoán được các quá trình quá độ, từ lúc bắt đầu, hay khi hệ thống đang chạy ổn định.
-
Có thể tính toán chi tiết hành vi (behavior) của các trường (vận tốc, nhiệt độ,…) ở mọi điểm phụ thuộc vào thời gian. Từ đó có thể thực hiện các phân tích dữ liệu phức tạp.
|
Ứng dụng CFD vào các bài toán thực tế từ ví dụ phần mềm CFD mã nguồn mở Nek5000
Nek5000 [3] là phần mềm CFD mã nguồn mở được phát triển tại viện nghiên cứu quốc gia Argonne (Hoa Kỳ). Phần mềm này được lập trình dựa trên Fortran chạy trên CPU và đã được các nhà nghiên cứu trên thế giới sử dụng phổ biến và xác minh tính chính xác. Ưu thế vượt trội của Nek5000 so với các phần mềm CFD khác là có khả năng biến các lưới thô (coarsed mesh) thành các lưới tinh (fine mesh) để chạy được cho các bài toán cần độ chính xác cao với tốc độ tối ưu. Lưới (Mesh) ở đây được hiểu là mô hình máy tính được xây dựng trên mô hình thực tế được chia nhỏ ở dạng lưới theo nhu cầu về lượng thông tin cần thu thập. Lưới càng dày (lưới tinh) thì lượng thông tin thu được sẽ càng chính xác và chi tiết.
Hình 2. Ví dụ tạo lưới từ mô hình thí nghiệm [5]
Nek5000 đã và đang được tối ưu hóa sử dụng tài nguyên máy tính để ngày càng trở nên hiệu quả hơn. Phiên bản mới nhất hiện nay của Nek5000 là NekRS [6] lập trình trên nền tảng C++ sử dụng GPU thay cho CPU. NekRS được xây dựng để tận dụng cấu trúc của GPU và hiện đang dẫn đầu về tốc độ tính toán trong các phần mềm CFD hiện có trên thế giới.
Nek5000, cũng như các phần mềm CFD khác, có thể tính toán được trường nhiệt độ, trường vận tốc, trường áp suất trong không gian 3D, tính toán các số liệu thống kê cần thiết, phân tích năng lượng, và nhiều giải thuật khác. Kết quả tính toán ngoài việc xem được dưới dạng database có thể xem được dưới dạng mô hình 3D (xem hình 3). Nek5000 có ưu thế trong việc giải được các bài toán có xét đến sự thay đổi tính chất vật lý của chất lưu dưới các điều kiện nhiệt độ và áp suất khác nhau với độ chính xác rất cao. Dưới đây là những bước cơ bản để thiết lập và giải quyết một bài toán bằng CFD:
-
Bước 1: Xác định bài toán cần giải, mô hình, các dữ liệu ban đầu, những dữ liệu đầu ra cần thiết.
-
Bước 2 : Dựa trên Bước 1 sẽ tính toán thiết kế lưới sao cho tiết kiệm và hiệu quả nhất.
-
Bước 3: Đưa các dữ liệu đầu vào vào CFD và lập trình bài toán cần giải cho phần mềm thông qua ngôn ngữ Fortran hoặc C++.
-
Bước 4: Chạy thử chương trình, kiểm tra và hiệu chỉnh các lỗi gặp phải.
-
Bước 5: Chạy chương trình trong khoảng thời gian cần thiết để thu được kết quả.
Với một bài toán cụ thể, cần kiểm nghiệm kết quả tính toán CFD với thí nghiệm mẫu cho trước để xác lập các thông số liên quan đến thời gian chạy (runtimes) dùng cho bài toán thực tế. Ở bước này việc quan trọng nhất cần đạt được là các số liệu thống kê của CFD phải khớp với các kết quả thực nghiệm. Với sự giúp đỡ của CFD, khi bắt đầu một dự án lớn, việc tạo mô hình thí nghiệm có thể rất nhỏ và tiết kiệm. Sau đó có thể thay đổi các dữ liệu đầu vào tương ứng với các điều kiện vận hành khác nhau. Dựa trên kích thước và độ chính xác cần thiết của bài toán, hệ thống mạng lưới tương ứng sẽ được thiết lập. Những bài toán nhỏ có thể chạy trên máy tính xách tay thông thường, tuy nhiên với những bài toán lớn hơn cần chạy trên siêu máy tính.
Hình 3. A – mô phỏng CFD phân bố vận tốc, và B – phân bố enthalpy của khí CO2 siêu tới hạn chảy trong ống tròn. C – mô phỏng phân bố nhiệt độ trong lõi lò phản ứng dùng nhiên liệu TRISO [7,8]
Ở hình 3, mô phỏng CFD khí CO2 siêu tới hạn có thể được thực hiện trên máy tính cá nhân, tuy nhiên để mô phỏng lõi lò phản ứng cần được thực hiện trên siêu máy tính Summit tại Viện nghiên cứu Quốc gia Oak Ridge (Hoa Kỳ) [9], hiện đứng thứ 2 thế giới về tốc độ tính toán.
Với sự phát triển của công nghệ máy tính, CFD ngày càng trở nên phổ biến, nhanh hơn và dễ tiếp cận hơn. Ứng dụng CFD kết hợp với thực nghiệm sẽ giúp tiết kiệm chi phí trong bất cứ dự án nào. Kết quả thu được là rất đáng tin cậy và trong một số trường hợp thiết kế bắt buộc cần phải sử dụng CFD để có kết quả chính xác nhất.
Nek5000 và NekRS là những phần mềm CFD mã nguồn mở tốt nhất hiện nay với tốc độ tính toán tối ưu. Các thiết lập đầu vào cũng như dữ liệu đầu ra ở Nek5000/NekRS rất linh hoạt, không bị giới hạn như các phần mềm CFD bản quyền, tuy nhiên việc tạo lưới và kiểm tra lỗi còn phức tạp, phụ thuộc nhiều vào khả năng lập trình của người dùng.
Thực hiện: Nguyễn Trị
Nguồn tham khảo:
[1] https://en.wikipedia.org/wiki/Computational_fluid_dynamics.
[2] S. Pope, Turbulent Flows, Cambridge: Cambridge University Pres, 2000.
[3] Nek5000 17.0 User guide.
[4] Elia Merzari, Aleksandr Obabko, and Paul Fischer, “Spectral element methods for liquid metal reactors applications”, Argonne National Laboratory, USA, 2017.
[5] Tri Nguyen, Elia Merzari., 2020 “On the Impact of Aspect Ratio and Other Geometric Effects on the Stability of Rectangular Thermosiphons”. Journal of Heat Transfer.
[6] Paul Fischer, Stefan Kerkemeier, Misun Min, Yu-Hsiang Lan, Malachi Phillips, Thilina Rathnayake, Elia Merzari, Ananias Tomboulides, Ali Karakus, Noel Chalmers, Tim Warburton., “NekRS, a GPU-Accelerated Spectral Element NavierStokes Solver”, arXiv:2104.05829 [cs.PF].
[7] Tri Nguyen, Elia Merzari, Haomin Yuan, “Direct Numerical Simulation of Supercritical CO2 Flow: Development of a plugin for the REFPROP/ PROPATH Properties Database in the spectral element code NekRS”. ANS annual meeting, November 30–December 3, 2021, Washington DC, USA.
[8] Tri Nguyen, Elia Merzari, Haomin Yuan, “Kairos Power – Argonne collaboration report”, USA.
[9] Summit User guide.