کامپایل کردن یو دی اف در فلوئنت (Compile UDF in Ansys Fluent) آموزش یو دی اف نویسی

اگر جزء آن دسته از کاربرانی باشیم که با انسیس فلوئنت به صورت پیشرفته یا متوسط کار می کینم حتما با یو دی اف نویسی در فلوئنت آشنا هستیم. در واقع توابع یو دی اف در فلوئنت ( UFD in Ansys fluent ) توابع خارجی این نرم افزار می باشند ، که می توان توسط آنها قابلیت های مختلفی را به نرم افزار انسیس فلوئنت وارد کرد. این توابع به صورت دینامیکی در هر تکرار از پروسه حل در فلوئنت اجرا می شوند و موارد خاص مورد نظر کاربر را به فلوئنت اعمال می کنند. در ابتدا به بررسی کلی udf نویسی در فلوئنت می پردازیم.

آموزش رایگان یو دی اف نویسی در انسیس فلوئنت

در فیلم آموزشی زیر به آموزش مفاهیم پایه ای مربوط به یو دی اف نویسی (udf نویسی در انسیس فلوئنت) پرداخته ایم و همچنین لینک های دانلود نرم افزارهای مورد نیاز برای یو دی اف نویسی و PDF های شرکت انسیس (جزوه udf ) و نرم افزار ویژوال استودیو را نیز می توانید دریافت کنید.

دانلود فیلم آموزش کدنویسی در فلوئنت و فایل های مورد نیاز UDF نویسی

  • دریافت لینک دانلود فیلم آموزش کدنویسی در فلوئنت، به همراه PDF های شرکت انسیس ، برنامه های مورد نیاز برای UDF نویسی و فایل نرم افزار ویژوال استودیو هماهنگ با انسیس
  • این فیلد برای اعتبار سنجی است و باید بدون تغییر باقی بماند .

آموزش یو دی اف نویسی در فلوئنت ( udf نویسی در فلوئنت )

استفاده از یو دی اف (UDF) در نرم افزار فلوئنت کاربردهای متنوع و فراوانی دارد به عنوان مثال برای اعمال سرعت خطی ثابت یا متغیر بر روی مرزهای متحرک یا تعیین ممان اینرسی های یک جسم صلب از  UDF استفاده می­ شود . در ادامه مقاله به کامپایل کردن یو دی اف در فلوئنت (compilling udf in ansys fluent)  و کدنویسی udf در فلوئنت اشاره کرده ایم. کامپایل کردن یودی اف به این جهت از اهمیت زیادی برخوردار است که معمولا با خطاهای زیادی مواجه می شویم. در پایان هم راه حل های رفع خطای زیر را بررسی می کنیم:
Error: The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform

*** از جمله کاربردهای یو دی اف نویسی در فلوئنت ( udf نویسی در فلوئنت ) به موارد زیر میتوان اشاره کرد:

  1.  تعیین شرایط مرزی خاص
  2.  تغییر خواص منحصر به فرد یک ماده
  3.  تعیین یک منبع خاص در میدان و داده دهی اولیه یکنواخت میدان
  4.  اعمال سرعت خطی ثابت یا متغیر بر روی مرزهای متحرک
  5.  تعیین ممان اینرسی یک جسم صلب

موارد بالا تنها بخش کوچکی از کاربرد این توابع است و شما می توانید شرایط مد نظر خود را با فرا گرفتن آموزش یو دی اف به نرم افزار انسیس فلوئنت وارد کنید.

ویژگی های یو دی اف در انسیس فلوئنت

یو دی اف های نوشته شده در فلوئنت ویژگی های خاصی باید داشته باشند که عبارتند از:

  1.  توابع یو دی اف ( udf ) با پسوند C  ذخیره شده و آن ها را میتوان در هر ویرایشگر متنی مثل Notepad تغییر داد.
  2.  هر فایل می تواند از یک یا چند تابع تشکیل شده باشد و همچنین می توان چندین یو دی اف را در قالب یک یو دی اف در فلوئنت نوشت.
  3.  توابع باید در قالب ماکروهای تعیین شده (Define macros) که توسط فلوئنت در اختیار کاربر قرار داده شده است، نوشته شود.
  4.  تمامی توابع خارجی با خط “udf.h” شروع می شود در اصل با استفاده از این خط ماکروهایی که در کد مشخش شده است توسط نرم افزار فلوئنت شناسایی می شود.
  5.  کلیه واحدهایی که در یو دی اف فلوئنت مشخص می شود بر حسب واحد Si  می باشد.
  6.  برای بارگذاری یو دی اف در نرم افزار انسیس فلوئنت دو راه وجود دارد که اولی استفاده از کامپایلر داخلی فلوئنت و دومی استفاده از یک کامپایلر خارجی می باشد.
  7.  استفاده از کامپایلر داخلی محدود است و کامپایل تمامی توابع با استفاده از این روش امکان پذیر نمی باشد.
  8.  سرعت کامپایلر خارجی به مراتب یبشتر است.
حتما بخوانید#   انجام پروژه فلوئنت - انجام پروژه انسیس فلوئنت ansys fluent

فرمت عمومی یک ماکرو می بایست به شکل زیر باشد:

DEFINE_MACRONAME(udf_name, passed in variables)

در دستور فوق اولین متغیر داخل پرانتز عبارت است از نام تابع که این نام توسط کاربر تعیین می شود. در اصل تنها عبارتی که در سطر اول هر ماکرو قابل تغییر است همین نام می باشد و دیگر متغیرها باید به همان شکل که در فلوئنت دستور داده شده است عینا در یو دی اف کپی شوند. توجه داشته باشید توابع تعیین شده به بزرگی و کوچکی حروف حساس بوده و استفاده نادرست موجب خطا در استفاده از آن ها می شود. نام انتخاب شده توسط کاربر نیز پس از بارگذاری در منوهای فلوئنت قابل انتخاب می باشد.

مثال ساده زیر یک نمونه از تعیین سرعت ورودی برای یک شرط مرزی با یو دی اف نویسی است.(پروفیل سرعت برای شرط مرزی ورودی)

DEFINE_PROFILE(inlet_x_velocity, thread,index)

 

یک یادآوری:

مشخص کردن سلول ها برای یو دی اف نویسی در فلوئنت

 

با توجه به مفاهیم بالا عبارت های زیر در یو دی اف نویسی به کار می رود.

اصطلاحات udf در فلوئنت

 

برای هر یو دی اف نیز می توانیم متغییر های مخصوص یک شبکه محاسباتی را با توجه به موارد زیر مشخص کنیم.

  • Cell_t               سلول ها
  • Face_t             وجوه یک سلول
  • Thread            رشته
  • Domain            میدان
  • Node               نود

تمامي این موارد به كوچكي و بزرگي حروف حساس هستند و بايد به همان ترتيبي كه در بالا تعريف شده اند, در تابع udf استفاده شوند.

آموزش نوشتن  udf های پرکاربرد در فلوئنت

1- یو دی اف مربوط به مشخص کردن پروفیل سرعت فلوئنت :

در ادامه یک یو دی اف مربوط به پروفیل سرعت در نرم افزار فلوئنت را مشاهده می کنیم. توجه داشته باشید شما در نرم افزار انسیس فلوئنت تنها می توانید از سرعت یکنواخت داخل نرم افزار استفاده کنید و برای استفاده از پروفیل سرعت نیاز به توابع یو دی اف دارید.

یو دی اف مربوط به مشخص کردن پروفیل سرعت فلوئنت :

یو دی اف در فلوئنت برای سرعت - velocity udf fluent

#include “udf.h”
DEFINE_PROFILE(inlet_vel,thread,position)
{
real x[ND_ND];
real y,u;
face_t f;
begin_f_loop(f, thread)
{
F_CENTROID(x,f,thread);
y = x[1];
if(y>=0)   u=10-10*y/0.25;
if(y<0)     u=10+10*y/0.25;
F_PROFILE(f,thread,position) = u;
}
end_f_loop(f, thread)

همان طور که مشاهده می شود در کد بالا محور y به دو دسته تقسیم شده است و در هر بخش معادله سرعت متفاوت می باشد، در این زمان با توجه به مدل هندسه و شبکه بندی استفاده شده نرم افزار فلوئنت، سرعت ورودی محاسبه شده و وارد دامنه محاسباتی می شود . برای ایجاد سرعت مدنظر باید مدل محاسباتی با معادلات استفاده شده در کد هم خوانی داشته باشد در غیر این صورت پروفیل سرعت متفاوتی را مشاهده خواهید کرد.

2- یو دی اف مربوط به مشخص کردن وزن یک گوی  در فلوئنت:

 

DEFINE_SDOF_PROPERTIES(test_box, prop, dt, time, dtime)
{
prop[SDOF_MASS] = 100;

}

در این یو دی اف جرم هندسه 100 کیلوگرم تعیین شده است.

3- یو دی اف مربوط به مشخص کردن سرعت یک جسم صلب متغییر با زمان:

 

 #include<udf.h>
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;
}

 

4- یو دی اف مربوط به مشخص کردن سرعت یک جسم صلب با سرعت ثابت:

 #include<udf.h>
DEFINE_CG_MOTION(bus, dt, cg_vel, cg_omega, time, dtime)

{

cg_vel[0] = 3.0;

}

5- یو دی اف مربوط به مشخص کردن ممان اینرسی یک جسم صلب:

#include “udf.h”

DEFINE_SDOF_PROPERTIES(test_box, prop, dt, time, dtime)
{
prop[SDOF_MASS] = 666.66;
prop[SDOF_IXX] = 129.6296;
prop[SDOF_IYY] = 111.1111;
prop[SDOF_IZZ] = 129.6296;

}

حتما بخوانید#   آموزش نحوه محاسبه عدد ناسلت و افت فشار در انسیس فلوئنت (Nusselt number)

خطاها و ارورهای مربوط به یو دی اف نویسی در فلوئنت

یکی از مشکلات رایج در زمان کامپایل کردن UDF در فلوئنت خطای زیر می باشد که در ادامه مقاله به بررسی راه های حل این خطا خواهیم پرداخت:

Error: The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform

اگرچه در بروز رسانی های جدید ، انسیس سعی داشته تا کاربران بدون نیاز به کد نویسی این دستورات را برروی شبیه سازی خود اعمال کنند. به عنوان مثال در فلوئنت ورژن 18.2 شما می­ توانید بدون استفاده از کدنویسی ، جرم و ممان اینرسی­ های جسم خود را مشخص کنید. که شامل مراحل زیر می باشد:

  • انتخاب Dynamic mesh
  • Six DOF
  • Create/Edit
  • Set Mass & Ixx & Iyy & Izz

چگونگی کامپایل کردن udf در انسیس فلوئنت - مشخص کردن ممان اینرسی و جرم

حتما بخوانید#   استقلال از شبکه فلوئنت - استقلال حل از شبکه در ansys fluent - استقلال از مش در انسیس
وارد کردن 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 با نرم افزار فلوئنت.(پیشنهاد مولف: ورژن2010 در ادامه لینک دانلود این ورژن قرار داده شده است)
  • استفاده از کاراکترهای نامتعارف برای نامگذاری پوشه کاری، مانند: (@/*-+…….).
  • مشکلات مربوط به استفاده از دستورات کدنویسی.

برای دانلود ویژوال استودیو مناسب می توانید از فرم بالای صفحه استفاده نمایید تا لینک ها به ایمیل شما فرستاده شود.

نسخه­ های مناسب Microsoft Visual Studio در  انسیس ورک بنچ  18.2 برای کامپایل کردن UDF

Microsoft Visual Studio 14

 Microsoft Visual Studio 12

Microsoft Visual Studio 11

Microsoft Visual Studio 10

Microsoft Visual Studio 9

Microsoft Visual Studio 8

Microsoft Visual Studio.net 2003

همچنین در کنار این ورژن ها استفاده از ورژن 2010 برروی انسیس ورک بنچ 17.2 ، 18.2 و  19.2  تست شده و بدون هیچ مشکلی کدهای ورودی را فراخوانی میکند.

اما اگر با انجام تمامی مراحل بالا مشکل کامپایل یو دی اف در فلوئنت حل نگردید مراحل زیر را انجام دهید:
  1.  در منوی سرچ لپ تاپ عبارت Visual studio cross tools command prompted  را سرچ کنید.
  2. مسیر نصب فلوئنت را پیدا کنید مطابق شکل زیر در پنجره command prompted ایکون فلوئنت را درگ دراپ کنید.
  3. دکمه اینتر بزنید و نرم افزار فلوئنت را اجرا کرده و UDF خود را بارگذاری کنید.

Error: The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform

دوره آموزش انسیس فلوئنت - اموزش فلوئنت ansys fluent

حتما بخوانید

دوره آموزش فلوئنت

23 ساعت

دیدگاه ها درباره “کامپایل کردن یو دی اف در فلوئنت (Compile UDF in Ansys Fluent) آموزش یو دی اف نویسی

  1. رضایی :

    سلام و خسته نباشید خدمت شما عزیزان .میدونم یکسال از پستی که گذاشتید میگذره اما من یه مشکل اساسی دارم . من وقتی میخوام از ماژول pemfc استفاده کنم این خطا میاد ولی با ماژول های دیگه خطا نمیده ؟؟؟؟ همه کارای بالا رو هم کردم از vs 2010 تا2019 هم نصب کردم حتی تو صفحات انگلیسی گشتم و کارایی گفتن از قبیل تعریف متغیر سیستم رو انجام دادم حتی مدلم رو تغییر دادم و با مدل ساده هم امتحان کردم اما فقط این ماژول رو ایراد می گیره .. انسیس 18.2 و 19.5 رو هم امتحان کردم باز نشد واقعا موندم ایراد از کجاست ….آیا میتونید کمکم کنید ؟

    • مدیر سایت :

      سلام دوست عزیز – تمامی راه حل های موجود رو در مقاله بیان کردیم. متاسفانه از این مورد که شما فرمودین تا به حال استفاده نکردم. شاید مشکل از ویندوز شما باشد. به نظرم در سوپر گروه تلگرامی ما به ادرس @cfd_group عضو بشید و مشکل خودتون رو مطرح کنید. شاید از دوستان کسی اطلاعات بیشتری در این زمینه داشته باشد.

  2. علی :

    سلام
    بنده فلوئنت ورژن 19.0 و ویژوال 2010 روی سیستمم نصب بود تا 3-4 ماه پیش کار می کرد ولی امروز که خواستم حتی همان اجراهای قبل را باز کنم پیام خطا می داد…
    آیا امکان دارد بعد از ورود به سال 2020 ویژوال 2010 دیگر جواب compile را ندهد.
    چه ورژنی برای فلوئنت 19 در حال حاضر جواب می دهد؟
    با تشکر

    • مدیر سایت :

      سلام – خیر ویژوال 2010 به درستی کار میکند و ما از همین ورژن برای کامپایل کردن یو دی اف ها در انسیس 19 استفاده میکنیم

  3. رضا :

    با سلام
    برای udf نویسی باید اول visual studio را نصب کرد یا انسیس فلوئنت؟و آیا اصن ترتیب و اولویت نصب مهم هست یا خیر؟

    • مدیر سایت :

      سلام ترتیب نصب مهم نیست ولی قبل از نصیب ویژوال استدیو از هم خوانی آن با نسخه انسیس خود اطمینان داشته باشید
      پيشنهاد ما استفاده از نسخه 2010 ویژوال استودیو است.

  4. علی :

    با سلام
    برای انسیس 22 باید از کدام نسخه ویژوال استودیو استفاده کنیم؟
    همچنین آیا ویژوال استودیو 2015 بر روی نسخه 19.3 و بالاتر جواب می دهد یا خیر؟

    • مدیر سایت :

      سلام. ویژوال استودیو 2010 در حال حاضر برای همه نسخه هایی که ما استفاده میکنیم کار میکنه. فکر نکنم 2015 حداقل برای نسخه های جدید مشکلی داشته باشد.

  5. عارفه داوری :

    باسلام احتراما برای نسخه 2022 فلوئنت کدام نسخه از ویژوال استادیو مناسب تر می باشد؟

    • مدیر سایت :

      سلام. ویژوال استودیو 2010 معمولا برای همه ورژن ها بدون مشکل کار میکند.
      در پست زیر در کانال تلگرام ما میتوانید آموزش نصب و لینک دانلود را دریافت کنید.
      https://t.me/CFDgroup/2542

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فرصت فوق العاده | برای خرید اولین پکیج آموزش یو دی اف نویسی در فلوئنتبرای خرید با 60 هزارتومان تخفیف کلیک کنید
+