مدلسازی چیست؟

یک سیستم ساده را در نظر بگیرید. مثلاً یک لوله، یک مقاومت الکتریکی یا انتقال حرارت در یک قطعه یا هر سیستم دیگری که مد نظر شماست. در همه انواع این سیستمها چیزی که باعث ایجاد جریان می شود پتانسیل بین دو نقطه است. در یک لوله جریان سیال به وجود می آید چون اختلاف فشاری دو سر لوله وجود دارد. در یک مقاومت وجود اختلاف پتانسیل الکتریکی (ولتاژ) باعث جریان الکتریکی میگردد. به همین ترتیب برای همه سیستمهای دنیای واقعی همیشه انگیزه ای برای ایجاد جریان وجود دارد. معادله بین متغیر پتانسیل و جریان در همه سیستمها از جنس معادلات جبری-دیفرانسیلی است. پس اگر محیطی داشته باشیم که بتواند معادلات جبری-دیفرانسیلی را حل کند عملاً با آن می توان همه سیستمهای دنیای واقعی را مدلسازی نمود. مودلیکا دقیقاً چنین حل کننده ای است که با ساختار شیء گرا در مدلسازی هر سیستمی را می تواند مدلسازی نماید. ایجاد ساختاری نرم افزاری که بتواند رفتاری مشابه سیستم واقعی داشته باشد را به عنوان مدلسازی تعریف می کنیم.

ادامه خواندن “مدلسازی چیست؟”

مودلیکا چیست؟

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

مودلیکا یک زبان مدلسازی است!

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

این زبان برای حل معادلات جبری دیفرانسیلی (DAE) خلق شده است. با توجه به این که برای مدلسازی دینامیک هر سیستمی لازم است معادلات جبری دیفرانسیل حاکم بر آن سیستم حل شود پس می توان گفت که این زبان میتواند هر سیستمی را مدلسازی نماید.

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

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

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

 

با مودلیکا چه چیزهایی را می توان مدلسازی نمود؟

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

sw-blog-image2قطعات آماده عبارتند از: قطعات مکانیکی خظی و دورانی، الکتریکی، مغناطیسی، انتقال حرارتی، سیالاتی، ریاضی، کنترلی، بیوشیمیایی و … لیست کامل کتابخانه‌های قطعاتی که تا کنون برای این زبان را می توانید در آدرس https://modelica.org/libraries بیابید. با توجه به این لیست مشاهده می‌کنید که انتخابهای زیادی دارید. این لیست در حال گسترش است و گاهی می‌توانید قطعاتی را با جستجو در اینترنت بیابید که در این لیست موجود نیست!

اگر معادلات حاکم بر سیستم را می‌شناسید و مشکلی با وارد کردن معادلات ندارید، تقریباً هر سیستم دینامیک دنیای واقعی را می‌توانید با این زبان مدلسازی نمایید.

ModelicaExamples

ارتباط مودلیکا با دنیای بیرون به صورت زمان واقعی

بردهای اردوینو بسیار مشهور هستند. این بردها با قیمتهای معقولی در بازار ایران نیز در دسترس هستند. نرم افزار SystemModeler یک کتابخانه به نرم افزار خود اضافه نموده است تا بتواند از این بردها به عنوان کارتهای ورودی و خروجی کامپیوتر استفاده نماید و از محیط مدلسازی به صورت زمان واقعی (RealTime ) از آنها برای کنترل تجهیزات مختلف استفاده نماید. این کتابخانه را می توانید در دی وی دی همراه کتاب بیابید یا آن را از آدرس زیر دریافت نمایید:

http://www.wolfram.com/system-modeler/libraries/model-plug/

ارتباط آردوینو و مودلیکا

کتابخانه رایگان دیگری نیز برای ارتباط با سایر تجهیزات ورودی و خروجی برای مودلیکا ارائه شده است که می توانید آن را در آدرسhttps://github.com/modelica/Modelica_DeviceDrivers بیابید.

مدلسازی سیستم‌های ارتعاشاتی با Modelica

مدلسازی سیستم‌های ارتعاشی با وجود کتابخانه گسترده قطعات آماده زبان مودلیکا کار بسیار ساده است. با وجود ابزار قدرتمندی مانند مودلیکا این مدلسازی تبدیل به انتخاب قطعات از کتابخانه، وصل آنها به یکدیگر و تنظیم پارامترها خواهد. در این نوشته روش مدلسازی یک سیستم ارتعاشاتی شامل دو جرم، دو فنر و دو دمپر (میرانه!) به کمک محیط مدلسازی SystemModeler را توضیح خواهم داد. با اندک تغییری می‌توانید سایر سیستم‌های ارتعاشی را نیز مدلسازی و بررسی نمایید.

کتابخانه اجزاء مکانیکی زبان Modelica شامل اجزاء لازم برای مدلسازی سیستم‌های ارتعاشی است. این کتابخانه را از آدرس زیر باز کنید، اجزا موجود در این کتابخانه را در شکل زیر مشاهده می‌نمایید:

Modelica >> Mechanics >> Translational >> Components

Translational ادامه خواندن “مدلسازی سیستم‌های ارتعاشاتی با Modelica”

نرم‌افزار Cycle Tempo

cycle-tempoاین نرمافزار برای مدلسازی حالت پایدار (Steady state) سیستمهای ترمودینامیکی خلق شده است. ویرایش آزمایشی آن (demo version) را میتوانید از آدرس سایت دانلود نمایید، این ویرایش با دریافت لایسنس به مدت 30 روز به صورت حرفهای در اختیار شما قرار میگیرد. نسخه دانش آموزی این نرمافزار نیز در آدرس بیان شده موجود است که نیاز به تأیید دانشجو بودن از سایت دارد.

یادگیری EES

mastering-ees-cover1برای یادگیری کار با نرم‌افزار ساده و در عین حال قدرتمند ایز می‌توانید از ارائههای زبان اصلی موجود در سایت اصلی این نرم افزار در آدرس زیر استفاده نمایید. این آموزش شامل 6 ارائه پاورپوینت به همراه فایلهای مورد نیاز است (به زبان اصلی)

درسهای آموزش ایز (6درس به همراه فایلهای استفاده شده)

در ضمن فصل اول کتاب Mastering EES که به صورت رایگان در سایت نرمافزار EES قرار گرفته است امکانات و توانایی ایز را به خوبی بررسی نموده و آموزش داده است (به زبان اصلی).

فصل اول کتاب Mastering EES

آموزش مختصر ایز به زبان فارسی نیز در همین سایت در دسترس است.

آموزش خلاصه ایز

معرفی نرم‌افزار ایز (EES)

نرم افزار EES چیست و چرا بایستی آن را آموخت؟

EES_MainPage_Sنام EES که ایز تلفظ می­گردد، مخفف Engineering Equations Solver است. ساده­ترین قابلیت EES حل دستگاه معادلات جبری (شامل معادلات غیر خطی) است. یعنی کافی است شما معادلات و داده­های لازم برای حل یک مسئله را وارد نمایید و این نرم افزار پاسخ محاسبات را به شما خواهد داد. با پردازنده متنی موجود در EES می­توانید معادلات را همانگونه که آنها را می بینید بدون توجه به جایگاه متغیرها در برنامه وارد نمایید. همچنین EES می­تواند معادلات دیفرانسیل و معادلات مختلط را حل کند، محاسبات بهینه­سازی، رگرسیون خطی و غیر­خطی، رسم نمودار با دقت بالا و تحلیل عدم اطمینان را انجام دهد و حتی انیمیشن­های مهندسی بر پایه محاسبات بسازد. این نرم افزار واحدهای مختلف فیزیکی را می­شناسد و کنترل می­کند.

ادامه خواندن “معرفی نرم‌افزار ایز (EES)”