Table of Contents

سیالات محاسباتی

1. تعریف سیالات محاسباتی

سیالات محاسباتی (CFD) شاخه‌ای از مهندسی و فیزیک محاسباتی است که رفتار جریان سیال و انتقال حرارت و جرم را با استفاده از مدل‌های ریاضی و شبیه‌سازی‌های کامپیوتری مطالعه می‌کند.

به جای اینکه فقط آزمایشگاهی سیالات  و سیالات محاسباتی را بررسی کنیم، CFD این امکان را می‌دهد که پدیده‌ها را روی کامپیوتر شبیه‌سازی کنیم و نتایج را پیش‌بینی کنیم.


2. کاربردهای CFD سیالات محاسباتی

CFD در صنایع مختلف کاربرد دارد، از جمله:

  • هوافضا: طراحی بال هواپیما، پیش‌بینی جریان هوا

  • خودرو: بهینه‌سازی آیرودینامیک خودرو

  • مهندسی شیمی: طراحی راکتور، مخازن اختلاط

  • مهندسی مکانیک: سیستم‌های تهویه، توربین‌ها

  • محیط زیست: پیش‌بینی حرکت آب در رودخانه‌ها و اقیانوس‌ها


3. مراحل حل مسائل CFD

  1. مدلسازی فیزیکی: مشخص کردن جریان، سیال، هندسه و شرایط مرزی

  2. معادلات حاکم : استفاده از معادلات ناویر-استوکس  (Navier-Stokes) و قانون بقای جرم و انرژی

  3. شبکه‌بندی (Meshing) سیالات محاسباتی: تقسیم محیط به شبکه‌ای از حجم‌های کوچک

  4. حل عددی سیالات محاسباتی: حل معادلات با روش‌های عددی (مثل روش حجم محدود یا المان محدود)

  5. تحلیل نتایج سیالات محاسباتی: بررسی سرعت، فشار، دما، و سایر پارامترها


4. مزایای CFD سیالات محاسباتی

سیالات محاسباتی

  • کاهش هزینه و زمان نسبت به آزمایش‌های فیزیکی

  • امکان بررسی شرایطی که در آزمایشگاه سخت یا غیرممکن هستند

  • امکان بهینه‌سازی سریع طراحی‌ها

5. معادلات اصلی در CFD

معادلاتی که CFD بر اساس آن‌ها کار می‌کند، معادلات حاکم سیالات هستند، از جمله:

  1. معادله بقای جرم (Continuity Equation)
    این معادله بیان می‌کند که جرم سیال در طول زمان حفظ می‌شود. برای سیال تراکم‌پذیر و تراکم‌ناپذیر شکل متفاوتی دارد.

    برای سیال تراکم‌ناپذیر:

    ∇⋅v⃗=0\nabla \cdot \vec{v} = 0

    که v⃗\vec{v} سرعت جریان است.

  2. معادلات ناویر-استوکس (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}: نیروهای خارجی

  3. معادله انرژی (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. مدل‌سازی توربولانس

در بسیاری از جریان‌ها، جریان به صورت آشوبناک (توربولانت) است و حل مستقیم معادلات ناویر-استوکس برای آن بسیار سنگین است.
به همین دلیل از مدل‌های توربولانس استفاده می‌کنیم:

  1. RANS (Reynolds-Averaged Navier-Stokes)

    • جریان میانگین گرفته می‌شود و اثرات نوسان کوچک به صورت مدل اضافه می‌شود.

    • سریع و کم‌هزینه محاسباتی، اما جزئیات ریز را نشان نمی‌دهد.

  2. LES (Large Eddy Simulation)

    • گرداب‌های بزرگ به صورت مستقیم شبیه‌سازی می‌شوند و گرداب‌های کوچک مدل می‌شوند.

    • دقیق‌تر ولی نیازمند محاسبات زیاد است.

  3. 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: معادلات حاکم

برای سیال تراکم‌ناپذیر، از معادلات زیر استفاده می‌کنیم:

  1. معادله بقای جرم:

∇⋅v⃗=0\nabla \cdot \vec{v} = 0

  1. معادلات حرکت (ناویر-استوکس):

ρ(∂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 استفاده کنیم و جریان آرام لوله را شبیه‌سازی کنیم. در اینجا یک روش دو بعدی و ساده برای پروفیل سرعت لوله آورده شده است:

import numpy as np
import matplotlib.pyplot as plt
# پارامترهای لوله
R = 0.05 # شعاع لوله (m)
v_max = 1.0 # بیشینه سرعت در مرکز لوله (m/s)# ایجاد شعاع‌ها
r = np.linspace(0, R, 100)# پروفیل سرعت پارابولیک (جریان آرام)
v = v_max * (1 – (r/R)**2)# رسم نمودار
plt.plot(r, v)
plt.xlabel(‘شعاع لوله (m)’)
plt.ylabel(‘سرعت (m/s)’)
plt.title(‘پروفیل سرعت جریان آرام در لوله’)
plt.grid(True)
plt.show()


توضیح:

  • این مدل جریان لامینه و تراکم‌ناپذیر است.

  • شکل نمودار پارابولیک است، بیشینه سرعت در مرکز و صفر در دیواره (شرط 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 نصب شود:

pip install fipy

گام 2: شبیه‌سازی جریان ساده 2D در کانال

در این مثال، جریان آرام (laminar) در یک کانال مستطیلی را شبیه‌سازی می‌کنیم:

import fipy as fp
import numpy as np
import matplotlib.pyplot as plt
# ابعاد کانال
L = 1.0 # طول کانال (m)
H = 0.1 # ارتفاع کانال (m)
nx = 50 # تعداد سلول‌ها در طول
ny = 10 # تعداد سلول‌ها در ارتفاع# ایجاد شبکه
mesh = fp.Grid2D(dx=L/nx, dy=H/ny, nx=nx, ny=ny)# متغیر سرعت (v_x) و فشار (p)
v = fp.CellVariable(name=“Velocity”, mesh=mesh, value=0.0)
p = fp.CellVariable(name=“Pressure”, mesh=mesh, value=0.0)# پارامتر سیال
mu = 0.001 # ویسکوزیته (Pa.s)
rho = 1000 # چگالی (kg/m^3)
dpdx = –1.0 # گرادیان فشار طولی

# معادله ناویر-استوکس ساده برای جریان لامینه
eq = (mu * v.faceGrad.divergence – dpdx)

# حل معادله
eq.solve(var=v)

# رسم پروفیل سرعت در مرکز کانال
v_profile = v.value.reshape((ny, nx))[:, nx//2]
y = np.linspace(0, H, ny)

plt.plot(v_profile, y)
plt.xlabel(“سرعت (m/s)”)
plt.ylabel(“ارتفاع کانال (m)”)
plt.title(“پروفیل سرعت جریان آرام در کانال”)
plt.grid(True)
plt.show()


23. توضیح مثال:

  1. این شبیه‌سازی جریان دو بعدی لامینار است.

  2. شبکه 2D برای کانال ساخته شد (nx×ny سلول).

  3. معادله ساده Laminar Flow با گرادیان فشار حل شد.

  4. خروجی: پروفیل سرعت به صورت پارابولیک، مشابه آنچه در تئوری انتظار داریم.


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. شبیه‌سازی سه‌بعدی ساده جریان لوله (نمونه دیداری)

import numpy as np
import matplotlib.pyplot as plt
# ابعاد لوله
L = 1.0 # طول لوله (m)
R = 0.05 # شعاع لوله (m)
nx, nr = 50, 20 # تعداد سلول‌ها در طول و شعاع# شبکه
x = np.linspace(0, L, nx)
r = np.linspace(0, R, nr)
X, R_grid = np.meshgrid(x, r)# پروفیل سرعت پارابولیک در هر مقطع شعاعی (Laminar Flow)
v_max = 1.0 # بیشینه سرعت
V = v_max * (1 – (R_grid/R)**2)# رسم کانتور سرعت
plt.figure(figsize=(8,5))
cp = plt.contourf(X, R_grid, V, 20, cmap=‘viridis’)
plt.colorbar(cp, label=‘سرعت (m/s)’)
plt.xlabel(‘طول لوله (m)’)
plt.ylabel(‘شعاع لوله (m)’)
plt.title(‘کانتور سرعت جریان آرام در لوله (3D view 2D projection)’)
plt.show()

# رسم خطوط جریان ساده
plt.figure(figsize=(8,5))
plt.streamplot(X, R_grid, V, np.zeros_like(V), color=V, cmap=‘plasma’)
plt.colorbar(label=‘سرعت (m/s)’)
plt.xlabel(‘طول لوله (m)’)
plt.ylabel(‘شعاع لوله (m)’)
plt.title(‘خطوط جریان جریان آرام در لوله’)
plt.show()


28. توضیح کد

  1. جریان لامینار در طول لوله شبیه‌سازی شد.

  2. Contour Plot: نقشه سرعت در مقطع طولی لوله.

  3. Streamlines: خطوط جریان، مسیر حرکت سیال را نشان می‌دهد.

  4. برای توربولانس یا جریان پیچیده واقعی، باید از OpenFOAM یا FiPy با شبکه 3D کامل استفاده کرد.


29. گام بعدی حرفه‌ای

  • شبکه‌بندی کامل 3D استوانه‌ای با OpenFOAM

  • اضافه کردن توربولانس RANS

  • ترکیب با انتقال حرارت و تحلیل افت فشار و مصرف انرژی

30. شبیه‌سازی جریان 3D لوله با OpenFOAM

گام 1: نصب OpenFOAM

OpenFOAM روی لینوکس یا ویندوز با WSL نصب می‌شود:

sudo apt-get update
sudo apt-get install openfoam

گام 2: ایجاد پروژه و ساخت هندسه

  1. ایجاد دایرکتوری پروژه:

mkdir -p $HOME/OpenFOAM/pipeCase
cd $HOME/OpenFOAM/pipeCase
  1. کپی کردن یک case نمونه لوله (pipe):

cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
mv pitzDaily pipeCase
cd pipeCase
  1. تغییر هندسه و شرایط مرزی به لوله استوانه‌ای:

  • ورودی (inlet): سرعت ثابت

  • خروجی (outlet): فشار صفر

  • دیواره (walls): شرط no-slip


گام 3: شبکه‌بندی (Meshing)

OpenFOAM از blockMesh برای شبکه‌بندی استفاده می‌کند:

blockMesh
  • سلول‌ها در طول و شعاع تقسیم می‌شوند (مثلاً 50×20×20 سلول).

  • شبکه ریز → دقت بالا، زمان حل طولانی‌تر.


گام 4: انتخاب حل‌کننده

برای جریان تراکم‌ناپذیر لامینار:

simpleFoam
  • اگر توربولانس بود، می‌توان از:

simpleFoam -turbulenceModel kEpsilon

استفاده کرد.


گام 5: تحلیل نتایج

  1. داده‌های فشار و سرعت در دایرکتوری postProcessing ذخیره می‌شوند.

  2. برای مشاهده و رسم کانتور و خطوط جریان از ParaView استفاده می‌کنیم:

paraview
  • Contour Plot: فشار و سرعت

  • Streamlines: مسیر حرکت سیال


31. نکات حرفه‌ای

  • همگرایی شبیه‌سازی با بررسی تغییرات سرعت و فشار تکرار به تکرار بررسی می‌شود.

  • مدل توربولانس مناسب برای جریان‌های سریع یا صنعتی ضروری است.

  • شبکه‌بندی مناسب و شرایط مرزی درست کلید نتایج دقیق هستند.


ثنا، با این مرحله، تو یک پروژه صنعتی CFD واقعی با OpenFOAM را مشاهده کردی:

  • سه‌بعدی

  • کانتور سرعت و فشار

  • خطوط جریان

  • قابلیت افزودن توربولانس و انتقال حرارت

32. ساخت Case آماده OpenFOAM

گام 1: ساخت ساختار دایرکتوری

OpenFOAM برای هر پروژه یک ساختار استاندارد دارد:

pipeCase/
├── 0/ # شرایط اولیه و مرزی
│ ├── U # سرعت
│ └── p # فشار
├── constant/ # مشخصات سیال و شبکه
│ ├── transportProperties # ویسکوزیته و چگالی
│ └── polyMesh/ # فایل‌های شبکه
└── system/ # کنترل حل‌کننده و زمان
├── controlDict
├── fvSchemes
└── fvSolution

گام 2: تنظیم شرایط اولیه و مرزی (دایرکتوری 0/)

U (سرعت):

dimensions [0 1 -1 0 0 0 0];
internalField uniform (1 0 0); # سرعت ورودی
boundaryField
{
inlet
{
type fixedValue;
value uniform (1 0 0);
}
outlet
{
type zeroGradient;
}
walls
{
type noSlip;
}
}

p (فشار):

dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 0;
}
walls
{
type zeroGradient;
}
}

گام 3: مشخصات سیال (دایرکتوری constant/transportProperties)

transportModel Newtonian;
nu nu [0 2 -1 0 0 0 0] 1e-6; # ویسکوزیته

گام 4: شبکه‌بندی (دایرکتوری constant/polyMesh)

  • با blockMesh شبکه را ایجاد کن:

vertices
(
(0 0 0)
(1 0 0)
(1 0.1 0)
(0 0.1 0)
(0 0 0.1)
(1 0 0.1)
(1 0.1 0.1)
(0 0.1 0.1)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (50 20 20) simpleGrading (1 1 1)
);
edges ();
boundary
(
inlet
{
type patch;
faces ((0 4 7 3));
}
outlet
{
type patch;
faces ((1 5 6 2));
}
walls
{
type wall;
faces ((0 1 5 4) (3 2 6 7) (0 3 2 1) (4 5 6 7));
}
);

گام 5: تنظیم حل‌کننده (دایرکتوری system/)

controlDict:

application simpleFoam;
startFrom startTime;
startTime 0;
endTime 1000;
deltaT 1;
writeInterval 100;

fvSchemes و fvSolution:

  • از پیش‌فرض simpleFoam استفاده می‌کنیم (قابل تغییر برای دقت بیشتر).


گام 6: اجرا

سیالات محاسباتی

  1. شبکه را بساز:

blockMesh
  1. شبیه‌سازی را اجرا کن:

simpleFoam
  1. نتایج را با ParaView مشاهده کن:

  • کانتور سرعت و فشار

  • خطوط جریان


🔹 نتیجه

  • Case آماده، سه‌بعدی، جریان لامینار در لوله

  • امکان افزودن توربولانس، انتقال حرارت و مقایسه صنعتی

  • دیداری با Contour Plot و Streamlines

 

پست های مرتبط