الگوریتمهای حل (SIMPLE, SIMPLEC, PISO) در فلوئنت چه تفاوتی با هم دارند؟
انتخاب الگوریتم صحیح اتصال فشار-سرعت (Pressure-Velocity Coupling) در نرمافزار Ansys Fluent یکی از تصمیمات استراتژیک است که یک تحلیلگر دینامیک سیالات محاسباتی (CFD) با آن روبرو میشود. این الگوریتمها هسته اصلی حلگرهای مبتنی بر فشار (Pressure-Based Solvers) را تشکیل میدهد و درک تفاوتهای آنها برای دستیابی به همگرایی پایدار، نتایج دقیق و بهینهسازی زمان حل، یک مهارت بنیادی محسوب میشود. در حالی که الگوریتم SIMPLE در فلوئنت به عنوان نقطه شروع رایج و پیشفرض برای بسیاری از مسائل شناخته میشود، الگوریتمهای جایگزین مانند SIMPLEC و PISO مزایای قابل توجهی را در سناریوهای خاص ارائه میدهają. این مقاله به مقایسه عمیق و کاربردی این سه الگوریتم پرداخته و راهنمایی روشنی برای انتخاب بهترین گزینه در شرایط مختلف شبیهسازی ارائه میدهد.
آنچه در این مقاله میخوانید
چالش اصلی در حل جریانهای تراکمناپذیر: اتصال فشار-سرعت
برای درک عمیق تفاوتهای میان الگوریتمهای SIMPLE، SIMPLEC و PISO، ابتدا باید مشکل بنیادی که این الگوریتمها برای حل آن طراحی شدهاند را بشناسیم. این چالش، که به «مسئله اتصال فشار-سرعت» معروف است، پایه و اساس مفهومی این روشهای حل را تشکیل میدهد.
ماهیت مسئله
در معادلات ناویر-استوکس برای جریانهای تراکمناپذیر، یک چالش ذاتی وجود دارد که فرآیند حل عددی را پیچیده میکند. این چالش از دو جنبه اصلی ناشی میشود:
- عدم وجود معادله مستقل برای فشار: برخلاف متغیرهایی مانند سرعت که معادلات مومنتوم به طور مستقیم آنها را توصیف میکنند، هیچ معادله انتقال (Transport Equation) مشخص و مستقلی برای محاسبه میدان فشار وجود ندارد.
- معادله پیوستگی به عنوان یک قید: معادله پیوستگی (بقای جرم) که بیان میکند دیورژانس میدان سرعت باید صفر باشد (
∇⋅V=0)، یک معادله برای حل مستقیم یک متغیر نیست. در عوض، این معادله به عنوان یک قید سینماتیکی عمل میکند که میدان سرعت محاسبهشده باید آن را ارضا کند.
بنابراین، مسئله اصلی این است که چگونه میدانهای فشار و سرعت را به گونهای به هم مرتبط کنیم که معادلات مومنتوم و قید پیوستگی به طور همزمان برآورده شوند.
نقش الگوریتمها به عنوان راهحل
الگوریتمهای اتصال فشار-سرعت مانند SIMPLE و PISO، روشهای تکرارشوندهای هستند که برای غلبه بر این چالش طراحی شدهاند. هدف اصلی این الگوریتمها، ایجاد یک پیوند محاسباتی بین معادلات مومنتوم و معادله پیوستگی از طریق یک فرآیند «حدس و تصحیح» (Guess and Correct) است. این الگوریتمها با یک حدس اولیه برای میدان فشار شروع میکنند، معادلات مومنتوم را حل میکنند و سپس با استفاده از یک معادله تصحیح فشار، میدانهای فشار و سرعت را به گونهای اصلاح میکنند که در نهایت میدان سرعتی به دست آید که قانون بقای جرم را ارضا کند. در ادامه، به بررسی اولین و بنیادیترین این الگوریتمها میپردازیم.
الگوریتم SIMPLE: اساس حلگرهای تفکیکشده (Segregated Solvers)
الگوریتم SIMPLE (Semi-Implicit Method for Pressure Linked Equations) یکی از رایجترین، بنیادیترین و مستحکمترین الگوریتمها در حوزه CFD است. این الگوریتم به عنوان روش پیشفرض در بسیاری از نرمافزارها از جمله Ansys Fluent انتخاب شده است. درک سازوکار آن، کلید فهم سایر الگوریتمهای مشابه مانند SIMPLEC و PISO است.
فرآیند عملکرد الگوریتم SIMPLE
الگوریتم SIMPLE یک فرآیند تکراری را برای اتصال میدان فشار و سرعت دنبال میکند که به صورت مفهومی شامل مراحل زیر است:
- حدس اولیه: فرآیند با یک میدان فشار حدسی (
*p) آغاز میشود. - حل معادلات مومنتوم: با استفاده از فشار حدسی، معادلات مومنتوم حل میشوند تا یک میدان سرعت اولیه (
*u) به دست آید. این مرحله «پیشبینیکننده مومنتوم» (Momentum Predictor) نامیده میشود. میدان سرعت حاصل، معادلات مومنتوم را ارضا میکند اما لزوماً قید پیوستگی را برآورده نمیکند. - تصحیح فشار و سرعت: یک معادله برای «تصحیح فشار» (
'p) حل میشود. سپس از این مقدار تصحیحی برای اصلاح میدان فشار (p' = p* + p) و به دنبال آن، اصلاح میدان سرعت (u' = u* + u) استفاده میشود تا میدان سرعت نهایی، معادله پیوستگی را ارضا کند. - تکرار: این فرآیند (مراحل ۲ تا ۳) تا زمانی که باقیماندهها (Residuals) به حد قابل قبولی کاهش یابند و حل به همگرایی برسد، تکرار میشود.
ساختار حلقه و کاربرد اصلی
تفاوت کلیدی الگوریتم SIMPLE در ساختار حلقه تکرار آن نهفته است. این الگوریتم از یک «حلقه تصحیح بیرونی» (Outer Corrector Loop) استفاده میکند. به این معنی که پس از یک مرحله تصحیح فشار و سرعت، برای بهروزرسانی کامل ارتباط بین متغیرها، کل فرآیند از ابتدا تکرار میشود؛ یعنی الگوریتم به مرحله حل مجدد پیشبینیکننده مومنتوم بازمیگردد تا ارتباط بین فشار و سرعت با دقت بیشتری برقرار شود.
الگوریتم SIMPLE در فلوئنت در اصل برای جریانهای پایا (Steady-State) طراحی شده است. به دلیل پایداری و استحکام (Robustness) بالا، این الگوریتم به عنوان گزینه پیشفرض و یک نقطه شروع قابل اعتماد برای طیف وسیعی از مسائل مهندسی شناخته میشود.
نقش ضرایب زیرتخفیف (Under-Relaxation)
در الگوریتم SIMPLE، ضرایب زیرتخفیف (Under-Relaxation Factors یا URFs) نقشی حیاتی در پایداری فرآیند حل ایفا میکنند. برای درک دلیل آن، باید تفاوت حلهای گذرا و پایا را در نظر گرفت. در شبیهسازیهای گذرا، وجود ترم مشتق زمانی در معادلات مومنتوم، به طور طبیعی باعث «غلبه قطری» (Diagonal Dominance) ماتریس معادلات گسستهشده میشود. این ویژگی عددی، پایداری حل را به شدت افزایش میدهد.
اما در مسائل پایا، این ترم زمانی وجود ندارد و در نتیجه، ماتریس معادلات ذاتاً پایداری کمتری دارد. الگوریتم SIMPLE برای جبران این ضعف، از URFها برای «افزایش مصنوعی غلبه قطری» (Artificially Increase Diagonal Dominance) ماتریس معادلات استفاده میکند. این کار با محدود کردن میزان تغییر متغیرها در هر تکرار، از نوسانات شدید و واگرایی حل جلوگیری کرده و به یک همگرایی آرام و پایدار کمک میکند. این رویکرد اگرچه پایدار است، اما میتواند سرعت همگرایی را کاهش دهد؛ چالشی که الگوریتم بعدی برای بهبود آن تلاش میکند.
الگوریتم SIMPLEC: نسخه بهبودیافته برای همگرایی سریعتر
الگوریتم SIMPLEC (SIMPLE-Consistent) به عنوان یک نسخه اصلاحشده از SIMPLE با هدف اصلی تسریع فرآیند همگرایی توسعه یافته است. این الگوریتم در بسیاری از مسائل، به ویژه آنهایی که پیچیدگی فیزیکی زیادی ندارند، میتواند تعداد تکرارهای لازم برای رسیدن به همگرایی را کاهش دهد.
مزیت اصلی: افزایش سرعت همگرایی
تفاوت اصلی و مزیت کلیدی SIMPLEC نسبت به SIMPLE در نحوه فرمولبندی معادله تصحیح فشار نهفته است که به تحلیلگر اجازه میدهد تا از ضرایب زیرتخفیف بزرگتری برای معادلات استفاده کند. به طور خاص، در الگوریتم SIMPLEC، ضریب زیرتخفیف برای تصحیح فشار (Pressure Correction URF) معمولاً برابر با ۱.۰ تنظیم میشود، در حالی که در SIMPLE مقادیر کوچکتری (مثلاً ۰.۳) رایج است. استفاده از URF بالاتر به معنای اعمال تصحیح کامل فشار در هر تکرار است که این امر مستقیماً به کاهش تعداد تکرارهای مورد نیاز برای رسیدن به همگرایی منجر میشود.
محدودیتها و موارد کاربرد
با وجود مزیت سرعت، عملکرد SIMPLEC به شرایط مسئله و کیفیت شبکه بستگی دارد:
- کاربرد ایدهآل: این الگوریتم برای مسائل نسبتاً ساده (مانند جریانهای آرام بدون مدلهای فیزیکی پیچیده مانند توربولانس یا احتراق) که همگرایی آنها عمدتاً توسط اتصال فشار-سرعت محدود شده است، بسیار مؤثر است.
- محدودیت: استفاده از ضریب زیرتخفیف فشار برابر با ۱.۰ در شبکههایی با اعوجاج یا کجی زیاد (High Skewness) میتواند منجر به ناپایداری و واگرایی حل شود. در چنین مواردی، بهتر است از SIMPLE استفاده کرده یا ضریب زیرتخفیف را به مقادیر محافظهکارانهتر (مثلاً ۰.۷) کاهش داد.
- نکته تکمیلی: در مسائل پیچیده که شامل مدلهای فیزیکی اضافی (مانند توربولانس، انتقال حرارت تشعشعی و…) هستند، اگر همگرایی توسط آن مدلها محدود شود (و نه اتصال فشار-سرعت)، تفاوت سرعت همگرایی بین SIMPLE و SIMPLEC ناچیز خواهد بود.
در حالی که SIMPLEC تلاشی برای بهینهسازی سرعت SIMPLE در مسائل پایا بود، الگوریتم بعدی یعنی PISO، رویکردی کاملاً متفاوت را، به ویژه برای دستهای دیگر از مسائل، اتخاذ میکند.
الگوریتم PISO: متخصص حلهای گذرا و شبکههای با اعوجاج
الگوریتم PISO (Pressure-Implicit with Splitting of Operators) به عنوان یک راهحل تخصصی، به ویژه برای شبیهسازیهای گذرا (Transient) و مسائلی با شبکههای محاسباتی دارای اعوجاج بالا، طراحی شده است. سازوکار منحصربهفرد آن باعث میشود تا در این سناریوها عملکردی به مراتب بهتر از الگوریتمهای خانواده SIMPLE داشته باشد.
سازوکار متفاوت: حلقههای تصحیح درونی
تفاوت بنیادی PISO با SIMPLE و SIMPLEC در ساختار حلقه تکرار آن است. در حالی که الگوریتم SIMPLE در هر تکرار از یک «حلقه بیرونی» استفاده میکند که مستلزم حل مجدد کل معادله پیشبینیکننده مومنتوم است، PISO شامل یک یا چند مرحله تصحیح درونی (Inner Corrector Steps) در هر گام زمانی یا تکرار است.
این «حلقه درونی» بسیار کارآمدتر است؛ زیرا به جای حل مجدد کامل معادله مومنتوم، تنها ماتریس H (ماتریس باقیمانده پس از استخراج بخش قطری) را با استفاده از میدان سرعتِ تازه تصحیحشده بهروزرسانی کرده و سپس معادله فشار را مجدداً حل میکند. این حلقه «تنگاتنگ» به الگوریتم اجازه میدهد تا با سرمایهگذاری محاسباتی بیشتر درون یک تکرار، به اتصال دقیقتری بین فشار و سرعت دست یابد. این سازوکار هزینه محاسباتی به ازای هر تکرار را افزایش میدهد، اما در عوض، تعداد کل تکرارهای مورد نیاز برای همگرایی، به خصوص در حلهای گذرا، را به شدت کاهش میدهد.
در پیادهسازی PISO در فلوئنت، دو قابلیت کلیدی وجود دارد:
- تصحیح همسایه (Neighbor Correction): این ویژگی که برای جریانهای گذرا بسیار توصیه میشود، پایداری را در گامهای زمانی بزرگ افزایش میدهد.
- تصحیح کجی (Skewness Correction): این قابلیت برای بهبود دقت و پایداری حل در شبکههای با اعوجاج بالا، هم در حلهای پایا و هم گذرا، حیاتی است.
کاربرد اصلی: شبیهسازیهای گذرا (Transient)
الگوریتم PISO به طور ویژه برای حلهای گذرا توصیه میشود، زیرا برای حفظ پایداری در گامهای زمانی بزرگ (Large Time Steps) طراحی شده است. همانطور که پیشتر اشاره شد، در شبیهسازیهای گذرا، وجود ترم مشتق زمانی (u/∂t∂) به طور طبیعی باعث «غلبه قطری» ماتریس معادلات میشود. این پدیده، نیاز به استفاده از ضرایب زیرتخفیف به عنوان ابزار پایداری را به شدت کاهش میدهد. در نتیجه، PISO میتواند با ضرایب زیرتخفیف نزدیک به ۱.۰ برای تمام معادلات به طور پایدار کار کند که این امر کارایی آن را به حداکثر میرساند و امکان برداشتن گامهای زمانی بزرگتر را فراهم میکند؛ یک استراتژی کلیدی برای کاهش زمان کلی شبیهسازیهای گذرا.
کاربرد ثانویه: شبکههای با اعوجاج بالا
استفاده از PISO همراه با Skewness Correction، هم برای حلهای پایا و هم گذرا، زمانی که شبکه دارای اعوجاج و کجی قابل توجهی است، یک انتخاب بسیار مناسب است. این قابلیت به الگوریتم کمک میکند تا گرادیانهای فشار را روی سلولهای نامنظم با دقت بیشتری محاسبه کرده و پایداری و همگرایی حل را به طور چشمگیری بهبود بخشد. اکنون که با ویژگیهای هر سه الگوریتم آشنا شدیم، زمان آن است که آنها را به صورت مستقیم مقایسه کرده و یک راهنمای عملی برای انتخاب ارائه دهیم.
جدول مقایسه و راهنمای انتخاب
این بخش تمام اطلاعات کلیدی ارائهشده را در یک قالب مقایسهای و کاربردی خلاصه میکند تا به تحلیلگر در انتخاب آگاهانه الگوریتم مناسب برای مسئله مورد نظر کمک کند.
مقایسه جامع الگوریتمها
جدول زیر ویژگیهای اصلی سه الگوریتم را به صورت مستقیم مقایسه میکند:
ویژگی | الگوریتم SIMPLE | الگوریتم SIMPLEC | الگوریتم PISO |
کاربرد اصلی | جریانهای پایا (Steady-State) | جریانهای پایا (بهویژه مسائل ساده) | جریانهای گذرا (Transient) |
مزیت کلیدی | پایداری و استحکام بالا (گزینه پیشفرض) | همگرایی سریعتر در مسائل ساده | پایداری در گامهای زمانی بزرگ و کاهش چشمگیر تکرارها |
محدودیت اصلی | سرعت همگرایی نسبتاً پایینتر | احتمال ناپایداری در شبکههای با اعوجاج زیاد | هزینه محاسباتی بالاتر به ازای هر تکرار |
مکانیسم کلیدی | یک مرحله تصحیح فشار در هر تکرار (حلقه بیرونی) | معادله تصحیح فشار اصلاحشده که امکان استفاده از ضرایب زیرتخفیف بالاتر (بهویژه برای فشار) را فراهم میکند | چند مرحله تصحیح فشار در هر تکرار (حلقه درونی) |
نیاز به URF | بله، برای پایداری ضروری است | بله، اما با مقادیر بزرگتر برای سرعتبخشی | معمولاً در حلهای گذرا نیاز نیست (مقادیر نزدیک به ۱.۰ توصیه میشود) |
چه زمانی کدام الگوریتم را انتخاب کنیم؟
بر اساس اطلاعات جدول و محتوای مقاله، راهنمای عملی زیر برای انتخاب الگوریتم مناسب ارائه میشود:
- برای اکثر حلهای پایا: با SIMPLE شروع کنید. این الگوریتم قوی، پایدار و نقطه شروع قابل اعتمادی برای طیف وسیعی از مسائل است.
- برای حلهای پایا و ساده که به کندی همگرا میشوند: SIMPLEC را امتحان کنید تا سرعت همگرایی را افزایش دهید، به شرطی که کیفیت شبکه شما خوب باشد.
- برای تمامی حلهای گذرا: PISO انتخاب استاندارد و بسیار توصیهشده است، به خصوص اگر قصد دارید از گامهای زمانی بزرگ استفاده کنید تا زمان کلی شبیهسازی را کاهش دهید.
- برای هر نوع حلی (پایا یا گذرا) با شبکه دارای اعوجاج بالا: استفاده از PISO به همراه Skewness Correction میتواند پایداری و همگرایی را به طور قابل توجهی بهبود بخشد.
- برای شبیهسازیهای LES: یک نکته تخصصی این است که در شبیهسازی گردابههای بزرگ (LES) که نیاز به گامهای زمانی بسیار کوچک دارد، به دلیل هزینه محاسباتی بالای هر تکرار در PISO، گاهی استفاده از SIMPLE یا SIMPLEC میتواند از نظر محاسباتی کارآمدتر باشد.
جان کلام
در نهایت، انتخاب بین الگوریتمهای SIMPLE، SIMPLEC و PISO یک تصمیم استراتژیک است که به ماهیت فیزیک مسئله (پایا یا گذرا)، کیفیت شبکه محاسباتی و نیاز به تعادل بین سرعت همگرایی و پایداری حل بستگی دارد. الگوریتم SIMPLE در فلوئنت به عنوان یک نقطه شروع قدرتمند و پیشفرض، برای اکثر مسائل پایا مناسب است. SIMPLEC به عنوان یک بهینهسازی برای تسریع حل مسائل سادهتر عمل میکند و PISO به عنوان یک ابزار تخصصی برای حلهای گذرا و شبکههای چالشبرانگیز، کارایی خود را نشان میدهد. تسلط بر این مفاهیم و درک نقاط قوت و ضعف هر الگوریتم، یک تحلیلگر CFD را قادر میسازد تا با اطمینان بیشتری به سراغ حل مسائل پیچیده مهندسی برود و در زمان کوتاهتر به نتایج دقیق و قابل اعتماد دست یابد.