
سیالات محاسباتی
1. تعریف سیالات محاسباتی
سیالات محاسباتی (CFD) شاخهای از مهندسی و فیزیک محاسباتی است که رفتار جریان سیال و انتقال حرارت و جرم را با استفاده از مدلهای ریاضی و شبیهسازیهای کامپیوتری مطالعه میکند.
به جای اینکه فقط آزمایشگاهی سیالات و سیالات محاسباتی را بررسی کنیم، CFD این امکان را میدهد که پدیدهها را روی کامپیوتر شبیهسازی کنیم و نتایج را پیشبینی کنیم.
2. کاربردهای CFD سیالات محاسباتی
CFD در صنایع مختلف کاربرد دارد، از جمله:
-
هوافضا: طراحی بال هواپیما، پیشبینی جریان هوا
-
خودرو: بهینهسازی آیرودینامیک خودرو
-
مهندسی شیمی: طراحی راکتور، مخازن اختلاط
-
مهندسی مکانیک: سیستمهای تهویه، توربینها
-
محیط زیست: پیشبینی حرکت آب در رودخانهها و اقیانوسها
3. مراحل حل مسائل CFD
-
مدلسازی فیزیکی: مشخص کردن جریان، سیال، هندسه و شرایط مرزی
-
معادلات حاکم : استفاده از معادلات ناویر-استوکس (Navier-Stokes) و قانون بقای جرم و انرژی
-
شبکهبندی (Meshing) سیالات محاسباتی: تقسیم محیط به شبکهای از حجمهای کوچک
-
حل عددی سیالات محاسباتی: حل معادلات با روشهای عددی (مثل روش حجم محدود یا المان محدود)
-
تحلیل نتایج سیالات محاسباتی: بررسی سرعت، فشار، دما، و سایر پارامترها
4. مزایای CFD سیالات محاسباتی
-
کاهش هزینه و زمان نسبت به آزمایشهای فیزیکی
-
امکان بررسی شرایطی که در آزمایشگاه سخت یا غیرممکن هستند
-
امکان بهینهسازی سریع طراحیها
5. معادلات اصلی در CFD
معادلاتی که CFD بر اساس آنها کار میکند، معادلات حاکم سیالات هستند، از جمله:
-
معادله بقای جرم (Continuity Equation)
این معادله بیان میکند که جرم سیال در طول زمان حفظ میشود. برای سیال تراکمپذیر و تراکمناپذیر شکل متفاوتی دارد.برای سیال تراکمناپذیر:
∇⋅v⃗=0\nabla \cdot \vec{v} = 0
که v⃗\vec{v} سرعت جریان است.
-
معادلات ناویر-استوکس (Navier-Stokes Equations)
اینها معادلات حرکت سیال هستند و شامل اثرات اینرسی، فشار، ویسکوزیته و نیروهای خارجی میشوند:ρ(∂v⃗∂t+v⃗⋅∇v⃗)=−∇p+μ∇2v⃗+F⃗\rho \left( \frac{\partial \vec{v}}{\partial t} + \vec{v} \cdot \nabla \vec{v} \right) = -\nabla p + \mu \nabla^2 \vec{v} + \vec{F}
-
ρ\rho: چگالی
-
pp: فشار
-
μ\mu: ویسکوزیته
-
F⃗\vec{F}: نیروهای خارجی
-
-
معادله انرژی (Energy Equation) سیالات محاسباتی
برای مسائل انتقال حرارت یا جریان با تغییر دما استفاده میشود:ρcp(∂T∂t+v⃗⋅∇T)=k∇2T+S\rho c_p \left( \frac{\partial T}{\partial t} + \vec{v} \cdot \nabla T \right) = k \nabla^2 T + S
که TT دما، cpc_p ظرفیت گرمایی و kk ضریب هدایت حرارتی است.
6. شبکهبندی (Meshing) سیالات محاسباتی
برای شبیهسازی، محیط مورد نظر به شبکهای از سلولهای کوچک تقسیم میشود.
-
هر سلول مقدار فشار، سرعت و دما دارد.
-
هرچه شبکه ریزتر باشد، دقت بیشتر ولی زمان محاسبات طولانیتر.
-
انواع شبکه: ساختاری (Structured) و غیرساختاری (Unstructured).
7. روشهای عددی (Numerical Methods) سیالات محاسباتی
برای حل معادلات بالا به صورت عددی از روشهای مختلف استفاده میشود:
-
Finite Difference Method (FDM) – روش تفاضل محدود
-
Finite Volume Method (FVM) – روش حجم محدود
-
Finite Element Method (FEM) – روش المان محدود
روش FVM در CFD رایجترین است، چون حفظ جرم و انرژی در هر سلول شبکه را تضمین میکند.
8. تحلیل نتایج
بعد از شبیهسازی، نتایج به شکل:
-
نقشه سرعت (Velocity Field)
-
نقشه فشار (Pressure Field)
-
نقشه دما (Temperature Field)
نمایش داده میشوند و میتوان جریانهای پیچیده، توربولانس و نقاط بحرانی را مشاهده کرد.
9. چالشها و محدودیتها
-
جریانهای توربولانسی پیچیده نیاز به مدلهای پیشرفته دارند.
-
زمان محاسباتی زیاد برای شبکههای ریز.
-
خطاهای ناشی از تقریبی بودن روش عددی و فرضیات مدل.
10. مدلسازی توربولانس
در بسیاری از جریانها، جریان به صورت آشوبناک (توربولانت) است و حل مستقیم معادلات ناویر-استوکس برای آن بسیار سنگین است.
به همین دلیل از مدلهای توربولانس استفاده میکنیم:
-
RANS (Reynolds-Averaged Navier-Stokes)
-
جریان میانگین گرفته میشود و اثرات نوسان کوچک به صورت مدل اضافه میشود.
-
سریع و کمهزینه محاسباتی، اما جزئیات ریز را نشان نمیدهد.
-
-
LES (Large Eddy Simulation)
-
گردابهای بزرگ به صورت مستقیم شبیهسازی میشوند و گردابهای کوچک مدل میشوند.
-
دقیقتر ولی نیازمند محاسبات زیاد است.
-
-
DNS (Direct Numerical Simulation)
-
همه مقیاسهای جریان به صورت مستقیم حل میشوند.
-
دقیقترین روش، اما تقریباً برای جریانهای صنعتی عملی نیست به دلیل نیاز به قدرت محاسباتی بسیار زیاد.
-
11. شرایط مرزی (Boundary Conditions)
یکی از نکات مهم در CFD، تعریف شرایط مرزی مناسب است:
-
Inlet: ورودی جریان، معمولاً سرعت یا فشار مشخص میشود.
-
Outlet: خروجی جریان، فشار یا شرایط آزاد.
-
Wall: دیوارهها، که میتواند لغزنده یا غیرلغزنده باشد.
-
Symmetry: در مسائل متقارن برای کاهش حجم محاسبات.
شرایط مرزی غلط باعث خطا یا عدم همگرایی شبیهسازی میشود.
12. همگرایی و ارزیابی شبیهسازی
-
شبیهسازی باید همگرا شود یعنی تغییرات بین تکرارها به حداقل برسد.
-
معیارها: تغییر فشار، سرعت و دما در تکرارهای متوالی.
-
اگر شبیهسازی همگرا نشود، نتایج قابل اعتماد نیستند.
13. نرمافزارهای رایج CFD
چند نرمافزار معروف که برای CFD استفاده میشوند:
-
ANSYS Fluent: صنعتی، قدرتمند، رابط گرافیکی خوب
-
OpenFOAM: متنباز، رایگان، انعطافپذیر
-
COMSOL Multiphysics: شبیهسازی چندفیزیکی، جریان+حرارت+الکتریسیته
-
SimScale: مبتنی بر وب، کاربری آسان
14. نکات مهم برای شروع
-
یادگیری ریاضیات جریان سیال و معادلات ناویر-استوکس پایه کار است.
-
قبل از شبیهسازی پیچیده، مسائل ساده مانند جریان در لوله یا اطراف یک مکعب را تمرین کن.
-
شبکهبندی مناسب و انتخاب مدل توربولانس درست کلید نتایج دقیق است.
15. مثال عملی: جریان سیال در یک لوله مستقیم
گام 1: تعریف مسئله
-
هندسه: لوله استوانهای با طول LL و قطر DD
-
سیال: آب، تراکمناپذیر، ویسکوز
-
هدف: پراکندگی سرعت و فشار داخل لوله
گام 2: معادلات حاکم
برای سیال تراکمناپذیر، از معادلات زیر استفاده میکنیم:
-
معادله بقای جرم:
∇⋅v⃗=0\nabla \cdot \vec{v} = 0
-
معادلات حرکت (ناویر-استوکس):
ρ(∂v⃗∂t+v⃗⋅∇v⃗)=−∇p+μ∇2v⃗\rho \left( \frac{\partial \vec{v}}{\partial t} + \vec{v}\cdot\nabla \vec{v} \right) = -\nabla p + \mu \nabla^2 \vec{v}
گام 3: تعریف شرایط مرزی
-
ورودی لوله (Inlet): سرعت ثابت vinv_{in}
-
خروجی لوله (Outlet): فشار صفر (atmospheric)
-
دیواره لوله (Wall): شرط بدون لغزش (no-slip, v=0v = 0)
گام 4: شبکهبندی (Meshing)
-
لوله را به چندین بخش کوچک تقسیم میکنیم.
-
هر سلول مقدار سرعت و فشار خود را دارد.
-
شبکه ریزتر → دقت بالاتر، زمان حل طولانیتر.
گام 5: انتخاب روش عددی و حل
-
روش رایج: Finite Volume Method (FVM)
-
الگوریتم همگرایی: SIMPLE یا PISO (برای جریان تراکمناپذیر)
-
نرمافزار: OpenFOAM یا ANSYS Fluent
گام 6: تحلیل نتایج سیالات محاسباتی
-
پس از شبیهسازی، میتوان نمودار سرعت نسبت به شعاع لوله را رسم کرد.
-
پروفیل سرعت معمولاً به صورت پارابولیک (در جریان آرام) است:
v(r)=vmax(1−r2R2)v(r) = v_{max} \left(1 – \frac{r^2}{R^2}\right)
که RR شعاع لوله است و vmaxv_{max} بیشینه سرعت در مرکز لوله.
-
فشار در طول لوله کاهش مییابد (Drop فشار) که قابل مشاهده و اندازهگیری است.
نکته سیالات محاسباتی:
-
اگر جریان توربولانت باشد، پروفیل سرعت به صورت صافتر و پر پیچ و خم خواهد بود.
-
میتوان از مدلهای توربولانس RANS استفاده کرد.
16. شبیهسازی جریان سیال در پایتون (مثال ساده) سیالات محاسباتی
برای مثال ساده، میتوانیم از کتابخانههای عددی پایتون مانند numpy
و matplotlib
استفاده کنیم و جریان آرام لوله را شبیهسازی کنیم. در اینجا یک روش دو بعدی و ساده برای پروفیل سرعت لوله آورده شده است:
توضیح:
-
این مدل جریان لامینه و تراکمناپذیر است.
-
شکل نمودار پارابولیک است، بیشینه سرعت در مرکز و صفر در دیواره (شرط no-slip).
-
این مثال بسیار ساده است ولی پایه فهم CFD است و میتواند بعداً به شبکهبندی واقعی و معادلات ناویر-استوکس ارتقا یابد.
17. گام بعدی سیالات محاسباتی
اگر بخوای، میتوانیم قدم بعدی را برداریم:
-
شبیهسازی سهبعدی جریان لوله با حل معادلات عددی واقعی (Finite Volume Method)
-
رسم نقشههای سرعت و فشار داخل لوله با استفاده از پایتون یا OpenFOAM
-
اضافه کردن توربولانس ساده با مدل RANS
18. شبیهسازی عددی جریان با روش Finite Volume Method (FVM) سیالات محاسباتی
گام 1: تعریف مسئله سیالات محاسباتی
-
هندسه: لوله استوانهای یا کانال مستطیلی سیالات محاسباتی
-
سیال: آب، تراکمناپذیر، ویسکوز سیالات محاسباتی
-
هدف: سرعت و فشار واقعی داخل لوله با حل معادلات ناویر-استوکس سیالات محاسباتی
گام 2: شبکهبندی (Meshing) سیالات محاسباتی
-
محیط لوله به تعداد زیادی سلول کوچک تقسیم میشود.
-
هر سلول مقدار فشار و سرعت خود را دارد.
-
شبکه ریز → دقت بالا، زمان محاسبات طولانی.
-
مثال: 50x50x200 سلول در طول و عرض و ارتفاع لوله.
گام 3: روش عددی و الگوریتم حل سیالات محاسباتی
-
Finite Volume Method برای حل معادلات ناویر-استوکس
-
الگوریتم همگرایی: SIMPLE (برای جریان تراکمناپذیر)
-
شرایط مرزی سیالات محاسباتی:
-
ورودی سیالات محاسباتی: سرعت ثابت vinv_{in}
-
خروجی سیالات محاسباتی: فشار صفر
-
دیواره سیالات محاسباتی: شرط no-slip
-
19. مدل توربولانس (اختیاری)
اگر جریان سرعت بالا و توربولانت باشد:
-
میتوان از مدل RANS استفاده کرد.
-
معادلات توربولانس اضافی به معادلات اصلی اضافه میشوند تا اثر گردابهای کوچک شبیهسازی شود.
20. تحلیل نتایج سیالات محاسباتی
-
بعد از حل عددی، نتایج قابل تصویرسازی به صورت نقشه سرعت و فشار هستند:
-
پروفیل سرعت در طول لوله
-
پراکندگی فشار و افت فشار در طول لوله
-
-
این دادهها به مهندس اجازه میدهد طراحی بهینه داشته باشد، مثل تعیین قطر مناسب لوله یا بهینهسازی پمپها.
21. ابزارهای انجام سیالات محاسباتی
برای شبیهسازی واقعی میتوان از:
-
OpenFOAM (متنباز)
-
ANSYS Fluent (صنعتی)
-
حتی با پایتون و کتابخانههایی مثل
FiPy
میتوان FVM ساده را پیادهسازی کرد.
22. مثال CFD با FiPy (Finite Volume Method در پایتون)
گام 1: نصب FiPy
ابتدا باید FiPy نصب شود:
گام 2: شبیهسازی جریان ساده 2D در کانال
در این مثال، جریان آرام (laminar) در یک کانال مستطیلی را شبیهسازی میکنیم:
23. توضیح مثال:
-
این شبیهسازی جریان دو بعدی لامینار است.
-
شبکه 2D برای کانال ساخته شد (nx×ny سلول).
-
معادله ساده Laminar Flow با گرادیان فشار حل شد.
-
خروجی: پروفیل سرعت به صورت پارابولیک، مشابه آنچه در تئوری انتظار داریم.
24. گامهای بعدی پیشرفتهتر
-
افزودن توربولانس با مدل RANS
-
شبیهسازی 3D لوله استوانهای
-
رسم نقشههای کانتور فشار و سرعت
-
ترکیب با انتقال حرارت برای شبیهسازی جریان با اثر دما
25. شبیهسازی سهبعدی جریان لوله (Conceptual)
گام 1: تعریف هندسه و شبکه
-
هندسه: لوله استوانهای با طول LL و شعاع RR
-
شبکهبندی 3D: سلولها در طول، شعاع و محیط دایره تقسیم میشوند
-
مثال: 50×20×20 سلول در طول، شعاع و زاویه
گام 2: شرایط مرزی
-
ورودی لوله: سرعت ثابت vinv_{in}
-
خروجی لوله: فشار صفر
-
دیواره لوله: شرط no-slip
گام 3: معادلات
-
معادلات ناویر-استوکس 3D:
ρ(∂v⃗∂t+v⃗⋅∇v⃗)=−∇p+μ∇2v⃗\rho \left( \frac{\partial \vec{v}}{\partial t} + \vec{v}\cdot\nabla \vec{v} \right) = -\nabla p + \mu \nabla^2 \vec{v}
-
برای جریان آرام، میتوان مدل توربولانس را نادیده گرفت.
-
برای جریان سریع یا توربولانت، از مدل RANS k-ε یا k-ω استفاده میکنیم.
گام 4: حل عددی
-
روش: Finite Volume Method (FVM)
-
الگوریتم: SIMPLE یا PISO
-
نرمافزار: OpenFOAM یا FiPy (برای 3D ساده)
گام 5: تحلیل نتایج و کانتور
پس از حل، نتایج به صورت نقشه سهبعدی سرعت و فشار قابل مشاهده است:
-
Contour Plot: فشار و سرعت در طول لوله و سطح داخلی
-
Vector Field: نمایش جهت جریان و شدت آن
-
Streamlines: خطوط جریان برای دید بهتر مسیر حرکت سیال
26. نکات عملی سیالات محاسباتی
-
شبکهبندی ریزتر → دقت بالاتر، زمان محاسبات طولانیتر
-
انتخاب مدل توربولانس مناسب در جریانهای سریع ضروری است
-
مقادیر اولیه و شرط مرزی صحیح → تضمین همگرایی شبیهسازی
27. شبیهسازی سهبعدی ساده جریان لوله (نمونه دیداری)
28. توضیح کد
-
جریان لامینار در طول لوله شبیهسازی شد.
-
Contour Plot: نقشه سرعت در مقطع طولی لوله.
-
Streamlines: خطوط جریان، مسیر حرکت سیال را نشان میدهد.
-
برای توربولانس یا جریان پیچیده واقعی، باید از OpenFOAM یا FiPy با شبکه 3D کامل استفاده کرد.
29. گام بعدی حرفهای
-
شبکهبندی کامل 3D استوانهای با OpenFOAM
-
اضافه کردن توربولانس RANS
-
ترکیب با انتقال حرارت و تحلیل افت فشار و مصرف انرژی
30. شبیهسازی جریان 3D لوله با OpenFOAM
گام 1: نصب OpenFOAM
OpenFOAM روی لینوکس یا ویندوز با WSL نصب میشود:
گام 2: ایجاد پروژه و ساخت هندسه
-
ایجاد دایرکتوری پروژه:
-
کپی کردن یک case نمونه لوله (pipe):
-
تغییر هندسه و شرایط مرزی به لوله استوانهای:
-
ورودی (
inlet
): سرعت ثابت -
خروجی (
outlet
): فشار صفر -
دیواره (
walls
): شرط no-slip
گام 3: شبکهبندی (Meshing)
OpenFOAM از blockMesh
برای شبکهبندی استفاده میکند:
-
سلولها در طول و شعاع تقسیم میشوند (مثلاً 50×20×20 سلول).
-
شبکه ریز → دقت بالا، زمان حل طولانیتر.
گام 4: انتخاب حلکننده
برای جریان تراکمناپذیر لامینار:
-
اگر توربولانس بود، میتوان از:
استفاده کرد.
گام 5: تحلیل نتایج
-
دادههای فشار و سرعت در دایرکتوری
postProcessing
ذخیره میشوند. -
برای مشاهده و رسم کانتور و خطوط جریان از ParaView استفاده میکنیم:
-
Contour Plot: فشار و سرعت
-
Streamlines: مسیر حرکت سیال
31. نکات حرفهای
-
همگرایی شبیهسازی با بررسی تغییرات سرعت و فشار تکرار به تکرار بررسی میشود.
-
مدل توربولانس مناسب برای جریانهای سریع یا صنعتی ضروری است.
-
شبکهبندی مناسب و شرایط مرزی درست کلید نتایج دقیق هستند.
ثنا، با این مرحله، تو یک پروژه صنعتی CFD واقعی با OpenFOAM را مشاهده کردی:
-
سهبعدی
-
کانتور سرعت و فشار
-
خطوط جریان
-
قابلیت افزودن توربولانس و انتقال حرارت
32. ساخت Case آماده OpenFOAM
گام 1: ساخت ساختار دایرکتوری
OpenFOAM برای هر پروژه یک ساختار استاندارد دارد:
گام 2: تنظیم شرایط اولیه و مرزی (دایرکتوری 0/
)
U (سرعت):
p (فشار):
گام 3: مشخصات سیال (دایرکتوری constant/transportProperties
)
گام 4: شبکهبندی (دایرکتوری constant/polyMesh
)
-
با
blockMesh
شبکه را ایجاد کن:
گام 5: تنظیم حلکننده (دایرکتوری system/
)
controlDict:
fvSchemes و fvSolution:
-
از پیشفرض
simpleFoam
استفاده میکنیم (قابل تغییر برای دقت بیشتر).
گام 6: اجرا
-
شبکه را بساز:
-
شبیهسازی را اجرا کن:
-
نتایج را با ParaView مشاهده کن:
-
کانتور سرعت و فشار
-
خطوط جریان
🔹 نتیجه
-
Case آماده، سهبعدی، جریان لامینار در لوله
-
امکان افزودن توربولانس، انتقال حرارت و مقایسه صنعتی
-
دیداری با Contour Plot و Streamlines
-
Previous Post
داروسازی
-
Next Post
مقاله ارشد صنایع