ChannelFlow-Tools: یه ابزار خفن برای ساخت دیتاست استاندارد مدل‌سازی جریان تو کانال‌های سه‌بعدی (با موانع!)

Fall Back

اگه تاحالا خواستین واسه شبیه‌سازی جریان سیال توی کانال‌هایی که توشون مانع هست یه دیتاست حسابی و مرتب درست کنین، احتمالا فهمیدین که کلی دردسر داره. تازه باید حواستون باشه که دیتاست‌هاتون واسه یادگیری ماشین (ML) هم مناسب باشن! واسه همین، ابزار ChannelFlow-Tools اومده که همه این کارا رو راحت کنه و پروسه ساخت دیتاست رو استاندارد، تکرارپذیر و پربازده کنه.

یه توضیح کوچیک اولش: CFD یعنی دینامیک سیالات محاسباتی، همون شبیه‌سازی کامپیوتری رفتار سیالات که تو کلی از علوم و مهندسی به کار میره. این ابزار ChannelFlow-Tools داره تمرکز می‌کنه رو مدل‌سازی جایگزین یا همون surrogate modeling واسه CFD. این مدل‌ها میان با کمک داده‌ها، رفتار سخت و وقت‌گیر شبیه‌سازی واقعی رو تقریبی و خیلی سریع‌تر پیش‌بینی می‌کنن.

حالا ChannelFlow-Tools دقیقا چیکار می‌کنه؟ بیاین مرحله به مرحله بش نگاه کنیم:

  1. ایجاد مدل سه‌بعدی با آدمیزادی
    اولش که شما لازم نیست دستی مدل CAD بسازین (CAD یعنی طراحی رایانه‌ای قطعات و اشکال)، این ابزار خودش می‌تونه برنامه‌وار اشکال سه‌بعدی کانال و موانع داخلشو تولید کنه.

  2. بررسی شدنی یا feasible بودن هندسه‌ها
    وقتی یه هندسه طراحی میشه، اول بررسی می‌کنه که اصلا این هندسه فیزیکی ممکن هست یا نه (مثلاً راه آب بسته نباشه!).

  3. تبدیل هندسه به فرمت دیتاستی که برای یادگیری ماشین می‌خوایم
    کانال‌ها با تکنولوژی SDF voxelization به حالت وکسل درمیاد. وکسل همون چیزی شبیه پیکسل تو فضای سه‌بعدیه که مدل رو به یه شبکه مکعبی تقسیم می‌کنه و هر قسمت رو با عددی (مثلاً فاصله‌ی نقطه تا سطح جسم) نشون میده. تازه با Cartesian resampling دوباره نمونه‌برداری میشه تا همه دیتاستا resolution (وضوح) یکسان داشته باشن.

  4. اجرای حل‌گر جریان روی سوپرکامپیوتر
    حل‌گر waLBerla LBM استفاده میشه. LBM یعنی روش Boltzmann شبکه‌ای، یکی از راه‌های معروف برای حل سریع معادلات جریان سیال. همه اینا هم به صورت اتومات رو HPC (کامپیوترای قوی محاسباتی) اجرا میشه.

  5. همه چیز رو با یه فایل تنظیمات کنترل کن!
    کل پروسه رو میشه با یه فایل کانفیگ ساده (از جنس Hydra/OmegaConf) تنظیم کرد. یعنی یه جای متمرکز داری که می‌تونی دقیقاً مشخص کنی چی و چطور اجرا بشه و هروقت لازمت شد عین همون دیتاست رو دوباره درست کنی.

یه مثال جالب: واسه تست قدرت این ابزار، سازنده‌هاش بیشتر از ۱۰هزار مدل مختلف درست کردن که مقادیر عدد رینولدز (Re) توشون بین ۱۰۰ تا ۱۵۰۰۰ تغییر می‌کرد و شکل و موقعیت موانع هم کلی فرق می‌کرد. (عدد رینولدز یه پارامتر فنی تو مکانیک سیالاته که باهاش رفتار جریان رو دسته‌بندی می‌کنن)

نکته مهم دیگه اینکه ChannelFlow-Tools اجازه میده یه مسیر کامل، شفاف و قابل تکرار واسه ساخت دیتاست داشته باشین. خیلی وقتا کسانی که می‌خوان از داده‌های سایت‌های دیگه استفاده کنن یا کارای خودشونو بازتولید کنن، با کلی تناقض و داده‌های عجیب‌غریب روبه‌رو میشن! اینجا دیگه خبری از این دردسرا نیست؛ چون همه مراحل قابل تکرارن و با همون تنظیمات دوباره ساخته میشن.

تو همون مطالعه موردی، حتی اومدن با یه مدل ساده سه‌بعدی U-Net (یکی از مدل‌های عمیق شبکه عصبی مخصوص کارای تصویری) روی دیتاست آموزش دادن تا نشون بدن کیفیت داده‌ تولیدی برای آموزش ML عالیه و قابلیت باعثگرایی خوبی داره.

در کل، ChannelFlow-Tools کار ساخت دیتاست رو از یه فرآیند دستی و گیج‌کننده تبدیل کرده به یه لوله منظم، تکرارپذیر و قابل شخصی‌سازی که واقعاً به درد کسایی می‌خوره که می‌خوان مدل یادگیری ماشین واسه مسائل سیالات درست کنن. خلاصه ابزار رو بگیری دستت، هرچی مدل جریان با مانع خواستی می‌سازی و بدون دردسر می‌تونی روی مدل‌هات کار کنی!

منبع: +