در بسیاری از مسائل دینامیک سیالات محاسباتی، لازم است اثرات فیزیکی اضافی مانند تولید حرارت، واکنش شیمیایی، نیروی حجمی یا جذب و تولید جرم در معادلات حاکم لحاظ شوند. این اثرات معمولاً بهصورت ترم منبع (Source Term) در معادلات مومنتوم، انرژی، گونهها یا سایر معادلات انتقال وارد میشوند. در نرمافزار ANSYS Fluent امکان تعریف این ترمهای منبع سفارشی از طریق توابع کاربرنویس (UDF) و با استفاده از ماکروی DEFINE_SOURCE فراهم شده است.
در این مطلب، مفهوم، ساختار، نقش و نحوه پیادهسازی DEFINE_SOURCE بهصورت رسمی و مفهومی تشریح میشود.
DEFINE_SOURCE چیست
DEFINE_SOURCE ماکرویی است که برای افزودن یک ترم منبع دلخواه به معادلات حاکم در سطح سلولها استفاده میشود. این ماکرو به کاربر اجازه میدهد یک عبارت ریاضی یا مدل فیزیکی را به معادله موردنظر اضافه کند.
برخی از کاربردهای رایج DEFINE_SOURCE عبارتاند از:
- افزودن تولید حرارت حجمی در معادله انرژی
- اعمال نیروی حجمی در معادله مومنتوم
- مدلسازی نرخ واکنش شیمیایی در معادلات گونهها
- تعریف نرخ تبخیر یا میعان
- افزودن اثر میدانهای خارجی مانند نیروی مغناطیسی
این ماکرو ابزاری کلیدی برای توسعه مدلهای فیزیکی پیشرفته در CFD محسوب میشود.
نقش DEFINE_SOURCE در فرآیند حل
در روش حجم محدود که فلوئنت بر اساس آن عمل میکند، معادلات حاکم به فرم جبری گسسته تبدیل میشوند. ترم منبع در هر سلول به معادله گسسته اضافه میشود. هنگامی که DEFINE_SOURCE فعال باشد، حلگر در هر iteration برای هر سلول، این تابع را فراخوانی میکند تا مقدار منبع را محاسبه کند.
مقدار بازگشتی تابع مستقیماً به سمت راست معادله گسسته افزوده میشود. علاوه بر مقدار منبع، امکان تعریف مشتق آن نسبت به متغیر حل نیز وجود دارد که در خطیسازی معادلات و افزایش پایداری حل نقش مهمی دارد.
ساختار کلی DEFINE_SOURCE
ساختار DEFINE_SOURCE شامل اجزای زیر است:
نام تابع
نامی که کاربر برای شناسایی تابع در محیط فلوئنت انتخاب میکند. این نام هنگام اتصال منبع به معادله مربوطه نمایش داده میشود.
شناسه سلول (Cell Identifier)
این شناسه امکان دسترسی به اطلاعات هر سلول مانند دما، فشار، سرعت یا کسر جرمی گونهها را فراهم میکند.
شناسه ناحیه (Thread)
برای مشخص کردن ناحیه یا زون سلولی موردنظر استفاده میشود.
مشتق منبع نسبت به متغیر حل
یکی از ویژگیهای مهم DEFINE_SOURCE امکان تعریف مشتق منبع نسبت به متغیر اصلی معادله است. این مشتق در فرآیند خطیسازی معادله استفاده میشود و نقش مهمی در همگرایی بهتر حل دارد.
خروجی نهایی تابع مقدار عددی ترم منبع در آن سلول است.
مراحل استفاده از DEFINE_SOURCE در فلوئنت
1. تعیین معادله هدف
ابتدا باید مشخص شود که ترم منبع به کدام معادله افزوده خواهد شد:
- معادله مومنتوم
- معادله انرژی
- معادله گونهها
- معادلات توربولانسی
2. تدوین مدل فیزیکی منبع
رابطه فیزیکی یا تجربی مربوط به منبع باید مشخص شود. این رابطه میتواند تابعی از:
- دما
- فشار
- سرعت
- ترکیب شیمیایی
- زمان
باشد.
3. توسعه UDF با DEFINE_SOURCE
در این مرحله، منطق محاسبه ترم منبع برای هر سلول نوشته میشود. در صورت امکان، مشتق منبع نیز برای بهبود همگرایی تعریف میگردد.
4. کامپایل یا تفسیر UDF
پس از تکمیل فایل UDF، آن را در فلوئنت بارگذاری کرده و ترجیحاً در حالت compiled اجرا میکنیم، بهویژه در مسائل پیچیده یا غیرخطی.
5. اتصال تابع به معادله مربوطه
در بخش Cell Zone Conditions و قسمت Source Terms، تابع DEFINE_SOURCE به معادله موردنظر اختصاص داده میشود.
کاربردهای متداول DEFINE_SOURCE
تولید حرارت حجمی
در تحلیل تجهیزات الکتریکی یا واکنشهای گرمازا، تولید حرارت در حجم سیال یا جامد با DEFINE_SOURCE مدل میشود.
نیروی حجمی
برای شبیهسازی میدانهای مغناطیسی، الکتریکی یا نیروهای سفارشی در معادله مومنتوم استفاده میشود.
واکنشهای شیمیایی
در مواردی که مدل واکنش پیشفرض کافی نباشد، نرخ واکنش بهصورت منبع گونه تعریف میشود.
انتقال جرم بین فازها
در مدلهای چندفازی، تبخیر و میعان میتوانند بهصورت منبع یا چاه جرم تعریف شوند.
نکات کلیدی در استفاده از DEFINE_SOURCE
برای دستیابی به نتایج پایدار و دقیق، رعایت موارد زیر ضروری است:
- تعریف صحیح علامت منبع (مثبت یا منفی بودن)
- توجه به سازگاری واحدها با سیستم واحدهای فلوئنت
- تعریف مشتق منبع برای بهبود همگرایی
- جلوگیری از اعمال مقادیر بسیار بزرگ که موجب ناپایداری عددی شوند
- اعتبارسنجی مدل منبع با یک حالت سادهتر پیش از تحلیل نهایی
این نکات نقش مهمی در جلوگیری از واگرایی حل دارند.
جمعبندی
DEFINE_SOURCE یکی از مهمترین ماکروهای UDF در انسیس فلوئنت برای تعریف ترمهای منبع سفارشی در معادلات حاکم است. این ماکرو امکان افزودن اثرات فیزیکی پیچیده مانند تولید حرارت، نیروی حجمی یا نرخ واکنش را به مدل عددی فراهم میکند. تسلط بر ساختار و نحوه استفاده از DEFINE_SOURCE به مهندسان کمک میکند مدلهای پیشرفته و دقیقتری را در شبیهسازیهای CFD پیادهسازی کنند.
کلیدواژه ها : DEFINE_SOURCE در فلوئنت- آموزش DEFINE_SOURCE- ترم منبع در فلوئنت- udf source term fluent- تعریف تولید حرارت در فلوئنت- افزودن نیروی حجمی در CFD- ansys fluent source udf- user defined source term- منبع انرژی در فلوئنت- آموزش UDF در ANSYS Fluent- CFD source term modeling