اگر در هنگام انجام پروژه با انسیس فلوئنت با موضوع کدنویسی یا همان UDF نویسی برخورد کردهاید، احتمالاً سوالهای بسیاری در این رابطه برای شما ایجاد شده است. به معرفی این قابلیت در فلوئنت بپردازیم. برای آموزش کامل مفاهیم یودیاف (UDF) نویسی در فلوئنت از فروشگاه آموزشی ما دیدن نمائید.
توابع UDF در فلوئنت (UDF in ANSYS Fluent) زیر دستهای از توابع خارجی این نرم افزار میباشند که مهم ترین کاربرد آنها این است که به کمک آنها میتوان قابلیتهای جانبی متفاوتی را به نرم افزار انسیس فلوئنت اضافه کرد. نحوه عملکرد این توابع خارجی به این صورت است که به صورت پویا در هر تکرار از پروسه حل در مسائل پایا و در هر گام زمانی در مسائل گذرا، اجرا می شوند.
UDF در نرم افزار انسیس فلوئنت کاربردهای گستردهای دارد که از جملهی آنها می توان به موارد زیر اشاره کرد:
- تعیین شرایط مرزی خاص
- تغییر خواص منحصر به فرد یک ماده
- تعیین یک منبع خاص در میدان و داده دهی اولیه یکنواخت میدان
- اعمال سرعت خطی ثابت یا متغیر بر روی مرزهای متحرک
کاربردهای UDF نویسی در انسیس فلوئنت
بگذارید در قالب یک مثال یک نمونه از کاربرد های UDF نویسی در انسیس فلوئنت را واضح تر توضیح دهیم:
به عنوان مثال برای اعمال سرعت خطی ثابت یا متغیر بر روی مرزهای متحرک یا تعیین ممان اینرسی های یک جسم صلب از توابع خارجی UDF استفاده میشود . اما نکته قابل نوجه این است که کامپایل کردن این توابع نیازمند فراگیری نکته های مهمی است که اگر به آنها اشراف کامل نداشته باشید در استفاده از توابع UDF با مشکل مواجه خواهید شد.
در ادامه در راستای ارائه هر چه بهتر و کامل تر مباحث آموزش انسیس فلوئنت به توضیح کامپایل کردن و رفع خطاهای احتمالی در UDF نویسی میپردازیم.
برای درک بهتر و چگونگی نوشتن کدهای UDF در ادامه مثالی که در بخش قبل راجع به آن صحبت کردیم با عنوان “مشخص کردن سرعت یک جسم صلب متغییر با زمان” را مینویسیم:
include.udf#
(DEFINE_CG_MOTION(bus, dt, cg_vel, cg_omega, time, dtime
}
}
(if(CURRENT_TIME<3
;cg_vel[0] = 3.0
}
{
(if(3<=CURRENT_TIME<6
;cg_vel[0]=6.0
}
;cg_vel[1] = 0.0
;cg_vel[2] = 0.0
{
کامپایل کردن UDF به این جهت از اهمیت زیادی برخوردار است که معمولاً با خطاهای زیادی مواجه میشویم یکی از پرتکرار ترین این خطاها و چکونگی مقابله با آن را به شما معرفی میکنیم:
Error: The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform
روشهای کاربردی UDF نویسی در انسیس فلوئنت
به منظور وارد کردن UDF در انسیس فلوئنت دو روش بسیار کاربردی وجود دارد که این دو روش نسبت به هم مزایا و معایبی دارند که در ادامه به طور مختصر به آن می پردازیم.
- Interpreted
- Compile
در روش اول کاربر با استفاد از کامپایلر داخلی فلوئنت کدهای خود را به نرم افزار وارد میکند اما در روش دوم با استفاده ار یک کامپایلر جداگانه مثل Visual Studio کدهای خود را وارد فلوئنت میکند. که شامل موارد زیر می باشد:
- User Define
- Function
- Compile or Interpreted
در روش دوم یعنی استفاده از کامپایلر خارجی اغلب کاربران با خطای زیر مواجه می شوند :
Error: The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform
دلایل بروز این خطا :
- عدم نصب Compiler بر روی سیستم مورد استفاده
- عدم همخوانی ورژن Compiler با نرم افزار فلوئنت
- استفاده از کاراکترهای نامتعارف برای نامگذاری پوشه کاری، مانند: (@/*-+…….)
- مشکلات مربوط به استفاده از دستورات کدنویسی
اما اگر با انجام تمامی مراحل بالا مشکل کامپایل یو دی اف در فلوئنت حل نشد مراحل زیر را انجام دهید:
- در منوی سرچ لپ تاپ عبارت Visual studio cross tools command prompted را سرچ کنید.
- مسیر نصب فلوئنت را پیدا کنید و در command prompted ایکون فلوئنت را درگ و دراپ کنید.
- دکمه اینتر را بزنید و نرم افزار فلوئنت را اجرا کرده و UDF خود را بارگذاری کنید.
برای آشنایی بیشتر با کدنویسی UDF و کاربردهای آن در نرم افزار فلوئنت، دورههای “ آموزش کدنویسی در فلوئنت (UDF) از مقدماتی تا پیشرفته – که در دو فصل تهیه و تنظیم شده است” و “دورهی آموزشی از مبتدی تا حرفهای در انسیس فلوئنت – فصل دوم“ در بخش فروشگاه آموزشی را پیشنهاد میکنیم.