ضرایب Under-Relaxation در فلوئنت چیست و چگونه از واگرایی حل جلوگیری میکند؟
چرا شبیهسازی شما با خطای Floating Point Exception متوقف میشود و این موضوع چه ارتباطی با ضرایب زیر-تغییر (URF) دارد؟
تصور کنید ۳ روز تمام سیستم روشن بوده و درست وقتی فکر میکنید حل مسئله به پایان رسیده، ناگهان آن ارور قرمز رنگ و ترسناک Floating Point Exception یا Divergence detected in AMG solver ظاهر میشود. ما در سیمومک خوب میدانیم که این لحظه چقدر برای یک مهندس دردناک است! 😟 اما قبل از اینکه سیستم را خاموش کنید یا مشبندی را از اول انجام دهید، باید بدانید که در ۷۰ درصد مواقع، مشکل از تنظیمات حلگر است، نه هندسه.
این خطا معمولاً زمانی رخ میدهد که تغییرات متغیرهایی مثل سرعت یا فشار، بین دو تکرار (Iteration) متوالی آنقدر زیاد است که محاسبات از کنترل خارج میشوند. اینجاست که ضرایبUnder-Relaxation در فلوئنت چیست و چگونه با آنها از واگرایی جلوگیری کنیم؟ اهمیت حیاتی پیدا میکند. این ضرایب دقیقاً مثل ترمز دستی یا “کمکفنر” برای حل عددی عمل میکنند. اگر حلگر شما میخواهد مقدار فشار را در یک سلول ناگهان ۱۰ پاسکال تغییر دهد، ضریب URF وارد عمل میشود و میگوید: “عجله نکن! فعلا فقط ۳ پاسکال تغییر بده تا ببینیم چه میشود.” اگر این ترمزها را درست تنظیم نکنید، واگرایی حتمی است. البته دلایل دیگری هم وجود دارد که پیشنهاد میکنم حتما نگاهی به مقاله ۷دلیل اصلی عدم همگرایی(Divergence) در فلوئنت بیندازید تا مطمئن شوید ریشه مشکل جای دیگری نیست.

مفهوم ریاضیاتی Under-Relaxation در روشهای تکراری و نقش آن در کنترل تغییرات متغیرها بین دو تکرار متوالی چگونه است؟
بیایید خیلی ساده و بدون پیچیدگیهای ریاضی دانشگاهی به قضیه نگاه کنیم. در روشهای تکراری مثل الگوریتم SIMPLE، مقدار جدید یک متغیر (
ϕnew\phi_{new}ϕnew
) بر اساس مقدار قدیم (
ϕold\phi_{old}ϕold
) و تغییری که معادلات ناویر-استوکس پیشبینی کردهاند (
Δϕ\Delta\phiΔϕ
) محاسبه میشود. فرمول کلی چیزی شبیه این است:
ϕnew=ϕold+αΔϕ\phi_{new} = \phi_{old} + \alpha \Delta\phiϕnew=ϕold+αΔϕ
در اینجا،
α\alphaα
همان ضریب Under-Relaxation است.
- اگر
- α=1\alpha = 1α=1
باشد، یعنی حلگر دقیقاً همان تغییری که محاسبه کرده را اعمال میکند (ریسک بالا).
- اگر
- α<1\alpha < 1α<1
باشد (مثلاً ۰.۵)، یعنی فقط نیمی از تغییرات پیشبینی شده اعمال میشود.
این کار باعث میشود مسیر رسیدن به جواب نهایی کمی طولانیتر شود، اما “امنیت” حل به شدت بالا میرود. در واقع ما داریم سرعت همگرایی را قربانی پایداری میکنیم. هنر یک متخصص CFD این است که بداند این “ترمز” را چقدر فشار دهد که هم حل متوقف نشود و هم تا ابد طول نکشد.
آیا مقادیر پیشفرض فلوئنت برای ضرایب فشار و مومنتوم در تمام پروژههای مهندسی مکانیک قابل اعتماد هستند؟
کوتاه بگویم: خیر! مقادیر دیفالت فلوئنت (معمولاً Pressure=0.3 و Momentum=0.7) برای مسائل استاندارد و آموزشی تنظیم شدهاند. وقتی شما وارد دنیای واقعی پروژههای صنعتی میشوید، داستان فرق میکند.
در طول حدود ۷ سال تجربه فعالیت در حوزه شبیهسازی، بارها دیدهایم که دانشجویان صرفاً با اتکا به تنظیمات پیشفرض، ماهها درگیر واگرایی بودهاند. یادم هست در یک پروژه طراحی مبدل حرارتی پوسته-لوله، صرفاً به خاطر پیچیدگی جریان در بافلها، مجبور شدیم ضریب مومنتوم را تا ۰.۴ پایین بیاوریم تا نوسانات حل کنترل شود.
اگر جریان شما چرخشی شدید (Swirl)، تراکمپذیر با سرعت بالا (High Mach)، یا دارای مشهای نامنظم (Polyhedral/Tetrahedral) است، اعتماد به تنظیمات پیشفرض مثل رانندگی با چشم بسته در جاده چالوس است! شما باید جرات تغییر این اعداد را داشته باشید، اما نه بهصورت تصادفی.
در الگوریتم SIMPLE چه رابطهای بین ضریب فشار و ضریب مومنتوم وجود دارد و چرا مجموع آنها بهتر است نزدیک به ۱ باشد؟
یک قانون نانوشته تجربی در دینامیک سیالات محاسباتی وجود دارد که بسیاری از آن بیخبرند: در الگوریتم SIMPLE (که رایجترین روش برای جریانهای پایا است)، مجموع ضریب فشار و ضریب مومنتوم بهتر است حولوحوش عدد ۱ (یا ۱.۱) باشد.
یعنی اگر ضریب فشار را ۰.۳ میگیرید، مومنتوم ۰.۷ مناسب است (
0.3+0.7=10.3 + 0.7 = 10.3+0.7=1
). اما اگر مجبور شدید برای پایداری بیشتر، مومنتوم را به ۰.۵ کاهش دهید، بهتر است فشار را کمی بالا ببرید؟ نه لزوماً، اما این رابطه به شما دید میدهد.
جدول زیر یک راهنمای سریع برای تنظیم این ضرایب بر اساس تجربه ما در سیمومک است:
| نوع جریان | ضریب فشار (Pressure) | ضریب مومنتوم (Momentum) | وضعیت پایداری |
| جریان داخلی ساده (لوله) | 0.3 | 0.7 | استاندارد |
| جریان با چرخش شدید (Cyclone) | 0.2 – 0.3 | 0.4 – 0.5 | محافظهکارانه |
| جریانهای تراکمپذیر | 0.2 | 0.6 | نیاز به دقت بالا |
البته انتخاب نوع الگوریتم هم بسیار مهم است. برای درک عمیقتر تفاوت رفتار این ضرایب در روشهای مختلف، حتما مقاله مقایسه الگوریتمهایSIMPLE، PISO وCoupled را مطالعه کنید، چون در روش Coupled اصلا داستان URF ها تغییر میکند و تبدیل به عدد کورانت میشود.
چگونه تشخیص دهیم که نوسانات نمودار باقیماندهها (Residuals) ناشی از بالا بودن ضرایب Under-Relaxation است یا کیفیت پایین مش؟
این یکی از سختترین بخشهای عیبیابی است. گاهی اوقات شما ضرایب را تا حد مرگ پایین میآورید (مثلاً مومنتوم ۰.۱)، اما نمودار Residuals هنوز مثل نوار قلب بالا و پایین میپرد! 📉📈
در این حالت، به احتمال ۹۹ درصد مشکل از URF نیست، بلکه “کیفیت مش” (Mesh Quality) پایین است.
نشانههایی که میگوید مشکل از ضرایب URF است:
- نوسانات با دامنه بزرگ و فرکانس کم است.
- واگرایی در همان ۵۰ تکرار اول رخ میدهد.
- ارورهایی مثل High turbulent viscosity ratio دریافت میکنید.
اما اگر نوسانات ریز و پرفرکانس هستند و حل در یک مقدار باقیمانده (مثلاً
10−310^{-3}10−3
) گیر کرده و پایینتر نمیرود، احتمالا سلولهای کجوتعوج (Skewness بالا) در نقاط حساس هندسه دارید. خدمات ما در سیمومک شامل اصلاح و بهینهسازی همین مشهای مشکلدار است تا قبل از اینکه وقتتان را روی تنظیمات حلگر تلف کنید، از بستر هندسی مطمئن باشید.

استراتژی طلایی کاهش ضرایب برای پایدارسازی حل جریانهای آشفته و جلوگیری از واگرایی ناگهانی چیست؟
وقتی حل ناپایدار میشود، هول نشوید و همه اعداد را با هم تغییر ندهید! این اشتباهترین کار ممکن است. استراتژی ما برای نجات یک پروژه در حال مرگ به این صورت است (به ترتیب انجام دهید):
- کاهش مومنتوم: اولین متهم همیشه مومنتوم است. آن را از ۰.۷ به ۰.۵ کاهش دهید.
- بررسی توربولانس: اگر مدل آشفتگی
- k−ϵk-\epsilonk−ϵ
یا
k−ωk-\omegak−ω
دارید، ضرایب مربوط به
kkk
و
ϵ\epsilonϵ
را از ۰.۸ به ۰.۵ برسانید. معادلات توربولانس بهشدت به شرایط اولیه حساساند.
- فشار: دست به فشار نزنید مگر اینکه دو مرحله قبل جواب ندهد. اگر مجبور شدید، فشار را از ۰.۳ به ۰.۲ برسانید.
- تغییر تدریجی: اگر حل پایدار شد، بعد از ۲۰۰ تکرار، آرامآرام ضرایب را بالا ببرید تا سرعت حل بیشتر شود.
نکته مهم: هیچوقت ضرایب را به زیر ۰.۱ نرسانید (مگر در موارد خاص). ضرایب خیلی پایین باعث میشود حلگر در جای خود درجا بزند و “همگرایی کاذب” ایجاد کند که بعداً مفصل توضیح میدهم.
چرا در شبیهسازی جریانهای جابجایی طبیعی (Natural Convection) باید حساسیت بیشتری روی ضریب انرژی و چگالی داشته باشیم؟
در جریانهای جابجایی طبیعی (مثل خنککاری هیتسینک بدون فن)، حرکت سیال صرفاً ناشی از اختلاف چگالی و دما است. اینجا “معادله انرژی” پادشاه است! 👑
در این نوع شبیهسازیها، برخلاف جریانهای اجباری، کوپلینگ بسیار شدیدی بین سرعت و دما وجود دارد. اگر ضریب URF انرژی را روی ۱ (پیشفرض) بگذارید، به احتمال زیاد به محض شروع حل، دماهای غیرفیزیکی (مثلاً ۵۰۰۰ درجه!) مشاهده میکنید.
توصیه تجربی ما:
- برای جابجایی طبیعی، ضریب انرژی را از همان ابتدا روی ۰.۸ یا ۰.۷ تنظیم کنید.
- اگر از مدل گاز ایدهآل یا Boussinesq استفاده میکنید، ضریب Body Force (اگر در تنظیمات فعال بود) یا چگالی را کنترل کنید.
- صبر داشته باشید! جابجایی طبیعی ذاتا کند همگرا میشود و تلاش برای تسریع آن با بالا بردن ضرایب، فقط باعث کرش شدن نرمافزار میشه.
تاثیر انتخاب روش حل Coupled در برابر Segregated بر روی تنظیمات Under-Relaxation Factor چگونه است؟
اینجاست که خیلیها به اشتباه میفتند. اگر شما از حلگر پیشفرض (Segregated) که از الگوریتمهایی مثل SIMPLE یا PISO استفاده میکند به حلگر Coupled سوییچ کنید، دیگر خبری از Under-Relaxation Factors برای فشار و مومنتوم نخواهد بود!
در حلگر Coupled، معادلات مومنتوم و پیوستگی بهصورت همزمان حل میشوند. این روش بسیار قدرتمندتر و پایدارتر است، مخصوصا برای جریانهای تراکمپذیر با سرعت بالا. به جای URF، شما با پارامتری به نام Courant Number (یا CFL) سر و کار دارید. این عدد بهطور غیرمستقیم گام زمانی حل را کنترل میکند و معمولاً مقادیر بالای آن (مثلاً ۵۰ یا ۱۰۰) به معنی همگرایی سریعتر است. پس اگر از Coupled استفاده میکنید و دنبال URF میگردید، مسیر را اشتباه رفتهاید.
در مسائل چندفازی (VOF) و احتراقی چگونه تنظیمات نامناسب URF باعث ناپایداری سطح مشترک فازها میشود؟
شبیهسازیهای چندفازی و احتراق کابوس حلهای ناپایدار هستند! 🔥 در این مسائل، شما با معادلات اضافه (مثل کسر حجمی در VOF یا معادلات گونههای شیمیایی در احتراق) روبرو هستید که بهشدت به متغیرهای اصلی جریان وابستهاند.
یک مثال رایج در مدل Volume of Fluid، “پخش شدگی” یا Smearing سطح مشترک آب و هواست. اگر ضرایب URF را خیلی پایین بیاورید، ممکن است حل پایدار بماند، اما سطح مشترک فازها بهجای اینکه تیز و مشخص باشد، پخش و محو میشود که از نظر فیزیکی غلط است. از طرف دیگر، ضرایب بالا باعث نوسانات شدید و واگرایی میشوند. این موضوع یکی از چالشهای شبیهسازی جریانهای چندفازی است که نیازمند تجربه و دقت بالایی در تنظیم حلگر است.
آیا کاهش بیش از حد ضرایب زیر-تغییر میتواند منجر به همگرایی کاذب (False Convergence) و نتایج اشتباه شود؟
بله، و این خطرناکترین تله در تنظیم ضرایب URF است. همگرایی کاذب یعنی نمودار باقیماندهها پایین میآید و شما فکر میکنید حل به جواب رسیده، در حالی که نتایج کاملاً بیمعنی هستند.
وقتی ضرایب Under-Relaxation را بیش از حد (مثلاً زیر ۰.۱) کم میکنید، در واقع دارید به حلگر میگویید: “آنقدر آرام حرکت کن که هیچ تغییری در متغیرها ایجاد نشود!”. در نتیجه، تغییرات از یک تکرار به تکرار بعدی آنقدر کوچک است که معیار همگرایی (Residual) ارضا میشود، اما میدان جریان هنوز به جواب فیزیکی صحیح خود نرسیده. مثل ماشینی که بنزین تمام کرده؛ متوقف شده، اما به مقصد نرسیده است.
چگونه با مانیتور کردن مقادیر فیزیکی در نقاط حساس دامنه حل از صحت همگرایی با ضرایب پایین مطمئن شویم؟
هرگز و هرگز فقط به نمودار Residuals اعتماد نکنید! این نمودار فقط به شما میگوید که آیا معادلات از نظر ریاضی ارضا شدهاند یا نه؛ کاری به فیزیک مسئله ندارد. برای فرار از تله همگرایی کاذب، همیشه باید مقادیر فیزیکی مهم را در نقاط یا سطوح کلیدی مانیتور کنید.
قبل از شروع حل، این موارد را در فلوئنت تعریف کنید:
- مانیتور کردن نیروی درگ یا لیفت روی یک سطح مهم (مثلا ایرفویل).
- مانیتور کردن فشار متوسط در سطح خروجی.
- مانیتور کردن سرعت ماکزیمم در یک مقطع خاص.
- مانیتور کردن دبی جرمی در مرزها.
همگرایی واقعی زمانی اتفاق میافتد که هم نمودار Residuals صاف شود و هم تمام این مقادیر مانیتور شده به یک عدد ثابت برسند و دیگر تغییری نکنند.
نقش حیاتی کیفیت سلولهای مش (Skewness و Orthogonal Quality) در تعیین آستانه تحمل ضرایب Under-Relaxation چیست؟
اجازه بدهید این را برای همیشه روشن کنم: هیچ مقدار جادویی برای ضرایب URF وجود ندارد که بتواند یک مش بد را جبران کند. اگر سلولهای مش شما کج و معوج باشند (مثلاً Skewness بالای 0.9)، حلگر برای محاسبات در آن سلولها دچار خطای عددی شدید میشود. در این شرایط، حتی اگر URF را روی ۰.۰۱ هم بگذارید، حل واگرا خواهد شد.
یک مش با کیفیت بالا به شما اجازه میدهد که از ضرایb بزرگتری استفاده کنید و در نتیجه سریعتر به جواب برسید. قبل از اینکه ساعتها وقت خود را صرف تغییر اعداد در پنل Solution Controls کنید، چند دقیقه وقت بگذارید و کیفیت مش خود را چک کنید. این کار در بلندمدت زمان شما را نجات میدهد.
برای شبیهسازیهای گذرا (Transient) چه تفاوتی در استراتژی تنظیم ضرایب نسبت به حل پایا (Steady) وجود دارد؟
در حلهای گذرا، داستان کمی متفاوت است. پایداری حل بیشتر توسط “اندازه گام زمانی” (Time Step Size) کنترل میشود تا ضرایب Under-Relaxation. در هر گام زمانی، فلوئنت چندین تکرار داخلی انجام میدهد تا به همگرایی برسد. ضرایب URF فقط روی این “تکرارهای داخلی” تاثیر دارند.
معمولاً در شبیهسازیهای گذرا، میتوان از ضرایب URF بزرگتری (نزدیک به ۱) استفاده کرد، به شرطی که گام زمانی به اندازه کافی کوچک انتخاب شده باشد تا پدیده فیزیکی به درستی ثبت شود. اگر حل شما در هر گام زمانی واگرا میشود، اولین کاری که باید بکنید کاهش اندازه گام زمانی است، نه کاهش ضرایب URF.
چکلیست نهایی مهندسین سیمومک برای تنظیم کنترلکنندههای پایداری قبل از ران (Run) گرفتن پروژههای سنگین چیست؟
قبل از اینکه دکمه Calculate را برای یک شبیهسازی چند روزه فشار دهید، این چکلیست را مرور کنید. این همان کاری است که ما قبل از هر پروژه صنعتی انجام میدهیم: 📋
- بررسی کیفیت مش: آیا ماکزیمم Skewness زیر 0.85 است؟
- انتخاب الگوریتم مناسب: آیا برای جریان تراکمناپذیر از SIMPLE و برای سرعتهای بالا از Coupled استفاده کردهاید؟
- مقداردهی اولیه منطقی: آیا از Hybrid Initialization استفاده کردهاید تا حل از یک نقطه شروع خوب آغاز شود؟
- شروع با ضرایب محافظهکارانه: برای ۱۰۰ تکرار اول، مومنتوم و انرژی را روی ۰.۵ یا کمتر تنظیم کنید.
- تنظیم مانیتورهای فیزیکی: آیا حداقل ۳ پارامتر کلیدی (مثل درگ، فشار، دبی) را برای مانیتور کردن تعریف کردهاید؟
- افزایش تدریجی ضرایب: پس از پایداری اولیه، ضرایب را به آرامی افزایش دهید تا سرعت همگرایی بیشتر شود.
- استفاده از حل مرتبه اول: حل را با First Order Upwind شروع کنید و پس از رسیدن به پایداری نسبی، به Second Order سوییچ کنید تا دقت افزایش یابد.
اگر با وجود تمام تنظیمات همچنان با واگرایی روبرو هستید چگونه خدمات مشاوره سیمومک میتواند گره پروژه شما را باز کند؟
گاهی اوقات، واگرایی صرفاً یک مشکل عددی نیست، بلکه نشانه یک مشکل عمیقتر در “فیزیک” مسئله است. شاید شرایط مرزی اشتباه تعریف شده، یا مدل توربولانسی انتخاب شده برای این کاربرد مناسب نیست. تنظیم این ضرایب یک ابزار قدرتمند است، اما جادو نمیکند.
اینجاست که تجربه در پروژههای واقعی تفاوت را رقم میزند. اگر با مشکلاتی پیچیده تر مثل شبیهسازیهای چندفیزیکی یا مدلسازی با UDF درگیر هستید و تمام راههای بالا را امتحان کردهاید، تیم ما در سیمومک میتواند به شما در پیدا کردن ریشه اصلی مشکل و درک عمیق اینکه ضرایب Under-Relaxation در فلوئنت چیست و چگونه با آنها از واگرایی جلوگیری کنیم؟ کمک کند.