کتاب «آموزش مقدماتی مدلسازی سیستم‌های مهندسی با استفاده از زبان Modelica»



با سلام

در این نوشته قصد دارم کتاب «آموزش مقدماتی مدلسازی سیستم‌های مهندسی با استفاده از زبان Modelica» را به شما معرفی نمایم. امیدوارم این کتاب برایتان مفید باشد. پیشگفتار و مقدمه و فهرست این کتاب برای آشنایی بیشتر علاقه‌مندان به پیوست ارسال شده است.

اجازه دهید در ابتدا سه واژه را تعریف نمایم:
سیستم هدف مورد مطالعه شماست و می‌تواند ترمودینامیکی، شیمیایی، بیوشیمیایی، حرارتی، سیالاتی، کنترلی، الکتریکی، مکانیکی، بیولوژیکی، ریاضی، مالی یا هر سیستم دیگر باشد. حتی می‌تواند ترکیبی از سیستم‌های دیگر باشد.
مدلسازی ایجاد یک برنامه کامپیوتری است که رفتاری مشابه سیستم واقعی داشته باشد.
زبان Modelica زبانی است که برای مدلسازی سیستم‌ها خلق شده است.

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

همه سیستم‌های دینامیک دنیای واقعی را می‌توان با معادلات جبری-دیفرانسیلی (DEA) مدلسازی نمود. سیستم‌های دنیای واقعی از ترکیب سیستم‌های مختلف در کنار یکدیگر تشکیل شده‌اند و واردکردن و حل کردن، نگهداری و توسعه دستگاه معادلات جبری-دیفرانسیلی دینامیک حاکم بر این سیستم‌های بدون داشتن یک ابزار مناسب بسیار پیچیده است.

زبان مودلیکا امکانات بسیار قدرتمندی برای مدلسازی، نگهداری و توسعه آسان سیستم‌های دینامیک ارائه نموده است. وجود حل‌کننده‌های قدرتمندی برای معادلات جبری دیفرانسیلی متغیر با زمان و تحلیلگرهای سمبولیک موتور اصلی زبان مودلیکا است.

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

کتاب «آموزش مقدماتی مدلسازی سیستم‌های مهندسی به زبان Modelica» که توسط انتشارات دانشگاه هرمزگان به چاپ رسیده است شما را با مقدمات مدلسازی با این زبان آشنا خواهد نمود.
بخش اول این کتاب به آموزش استفاده از محیط مدلسازی SystemModeler اختصاص داده شده است که با داشتن رابط گرافیکی مناسب برای شروع آموزش مدلسازی بسیار مناسب است.
بخش دوم کتاب به آموزش محیط باز OpenModeModelica_BOOK_Prefacelica اختصاص داده شده است که با توجه به SourceOpen بودن آن برای ارائه مقالات معتبر بسیار مناسب است.
بخش سوم به دستور زبان Modelica اختصاص داده شده است.
در لوح فشرده همراه این کتاب نیز نرم‌افزارهای موردنیاز و مجموعه‌ای از فایل‌های آموزشی مولتی‌مدیا به زبان‌اصلی ارائه گردیده است.

شما با داشتن این زبان، یک آزمایشگاه مجازی در کامپیوتر خود دارید.

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

تهران – خیابان انقلاب – روبروی درب اصلی دانشگاه تهران – مجتمع تجاری اداری فروزنده – طبقه همکف – فروشگاه دانشگاه هرمزگان
تلفن: 66907714 (021) – 66950553 (021)

هر گونه پیشنهاد و انتقادات خود را به ایمیل اینجانب ansari.nasab@gmail.com ارسال فرمایید.

دانلود پیشگفتار و مقدمه و فهرست

خبر جدید در مورد کاوشگر کنجکاوی

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

نمایی از دید دوربین عقب کاوشگر و رد چرخهای آن بر روی تپه شنی

پ.ن: تصویری جدید از تپه شنی که کاوشگر کنجکاوی از روی آن عبور کرد

برای دیدن تصویر در ابعاد بزرگ بر روی آن کلیک کنید

سنگی به شکل دونات ژله‌ای

اگه به طور ناگهانی سر و کله‌ی سنگی به شکل دونات ژله‌ای روی مریخ پیدا بشه چی؟ همین اتفاق درست جلوی ربات کاوشگر Opportunity  که در حال کاوش سیاره سرخ بود افتاده است. تصویر این سنگ توسط این کاوشگر-که به طور ناگهانی ظاهر شده – در حالی ثبت شده که دوازده روز مریخی پیش در عکس وجود نداشت. بر خلاف هیجان انگیز بودن این واقعه، توجیهی که برای این رخ داد می‌توان آورد-برای اهل تخیل-  نا اُمید کننده است،-این سنگ توسط یکی از تایرهای کاوشگر پرتاب شده است- با این وجود، طیف نوری متفاوت این سنگ که ناحیه داخلی قرمز رنگ را احاطه کرده جالب توجه است- اسم انتخاب شده برای این سنگ نیز به دلیل وجود  ناحیه قرمز رنگ داخلی «دونات ژله‌ای» است. تحلیل ترکیب این سنگ نشان داده است که مقدار منگنز موجود در این سنگ دو برابر سنگهایی است که تا به حال آزمایش شده است که هنوز توجیهی با توجه به دانسته های ما از جغرافیای مریخ برای آن پیدا نشده است. این روزها ده سال از شروع به کار کاوشگر مریخ میگذرد کاوشگری که ابتدا تصور می‌شود به علت شرایط جوی مریخ تنها بتواند سه ماه به ماموریت خود ادامه دهد.

منبع

آسیب دیدن چرخ کاوشگر کنجکاوی

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

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

تیم هدایت کننده بر این است که این ربات بزرگ را-در حد و اندازه یک ماشین SUV- به مسیر جایگزینی که از دره شنی عبور می‌کند هدایت کند تا به هدف اصلی خود KMS-9 برسد.

تصاویر دریافتی جدیدی که توسط کاوشگر که در 11 بهمن ماه- 31 ژانویه- گرفته شده است که پارگی عمیقی را به طول 5 تا 8 سانتی‌متر و عرض 3 سانتی متر نشان می‌دهد به طوری که به سمت داخل چرخ قسمت آسیب دیده خم شده است.

موزاییک عکس بالا که از دوربین هدایتی کاوشگر گرفته شده است، که در ورودی Dingo Gap گرفته شده، تپه شنی به ارتفاع 1 متر را نشان میدهد. تیم هدایت کننده به زودی تصمیم میگیرد که کاوشگر این مسیر هموار عبور کند یا نه.

موزاییک عکس بالا آسیب‌های وارده جدید-سوراخ‌ها و پارگی‌ها- به شش چرخ این کاوشگر برای رسیدن به Mount Sharp نشان می‌دهد

متاسفانه سطح صخره‌ای مریخ با این کاوشگر مهربان نبوده. روند پیشرفت خرابی این چرخ در شش ماه اخیر از وقتی که کاوشگر قدم به سطح سخت و صخره‌ای این قسمت از مریخ و طی مسافتی نزدیک به 4.89 کیلومتر ، بسیار تند بوده است.این ربات بسیار بزرگ در حال حاضر در لبه دشت شنی  که به Dingo GAP معروف است ایستاده در عکس زیر می‌تواند افزایش روند تخریب را با مقایسه این عکس که در روز 490 مریخی گرفته شده است با عکس روز  529 مشاهده کنید. ارتفاع این قسمت شنی که باید از آن عبور کند تقریبا 1 متر است و چالشی بزرگ برای تیم هدایت کننده برای عبور از آن در پیش روی آنهاست.

در این عکس آسیب‌های وارده شده به برخی از چرخ‌های کاوشگر مشهود است که در روز 490 مریخی گرفته شده است

در این عکس سطح ناهموار مریخ و آسیب وارد آمده بر چرخ کاوشگر به وضوح معلوم است

کمی برنامه نویسی

توی زبان فرترن وقتی دستور Print و یا Write رو استفاده می‌کنید به طور پیش فرض بعد از هر بار اجرای دستور به خط بعد می‌رود. خب گاهی وقت‌ها این قضیه به خصوص وقتی بخواهید اِلِمانهای را در یک خط چاپ کنید شما رو دچار مشکل میکنه.

 do i=1,m
 do j=1,n
 write (*,*) matrix(i,j)
 end do
 end do
 

برای مثال برای پروژه درس CFD لازم بود که نتیجه رو در یک خط چاپ کنم برای ورودی به برنامه TECPLOT . در حالت عادی همانطور که قبلا گفتم نمیشه با جستجویی که در دنیای بی در و پیکر اینترنت انجام دادم به این و این بلاگ برخوردم. در فرترن 90/95 با استفاده از control information میتوان کنترل دستور write رو به دست گرفت. بیایید قبلش شکل دستور write را بررسی کنیم: WRITE ([unit=] u, [control-information]) [iolist] زیاد وارد جرییات نمیشم توی مرجع زبان فرترن میتونید به طور کامل از نحوه کارکرد این دستور مطلع بشید. به طور پیش‌فرض در قسمت control information عبارت کنترلی "ADVANCE="yes است در صورتی که آن را به ADVANCE="no" تغییر بدهیم بعد از اینکه دستور نوشتن اجرا شد به خط بعد نمیرود.

 write(*,"(A)",advance="no") "One "
write(*,"(A)") "line."

روش دیگه استفاده از Implied Do Loop هست که یک مثالش رو در زیر میبینید:

program main

integer::t(5,5)
do i=1,5
do j=1,5
if(i==j) then
t(i,j)=1
else
t(i,j)=0
end if
end do
end do

do i=1,5
write(*,102) (t(i,j),j=1,5)
102 format(100i5.1)
end do
end
----------------------------
result:
1    0    0    0    0
0    1    0    0    0
0    0    1    0    0
0    0    0    1    0
0    0    0    0    1

Process returned 0 (0x0)   execution time : 0.022 s
Press any key to continue.

پی نوشت: برای اجرای دستورات فرترن من استفاده از Code::Blocks که یک IDE کد باز هست استفاده کنید(نسخه codeblocks-12.**mingw را دانلود کنید)

هایزنبرگ احتمالا اینجا خوابید

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

Murray Gell-Mann at the World Economic Forum Annual Meeting, 2012

Murray Gell-Mann

پی‌نوشت: این متن برگرفته شده از کتاب «هایزنبرگ احتمالا اینجا خوابید» است. با تشکر از دوست خوبم احسان بابت معرفی این کتاب بسیار زیبا

تصویر ستاره شناسی روز 13

برای دیدن عکس در ابعاد بزرگتر بر روی آن کلیک کنید

درون، بیرون و ماورای حلقه های سیاره زحل چه خبر است؟

اگر به تصویر بالا خوب و با دقت نگاه کنید، چهار قمر سیاره زحل را میتوانید در عکس پیدا کنید.اولین قمر در پس زمینه تصویر قرار دارد، تایتان بزرگترین قمر سیاره زحل و یکی از بزرگترین قمرهای منظومه شمسی است. قسمت تاریکی که در بالای این دنیای همیشه ابری قرار دارد North polar hood است. دومین قمری که به طور واضح در عکس مشخص است  و  در پیش زمینه عکس قرار دارد و روشنتر است دایون Dione  که پوشیده از دهانه های برخورد شهاب سنگها و صخره های یخی است. اگر نگاهتون رو از سمت چپ به سمت راست تصویر حرکت بدهید، تعدادی از حلقه های سیاره زحل را مشاهده میکنید. که حلقه A سیاره زحل شامل میشود که Encke Gap در آن قرار دارد.در سمت راست در بیرونی ترین قسمت حلقه ها، پاندورا قمری که تنها 80 کیلومتر قطر دارد را میبینید. قمر چهارم کجاست؟ اگر با دقت به قسمت Encke Gap نگاه کنید فضایی را مشاهده میکنید که قمر پن (Pan) در آنجا قرار دارد، اگرچه یکی از کوچکترین قمرهای زحل است که فقط 35 کیلومتر قطر دارد، با این حال این قمر  به اندازه کافی بزرگ هست که این قسمت را خالی از ذرات حلقه ها نگه دارد.