🚀 GitHub Pages Ready • RTL/LTR • Interactive Quiz

آموزش مقدماتی CFD؛ از معادله تا شبیه‌سازی

این صفحه یک مینی‌کورس جذاب و وب‌سایتی برای ورود به دنیای Computational Fluid Dynamics است؛ مناسب برای ارائه در GitHub، رزومه پژوهشی، پورتفولیو و مرور سریع مفاهیم پایه. محتوا بر اساس جزوه‌های CFD و با بیان آموزشی و قابل‌فهم بازنویسی شده است.

پیشرفت دوره: 0%
CFD workflow pipeline
10
ماژول
8
سؤال
1
چیت‌شیت

CFD دقیقاً چیست؟

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

1) فیزیک

قوانین بقای جرم، مومنتوم و انرژی پایه‌ی مدل‌سازی هستند. بدون فهم فیزیک، رنگ‌های کانتور فقط تصویرند.

2) عددی‌سازی

دامنه به سلول تقسیم می‌شود؛ مشتق‌ها و شارها به روابط جبری تبدیل می‌شوند؛ سپس حلگر سیستم را حل می‌کند.

3) اعتبارسنجی

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

ماژول‌های آموزشی

هر ماژول را بخوان، تمرینش را انجام بده و بعد تیک «انجام شد» را بزن تا پیشرفتت ذخیره شود.

ماژول 1 — Mindset و مسیر حل CFD

از مسئله فیزیکی تا گزارش مهندسی: Geometry → Mesh → Solver → Post-processing.

Beginner

در CFD اول باید بدانیم «چه چیزی را می‌خواهیم پیش‌بینی کنیم؟» سرعت، فشار، دما، نیروی درگ، افت فشار یا الگوی گردابه؟ بعد یک مدل فیزیکی انتخاب می‌کنیم: جریان پایا یا ناپایا، تراکم‌پذیر یا تراکم‌ناپذیر، آرام یا آشفته، انتقال حرارت یا ایزوترمال.

نکته طلایی: CFD یک ماشین تولید کانتور نیست؛ یک فرآیند مهندسی است. هر رنگی که در Post-processing می‌بینی، پشتش فرضیات، شرایط مرزی، مش، مدل آشفتگی و معیار همگرایی قرار دارد.

🎯 خروجی درست CFD یعنی: فیزیک درست + مش مناسب + حل پایدار + اعتبارسنجی.
CFD workflow

ماژول 2 — معادلات حاکم و نوع PDE

Elliptic، Parabolic و Hyperbolic را با مفهوم انتشار اطلاعات یاد بگیر.

PDE

معادلات CFD معمولاً از نوع PDE هستند؛ چون مجهول‌ها مثل سرعت و فشار تابع مکان و زمان‌اند. معادله‌ی کلی مرتبه دوم را می‌توان با ضرایب A، B و C طبقه‌بندی کرد. علامت B² − 4AC تعیین می‌کند اطلاعات چگونه در میدان پخش می‌شود.

Elliptic: B² − 4AC < 0 Parabolic: B² − 4AC = 0 Hyperbolic: B² − 4AC > 0

معادله لاپلاس/پواسون بیضوی است و به شرایط مرزی دور تا دور دامنه نیاز دارد. معادله گرما سهموی است و با شرط اولیه در زمان جلو می‌رود. معادله موج هذلولوی است و مفهوم مشخصه‌ها در آن مهم می‌شود.

PDE classification

ماژول 3 — شبکه و تفاضل محدود FDM

بسط تیلور، مشتق پیشرو/پسرو/مرکزی و خطای گسسته‌سازی.

Numerics

در روش تفاضل محدود، تابع پیوسته را فقط روی نقاط شبکه می‌شناسیم. مشتق‌ها با اختلاف مقدار تابع در نقاط مجاور تقریب زده می‌شوند. تفاضل مرکزی معمولاً دقت بیشتری از پیشرو/پسرو دارد، چون خطای مرتبه اول در بسط تیلور حذف می‌شود.

Forward: ∂f/∂x ≈ (f[i+1] − f[i]) / Δx → O(Δx) Backward: ∂f/∂x ≈ (f[i] − f[i−1]) / Δx → O(Δx) Central: ∂f/∂x ≈ (f[i+1] − f[i−1]) / 2Δx → O(Δx²)

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

تمرین کوتاه

تابع f(x)=x³+3x²−9x را در x=1 با h=0.2 مشتق بگیر و خطای Forward، Backward و Central را مقایسه کن.

ماژول 4 — حجم محدود FVM

زبان اصلی Fluent و OpenFOAM: شار ورودی/خروجی روی حجم کنترل.

FVM

در FVM به‌جای نگاه نقطه‌ای، یک سلول یا Control Volume داریم. قانون بقا روی هر حجم کنترل انتگرال گرفته می‌شود و با قضیه گاوس، انتگرال حجمی دیورژانس به شار سطحی روی وجوه سلول تبدیل می‌شود. به همین دلیل FVM ذاتاً conservative است.

∫_V ∇·F dV = ∮_S F·n dA For each cell: Σ(face fluxes) + sources = accumulation

اگر شار خروجی از یک سلول دقیقاً شار ورودی سلول مجاور باشد، جرم/مومنتوم/انرژی در سطح شبکه حفظ می‌شود. همین ویژگی برای CFD صنعتی بسیار مهم است.

ایده بصری

در سایت می‌توان برای هر سلول فلش‌های شار ورودی/خروجی گذاشت و با hover نشان داد کدام وجه، کدام شار را حمل می‌کند.

ماژول 5 — کیفیت شبکه Mesh Quality

Aspect Ratio، Skewness، Orthogonality و اثرشان روی همگرایی.

Mesh

مش خوب یعنی سلول‌ها آن‌قدر منظم و کافی باشند که گرادیان‌های جریان را ببینند، بدون اینکه حلگر را ناپایدار کنند. سلول بد مثل یک سنسور خراب است: داده می‌دهد، ولی اعتمادپذیر نیست.

  • Aspect Ratio: کشیدگی سلول. در لایه مرزی کنترل‌شده قابل قبول است، ولی در ناحیه گردابه خطرناک می‌شود.
  • Skewness: انحراف هندسی سلول از حالت ایده‌آل؛ مقدار زیاد باعث خطای شار و گرادیان می‌شود.
  • Non-orthogonality: زاویه نامطلوب بین خط مرکز سلول‌ها و نرمال وجه.
Mesh quality metrics

ماژول 6 — روش‌های زمانی صریح و ضمنی

FTCS، Laasonen، Crank–Nicolson و شرط پایداری.

Transient

در روش صریح، مقدار زمان جدید از مقادیر زمان قبلی به‌طور مستقیم محاسبه می‌شود؛ سریع و ساده است اما به شرط پایداری حساس است. در روش ضمنی، مجهولات زمان جدید با هم حل می‌شوند؛ هزینه بیشتر دارد ولی معمولاً پایدارتر است.

Heat equation: ∂u/∂t = α ∂²u/∂x² FTCS: uᵢⁿ⁺¹ = uᵢⁿ + r(uᵢ₊₁ⁿ − 2uᵢⁿ + uᵢ₋₁ⁿ) r = αΔt/(Δx)² ≤ 1/2

Crank–Nicolson از میانگین زمانی بین n و n+1 استفاده می‌کند و برای معادلات پخش، دقت زمانی خوبی دارد.

حس فیزیکی

اگر Δt خیلی بزرگ شود، حلگر در زمان «پرش» می‌کند و اطلاعات عددی فرصت انتشار درست در شبکه را پیدا نمی‌کند؛ نتیجه می‌تواند نوسان یا واگرایی باشد.

ماژول 7 — همسازی، پایداری و همگرایی

سه ستون اعتماد عددی: Consistency + Stability ⇒ Convergence.

Core CFD

یک روش عددی وقتی همساز است که با کوچک‌شدن Δx و Δt، معادله گسسته به معادله اصلی نزدیک شود. وقتی پایدار است که خطاهای کوچک در زمان رشد نکنند. وقتی همگرا است که جواب عددی با ریزکردن شبکه به جواب واقعی نزدیک شود.

Consistency + Stability ⇒ Convergence For explicit heat equation: r = αΔt/(Δx)² Stable if: 0 < r ≤ 1/2

در تحلیل Von Neumann، خطا به موج‌های فوریه شکسته می‌شود و بررسی می‌کنیم آیا دامنه هر موج با زمان رشد می‌کند یا نه.

اشتباه رایج

Residual پایین به تنهایی کافی نیست. باید مانیتورهای فیزیکی، بالانس جرم و استقلال از شبکه هم بررسی شود.

ماژول 8 — شرایط مرزی Boundary Conditions

ورودی، خروجی، دیواره، تقارن و شرط اولیه.

BC

شرایط مرزی تعیین می‌کنند سیال چگونه وارد، خارج یا با دیواره تعامل کند. انتخاب اشتباه BC می‌تواند جواب را کاملاً غیرواقعی کند، حتی اگر مش و حلگر خوب باشند.

  • Velocity Inlet: وقتی سرعت یا دبی ورودی معلوم است.
  • Pressure Outlet: وقتی خروجی به فشار مرجع یا اتمسفر وصل است.
  • No-slip Wall: سرعت سیال روی دیواره برابر سرعت دیواره است؛ برای دیواره ثابت، سرعت صفر.
  • Symmetry: وقتی هندسه و جریان دو طرف مرز مشابه‌اند.

قانون طلایی

در هر مرز بپرس: «در دنیای واقعی اینجا چه چیزی معلوم است؟ سرعت؟ فشار؟ شار حرارتی؟ یا تقارن؟»

ماژول 9 — توربولانس RANS/LES/DNS

انتخاب مدل آشفتگی یعنی توازن بین هزینه و دقت.

Turbulence
مدلهزینهدقتکاربرد معمولنکته wall treatment
RANSکممیانگین جریانطراحی مهندسی، HVAC، پمپ، لولهبا wall function معمولاً y+ بزرگ‌تر
URANSمتوسطنوسان‌های بزرگ مقیاسvortex shedding، جریان ضربانیمشابه RANS
LESزیادگردابه‌های بزرگ حل می‌شوندجت، wake، mixing، aeroacousticsنیازمند مش دیواره دقیق‌تر
DNSبسیار زیادبدون مدل توربولانستحقیق بنیادی در Re پایینهمه مقیاس‌ها باید حل شوند

ماژول 10 — فرم تاوایی–خط جریان

Vorticity–Streamfunction برای جریان دوبعدی تراکم‌ناپذیر.

Research

برای جریان دوبعدی تراکم‌ناپذیر می‌توان به جای حل مستقیم فشار، از تابع جریان ψ و تاوایی ω استفاده کرد. تابع جریان شرط پیوستگی را خودکار برقرار می‌کند و تاوایی چرخش محلی جریان را نشان می‌دهد.

u = ∂ψ/∂y, v = −∂ψ/∂x ω = ∂v/∂x − ∂u/∂y ∇²ψ = −ω

این فرم برای مسئله‌ی کلاسیک lid-driven cavity بسیار آموزشی است: دیواره بالایی حرکت می‌کند، گردابه اصلی تشکیل می‌شود و حلگر باید معادله پواسون ψ را در هر گام حل کند.

vorticity streamfunction

مسیر پیشنهادی از Beginner تا Research

این مسیر برای کسی طراحی شده که می‌خواهد از مفاهیم پایه به Fluent/OpenFOAM و پروژه پژوهشی برسد.

Fundamentals: PDE، ناویر–استوکس، معادله گرما، لاپلاس/پواسون.
Numerics: FDM، FVM، خطای برش، همسازی، پایداری و همگرایی.
Software: حل 3 کیس پایه در Fluent یا OpenFOAM: pipe flow، cavity، cylinder.
Verification: مقایسه با حل تحلیلی و grid independence.
Research: تعریف Case پژوهشی: FSI، VIV، heat transfer، MHD یا turbulence control.

کوئیز تعاملی CFD

بعد از خواندن ماژول‌ها، این 8 سؤال را جواب بده. نتیجه در مرورگر ذخیره نمی‌شود مگر پیشرفت ماژول‌ها.

1) CFD در ساده‌ترین تعریف چیست؟

2) برای معادله بیضوی مثل لاپلاس چه چیزی مهم‌تر است؟

3) شرط پایداری FTCS برای معادله گرما چیست؟

4) مزیت اصلی FVM چیست؟

5) RANS نسبت به LES معمولاً...

6) در دیواره ثابت برای جریان چسبناک، شرط no-slip یعنی...

7) همگرایی قابل اعتماد فقط با کدام مورد کافی نیست؟

8) در فرم تاوایی–خط جریان، رابطه پواسون کدام است؟

منابع پیشنهادی برای ادامه

برای نسخه GitHub می‌توان این‌ها را در README هم نگه داشت.