شبیه سازی حرکت پیستون ناشی از نیروی جریان با movingConeTopoFvMesh

در این شبیه سازی جریان از ورودی وارد می شود به بدنه ی پیستون برخورد می کند و سپس از خروجی خارج می شود. نیرویی که سیال بر بدنه ی پیستون وارد می کند شامل نیروهای لزجت و فشار وارد بر پیستون محاسبه شده و  تغییر مکان پیستون ناشی از نیروی جریان در هر گام زمانی محاسبه شده است. براثر حرکت پیستون سلول های پشت پیستون کشیده و سلولهای جلو پیستون فشرده می شوند که این تغییر در نسبت منظری سلول منجر به کاهش کیفیت شبکه حین حل و نیز افزایش خطای عددی می شود. کتابخانه movingConeTopoFvMesh در اپن فوم هرگاه اندازه سلول از حد مشخص شده توسط کاربر کمتر شود آن سلول را حذف می کند و هرگاه اندازه ی سلول از حد مشخص شده توسط کاربر بیشتر شود لایه ای به آن می افزاید. برای شبیه سازی حاضر کد  movingConeTopoFvMesh.C توسعه داده شد تا نیروهای وارد بر پیستون از طریق کد forces.C محاسبه گردد و  تغییر مکان گره های شبکه براساس شتاب حاصل از نیروی خالص وارد بر پیستون محاسبه گردد. سپس این مساله با حلگر pimpleDyMFoam اجرا شده است.

moving piston simulation using pimpleDyMFoam

نحوه ی مواجه با خطا در اپن فوم

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

 

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

 

ادامه نوشته

شبیه سازی انتقال حرارت بین دو فاز جامد (آهن و تفلون) با chtMultiRegionFoam

در این شبیه سازی یک لوله که داخل آن با یک پوشش تفلونی عایق شده بود. مورد شبیه سازی قرار گرفت. مرز بیرونی و داخلی لوله به ترتیب با هوا و گاز داغ از طریق انتقال حرارت جابجایی تبادل حرارت داشتند. برای رسم شکل از ابزار blockMesh استفاده شد و با رسم چهار بلوک یک لوله ی حلقوی رسم گردید. سپس با استفاده از ابزار topoSet دو ناحیه ی داخلی (تفلون) و بیرونی (آهن) معرفی شد. این دو ناحیه با استفاده از فرمان splitMeshRegion از هم جدا شدند. شکل زیر هندسه ی ایجاد شده رو نشان میدهد.

numerical simulation of conjugate heat transfer using chtMultiRegionFoam

توضیحات بیشتر در ادامه مطلب

ادامه نوشته

جداسازی گاز از مایع با حلگر interFoam

در این شبیه سازی مخلوط  ۵۰-۵۰ آب و گاز برای چند ثانیه ساکن باقی می مانند تا کاملا از هم جدا شوند و فصل مشترک بین این دو فاز شکل بگیرد. گاز به دلیل آنکه چگالی کمتری دارد به تدریج در بالای آب قرار می گیرد. برای شبیه سازی از حلگر interFoam استفاده شده است. برای شبیه سازی مقدار اولبه ی کسر حجمی (alpha) را داخل میدان ۰/۵ فرض شده است. بنابراین با این حلگر می توان فرآیند جداسازی دو فاز مخلوط نشدنی همچون آب و روغن یا آب و نفت و مانند آن را نیز مدلسازی کرد.

numerical simulation of water air separation

شبیه سازی مستقیم Atomization به روش حجم سیال با interFoam

برای شبیه سازی Atomization از دو روش استفاده می شود.

 

۱- شبیه سازی مستقیم:

معمولا در این شبیه سازی از یکی از روش های تعقیب سطح همچون روش حجم سیال (VOF) برای شبیه سازی پدیده ی Atomization استفاده می شود. حلگر مناسب برای این روش در اپن فوم interFoam و یا interDyMFoam است. این روش معمولا از لحاظ محاسباتی بسیار سنگین است و نیاز به شبکه ی ریز دارد.

۲- شبیه سازی اویلری- لاگرانژی:

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

در این پروژه جریان سیال با زاویه از دو انژکتور خارج می شود. جت های خروجی در ادامه باهم برخورد می کنند.  شبکه یک مکعب ساده با شبکه غیریکنواخت شش وجهی است که با ابزار blockMesh ایجاد شده است. برای اعمال شرط مرزی سرعت و حجم سیال از ابزار groovyBC در صفحه ی انژکتور استفاده شده است. سپس مساله با دو حلگر interFoam و interDyMFoam و برای دو حالت آرام و آشفته آماده شده است.

۱- شبکه باblockMesh

ایجاد شبکه ناهمگن با OpenFOAM

 

2- کانتور حجم سیال (برخورد جت های آب بهم) و بریده ای از کانتور سرعت در صفحه ی میانی

برخورد دو جت بهم

ادامه عکس ها در ادامه مطلب

 

ادامه نوشته

یادگیری اپن فوم را از کجا شروع  کنم؟

پس از نصب یکی از نسخه های لینوکس در پست قبلی به آن اشاره شد. کاربران تازه کار این سوال رو می پرسند که از کجا باید شروع کنند.

برای کاربران فارسی زبان راحت ترین مسیر برای یادگیری میتونه کتاب فارسی باشه که در این زمینه تالیف شده. این کتاب شامل ۱۰ فصل و حاوی مثال های متنوع CFD است. تو ضیحات بیشتر در مورد این کتاب در این پست قابل مشاهده است. من به همه ی افراد تازه کار توصیه می کنم که حتما ۶ فصل اول این کتاب رو مطالعه کنن و بعد سراغ مدلسازی مساله ی خودشان با اپن فوم بروند. چون در این ۶ فصل اکثر نکات کاربردی کار با اپن فوم و ابزارهای پس پردازش حین حل مساله ارائه شده است.

علاوه بر کتاب منابع زیر نیز برای یادگیری توصیه می شود:

به ادامه مطلب مراجعه کنید.

ادامه نوشته

شبیه سازی اویلری-لاگرانژی جت آب در جریان هوا با sprayFoam

در این پروژه مساله ی پاشش جت آب به هوای عبوری با حلگر sprayFoam شبیه سازی شد. حلگر sprayFoam حلگر اویلری-لاگرانژی است و برای حل پاشش سوخت و مساله ی احتراق نوشته شده است. اما می توان با تغییر تنظیمات این حلگر را برای مسائل غیر احتراقی نیز بکار برد. در این حلگر مدلهایی برای شبیه سازی پدیده های atomization و break up در نظر گرفته شده است.

فیلم شبیه سازی در ادامه مطلب:

ادامه نوشته

از کدام یک از ورژن های اپن فوم استفاده کنم ؟

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

۱- ورژن استاندار یا اصلی

ورژنی است که توسط تیم پروفسور ولر (weller) ارائه می شود. هر شش ماه یک بار بروز می شود اخرین نسخه آن OpenFOAM.4 است و از آدرس زیر قابل دانلود است.

http://openfoam.org/

۲- ورژن توسعه یافته

این ورژن توسط گروه از کاربران و به رهبری پروفسور جاساک (Jasak) ارائه می شود. این ورژن معمولا سالی یک بار ارائه می شود و نسبت به کدهای توسعه یافته توسط کاربران غیر از تیم اصلی منعطف تر است. اخرین نسخه ارائه شده foam-ext3.2 است و از آدرس زیر قابل دانلود است.

https://openfoamwiki.net/index.php/Category:FOAM-Extend_Version_4.0

۳- ورژن پلاس

این ورژن توسط گروه ESI ارائه می شود. این ورژن جدیدا از ورژن استاندارد جدا شده است و شباهت بسیاری به ورژن استاندارد دارد اما حاوی حلگرهای بیشتری است. اخرین نسخه ی این ورژن OpenFOAM1606+ است.

http://www.openfoam.com

این تنوع در ورژن های اپن فوم به دلیل متن باز بودن این نرم افزار است. در دنیای نرم افزارهای متن باز شما می توانید ورژن اختصاصی خود را از نرم افزار ارائه کنید. به همین دلیل است که بیش از ۳۰۰ نسخه متفاوت لینوکس وجود دارد. اگرچه این ورژنها مختلف اپن فوم تفاوتهایی با هم  دارند اما میشه گفت غالب ساختار ورژنهای مختلف یکی است.

من بر روی سیستم خودم از هر سه نسخه نصب دارم. اما کتابی که در این زمینه نوشتم براساس OpenFOAM220 است که از نسخه استاندارد می باشد. برای بیشترها شبیه سازیها از نسخه استاندارد استفاده می کنم. اما خوب برخی از  ابزارها و حلگرها ممکن است در نسخه استاندارد نباشد مثلا حلگر viscoElasticFluidFlow که در نسخه های استاندارد ارائه نمی شود. در این صورت از ورژنهای دیگر استفاده می کنم.

گراف زیر شاید به شما کمک کند که همه گروه های درگیر در پروژه اپن فوم را بشناسید.

گروه های فعال در پروژه اپن فوم

 گراف بالا از اینجا برداشته شده است.

محاسبه ی نیروی درگ در جریان ویسکوالاستیک

برای محاسبه ی نیروی های وارد بر جسم در  openfoam-ext3 ابزار libforces.so به صورت زیر به فایل controlDict از پوشه ی سیستم افزوده می شود.

  body
    {
        type                forces;
        functionObjectLibs  ( "libforces.so" );
        outputControl       timeStep;
        outputInterval      1;
        patches             (wall_c);
        pName               p;
        UName               U;
        rhoName          rhoInf;
        log                 true;
        rhoInf         803.87097;   //set density for incompressible simulation
        CofR          (0.25 0.007 0.125);  // center of rotation, it is useless for calculation of drag
    }

 در اپن فوم با این ابزار نمی توان نیروهای وارد بر جسم در سیالهای ویسکوالاستیک را محاسبه کرد. یعنی با افزودن دیکشنری بالا حین اجرای حلگر viscoelasticFluidFlow نیروها و ممنتم وارد بر جسم گزارش نمی شود. اما می توان با افزودن چند خط کد به سورس برنامه در فایل forces.C این مشکل را برطرف کرد.

شبیه سازی انتقال جرم در جریان دوفاز با توسعه حلگر interFoam

برای شبیه سازی جریان دوفازی در اپن فوم حلگرهای متنوعی وجود دارد. در مسائلی که دینامیک سطح مشترک دارای اهمیت است مثل بررسی خیزش تک حباب در مایع ساکن از روش های تعقیب سطح استفاده می شود. در اپن فوم حلگر interFoam به روش حجم سیال (VOF) به تعقیب فصل مشترک بین دو فاز تراکم ناپذیر می پردازد. برای این پژوهش نیاز شد تا این حلگر توسعه داده شود. برای شبیه سازی انتقال جرم بین این دوفاز مدل Continuous Species Transfer (CST) به این حلگر افزوده شد.این مدل یک معادله ی PDE برای توزیع ذرات در کل جریان دوفازی شامل سطح مشترک ارائه می کند و شرایط مرزی حاکم بر فصل مشترک همچون ضریب هنری بصورت ترمهایی در معادله ی انتقال لحاظ میشود.

 

در این پژوهش به منظور بررسی اثر انتقال جرم بر روی واکنش های شیمیایی؛ یک سیستم واکنشی موازی بصورت زیر نیز در نظر گرفته شده است.

A+B-----------------> P

A+P----------------->Q

که در این سیستم A  گونه ی انتقالی B گونه غیر انتقالی و P محصول و Q محصول جانبی (ناخواسته) است.

 

نمونه ای از توزیع غلظت گونه ی A در یک فرآیند غیر واکنشی:

شبیه سازی  واکنش در جریان دوفازی

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

ادامه نوشته

شبیه سازی جریان مغشوش با روش DES با حلگر pisoFoam

در این پژوهش مدل نیکولز (R.H.Nicoles) طبق پایان نامه

Turbulence Models and Their Application to Complex Flows

برای شبیه سازی جریان مغشوش به روش DES پیاده سازی شده است. با این مدل جریان عبوری از مکعب شبیه سازی شده است.

turbulence method - DES

شبیه سازی جریان داخل دودکش با حلگر buoyantBoussinesqSimpleFoam

به دلیل اختلاف چکالی تهویه بطور طبیعی در ساختمان اتفاق می افتد. در این پروژه اثر خروج گاز گرم از ورودی جانبی بر رفتار جریان جابجایی طبیعی ناشی از پدیده ی دودکش (stack effect) مورد بررسی قرار گرفته است. این شبیه سازی پایا با حلگر buoyantBoussinesqSimpleFoam انجام شد. جریان مغشوش با مدل توربولانسی کااپسیلون (kEpsilon) و تغییرات جزیی چگالی با مدل بوزینسک لحاظ شده است.

شبیه سازی اثر دودکش در اپنفوم

ادامه نوشته

توسعه مدل توربولانسی برای شبیه سازی جریان مغشوش با روش DES

اپن فوم از مدلهای مختلف توربولانسی RANS , LES و DES پشتیبانی می کند. در نسخه های جدید اپن فوم (ورژن ۳ به بعد) چند مدل DES از جمله kwSSTDES در اپن فوم پیاده شده است.

 

در روش DES با توجه به یک مقیاس طولی جریان نزدیک دیواره با روش های RANS و گردابه های بزرگ با روش LES گرفته می شود. در این پروژه با تغییر در کدپایه مقیاس های طولی مختلف براساس مقاله زیر پیاده سازی شده است.

Investigation of Alternative Length Scale Substitutions in Detached-Eddy Simulation
 

 

 

آموزش تصویری نصب لینوکس و کار در محیط ترمینال

بنیاد اپن فوم این نرم افزار را برای نصب در داخل لینوکس عرضه می کند. برای برخی از کاربران کار با سیستم عامل لینوکس دشوار است. در دو لینک زیر نحوه ی نصب و  برخی از فرامین پرکاربرد لینوکس ارائه شده است.(توجه: فیلم ها به زبان انگلیسی است.)

۱- نصب لینوکس از طریق vmware

۲- فرامین پر کاربرد در ترمینال (bash)

لینک جایگزین

توسعه حلگر  multiPhaseInterFoam با افزودن قابلیت حل برای محیط متخلخل

حلگر multiPhaseInterFoam از حلگرهای خانواده ی interFoam هست که برای شبیه سازی جریان چندفازی (بیش از دوفاز) به روش حجم سیال (VOF) مورد استفاده قرار می گیرد. در نسخه های موجود نمی توان این حلگر را برای شبیه سازی جریان در محیط متخلخل بکار برد. برای شبیه سازی مساله ی  dam break با چهار فاز (آب هوا روغن و جیوه) در  دامنه ی محاسباتی حاوی محیط متخلخل این حلگر توسعه داده شده است. برای توسعه حلگر کتابخانه های porous فراخوانی و ترم های چشمه مناسب در معادلات افزوده شده است.

numerical simulation of multi phase flow in porous media

نتایج در ادامه مطلب

ادامه نوشته

شبیه سازی جریان سطح آزاد سیال ویسکوالاستیک با توسعه حلگر viscoelasticFluidFlow

سیالهای ویسکوالاستیک  دسته ای از سیالهای غیرنیوتنی هستند. در اپن فوم حلگر visocoElasticFoam در نسخه های extended  مثلا foam-ext3 به حل جریان تک فاز ویسکوالاستیک می پردازد. این حلگر مدلهای مختلف جریان ویسکوالاستیک را پشتیبانی می کند.

 

در این پروژه با الگوبرداری از حلگر ویسکوالاستیک مدل های ویسکوالاستیک به حلگر دوفازی interFoam افزوده شد. اسم حلگر حاضر interViscoelasticFoam گذاشته شده است. سپس با کمک این حلگر مساله شکست سد با سیال LPPT شبیه سازی شد.

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

همکنون با همکاری یکی از دوستان مشغول اعتبارسنجی این حلگر بر روی خیزش حباب هوا در سیال ویسکوالاستیک هستیم.

تهیه عکس متحرک با فرمت gif از نتایج اپن فوم

برای تهیه ی عکس متحرک  (gif) از نتایج اپن فوم کافی است تا در داخل نرم افزار paraview و از قسمت فایل save animation فایلها را با فرمت jpg ذخیره کنید. سپس با استفاده از فرمان زیر در داخل ترمینال از فایلهای jpg فایل با فرمت gif ساخته می شود.

convert  -delay 100  -loop 0  *.jpg   animation.gif

در صورت عدم نصب برنامه imagemagick با استفاده از فرمان زیر این برنامه را نصب کنید:

sudo apt-get install imageMagic

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

برخورد قطره به دیوار و پاسخ حرارتی دیواره

در این پروژه با بهره گیری از دو حلگر chtMultiRegionFoam و حلگر interFoam حلگری با نام chtInterHeatFoam نوشته شد. حلگر interFoam به روش حجم سیال (VOF) به حل جریان دوفازی می پردازد و حلگر chtMultiRegionFoam حلگری است که به حل معادلات جریان و انتقال حرارت بین چند ناحیه می پردازد. این نواحی می تواند جامد یا سیال باشد. حلگر chtMultiRegionFoam به حل جریان تک فاز تراکم پذیر و تراکم ناپذیر می پردازد.  برای بررسی انتقال حرارت در برخورد قطره به دیواره نیاز بود تا معادله ی انرژی به حلگر interFoam اضافه گردد و سپس حلگر با روش ارائه شده در حلگر chtMultiRegionFoam برای حل معادله انرژی در چند ناحیه اصلاح شود. در این مساله نیاز است. تا معادلات سیال به روش حجم سیال برای جریان دو فازی و معادله ی انتقال حرارت برای جریان دوفازی و دیواره حل گردد.

simulation of heat transfer during drop impact on solid

 

عکس های بیشتر در ادامه مطلب

ادامه نوشته

شبیه سازی جریان باد در محیط شهری با حلگر simpleFoam

یکی از موضوعات مورد توجه در طراحی سازه های بلند و سازه های هوشمند محاسبه ی میدان جریان هوا در اطراف این سازه هاست. علاوه بر این مواردی چون آسایش افراد در پیاده روها و مباحثی چون نحوه پخش آلودگی در محیط شهری از دیگر مباحث مورد توجه است.

در این پروژه فایل کد با فرمت stl از ساختمانهای موجود در شهر port Louis از شهرهای استوایی  تهیه شده و سپس با ابزار snappyHexMesh شبکه محاسباتی ایجاد شده است. برای کاهش حجم محاسبات برای هر جهت باد شبکه ی جداگانه با معیارهای موجود در پیشینه ی تحقیق ایجاد شد.

ایجاد شبکه با snappyHexMesh

برای مرز ورودی شرط مرزی Atmospheric boundary layer  مورد استفاده قرار گرفت، لبه های جانبی و اتمسفر از شرط مرزی symmetryPlane استفاده شده است و بر روی دیواره ها از شرط مرزی wall Function استفاده می شود.

  برای دیدن نتایج به ادامه مطلب مراجعه شود.

ادامه نوشته

ubuntu14.04 + OpenFOAM3

مدتی است که از ارائه ی OpenFOAM3.0.1 می گذرد. برخی از کاربران به دلایل مختلف نتواستند آخرین ورژن اپن فوم را نصب نمایید. برای نصب راحت تر اپن فوم  لینوکس ubuntu14.04LTS  را اصلاح کردم  تا حاوی OpenFOAM3.0.1 باشد.
 برای دسترسی به لینوکس ubuntu14.04LTS  از آدرس ها زیر استفاده کنید.

1- مدیا فایر

2- دراپ باکس

3- مولت کلود


پس از نصب لینوکس  برای فراخوانی اپن فوم کافی است تا یک بار ویرایش زیر  صورت بگیرد
به فایل .bashrc از پوشه ی home مراجعه کنید
gedit    ~/.bashrc
سپس عبارت زیر را به این فایل اضافه کرده و ذخیره کنید.
source  /opt/openfoam30/etc/bashrc


در صورت خرابی لینک ها در بخش نظرات اعلام کنید.