به انم خدا عرض سالم و تشکر از حضور دانشجواین و اساتید حمرتم معریف پروژه آزمایشگاه داان برای توسعه نرم افزار شبیه ساز فرآیند خالصه رزومه • • • • • • • • 1 فهرست رضا افضالن هستم ،متولد 1356 کارشناس ارشد مکانیک از دانشگاه چمران کارشناس از دانشگاه صنعتی اصفهان کارمند پتروشیمی در بخش آموزش از 1383 دارای مدرک ( LPIحرفه ای لینوکس) سابقه تدریس در دانشگاه و مرکز ره آوران مسئول دپارتمان مکانیک عضو گروه IT یک روش متفاوت در برنامه سازی .i .iiسیموالتور آموزشی چیست؟ .iiiآشنایی با ابزار کنترل کد .ivانتخاب روش مدلسازی مناسب .vانتخاب زبان برنامه نویسی مناسب .viدر چه مرحله ای از کاریم؟ Dana Laboratory: An Interview I love programming همیشه در بین دانشجویان رشته های مختلف مهندسی گروهی از عالقه مندان به نرم افزار وجود دارند که غالبا دارای تجربیات مفیدی در برنامه نویسی میباشند. 2 Dana Laboratory: An Interview خوشبختانه برای کسی که به کار نرم افزاری عالقه مند است عناوین متنووعی در دانشوکده مکانیوک جهت انجام پروژه های دانشجویی وجود دارد .بلکه به سختی میتوان عنوانی یافت که انجام آن بدون تسلط به کامپیوتر ممکن باشد! 1-Please design a heat exchanger that …. 2-Optimize a compressor design so it …. 3-Do computer modeling of … a turbine with N-AND SO ON…. !Hi !Dear Mr. professor I want a project to work on…. 3 Dana Laboratory: An Interview .دانشجوی عالقه مند به برنامه نویسی میتواند هر طور بخواهد کارش را انجام دهد 1-I feel free 2-I choose my tools 3-I choose how to program 4-No comments 5-No documentations 6-No matter what will happens to my codes I am a computer geek, so I can simply write a program that solve that damn things. Dana Laboratory: An Interview 4 .و البته نمره خوبی هم میگیرد... Your solution is right, And you get 20 points more for your great achievements. Dana Laboratory: An Interview 5 اما چه آینده ای در انتظار نرم افزار است؟ Too many other solutions An other solution + What can I do with those non-maintainable codes? Dana Laboratory: An Interview 6 در دانشگاه نرم افزارها رایگان توزیع میشود و .کسی احساس کمبود ندارد $0 از،و البته طراح نرم افزار فوق الذکر هم... :تالش خود عایدی قابل توجهی نخواهد داشت $0 $0 Ansys, Matlab, Aspen, Mathematica, Acad, Fire, NISA, Cosmos, Ceasar II,Mechnical Desktop, Nastran, Dytran, ……… 1-Nothing to be proud of. 2-Nothing to write on resume. 3-No new job opportunities. 4-No valuable coding experience. Dana Laboratory: An Interview 7 شاید بهتر باشد بعضی روش ها و ایده ها را .اصالح کرد I am a computer geek, and I want to be a professional developer. اما در بخش صنعت نمیتوان با تکثیر نرم افزار !بر احساس کمبود غلبه کرد We need softwares for design, control, monitoring, simulation, optimization and troubleshooting Dana Laboratory: An Interview 8 بهره بیشتری از،دانشجوی عالقمند میتواند .تالشهای خود ببرد 1-Achieve valuable experience for being a part of a big community. 2-Learning new and useful tools, languages and standards. 3-Good resume as a contributor in a live software. 4-Learn how to write maintainable codes. اساتید میتوانند فعالیت های علمی و پژوهشی گسترده تری داشته باشند و صنعت نیز از حاصل .تالشها بهره برد If we work together, with a clear strategy, we can develop useful engineering softwares. Dana Laboratory: An Interview 9 اعتقاد دارم :توسعه نرم افزاری با عنوان کلی "شبیه ساز فرآیند" منافع مشوترکی بورای صنعت نفت (بخشهای فرآیندی مانند پاالیشگاهها و مجتموع هوای پتروشویمی) و دانشوگاه دارد. امیدوارم :بررسی این منافع مشترک بتواند منجر به تعریوف پوروژه ای مشوترک جهوت توسعه چنوین نورم افوزاری گوردد و بتووانیم جهوت مودیریت پوروژه آدرس و نوام مشوخص اختصاص دهیم. تالش میکنم :متناسب با پیشرفت پروژه جلساتی با حضووری عالقوه منودان و مشوارکت کننوودگان ترتیووب داده شووود تووا فعالیووت هووا تنهووا محوودود بووه محوویط اینترنووت نگووردد .بعووالوه جهووت معرفووی پووروژه و جلووب حمایووت حضووور در سوومینارها و همووایش هووا در سووط دانشگاه و صنعت نفت الزامی می باشد. 10 Dana Laboratory: An Interview جایگاااارم ااا افاااااااااااااااااا ا مدلسااااااااااااااا ف آینااااااااادم مجموعاااااااااا ااااااااااااااااااااااا اف ا هااااااااا CAPE 11 م م م م م م م Dana Laboratory: An Interview منظو ما مسیموالتو مآمو شیمچیست؟ • • • 12 ایوون نوورم افزارهووا عووالوه بوور توانووایی شووبیه سووازی فرآینوود، امکانات ویژه ای جهت کمک بووووه مربووووی و دانشووووجو طووووی کالس فرآهم می آورند. موودلهای آموزشووی ویووژه جهووت آموزشی بعضی مفاهیم خاص از قبوول در ایوون نوورم افزارهووا تعریف شده است. این نورم افزارهوا ممکون اسوت بووا اسووتفاده از واسووط کوواربری بووا نمادهووای مشووابه یووک نوورم افووزار DCSخوواص ،محیطووی مشابه نرم افزار مونیتورینگ و کنتوورل فرآینوود یووک شوورکت شووووورکت خووووواص را نموووووایش دهند. Dana Laboratory: An Interview کا ک مها مشبی مسا م مکمکمب مآمو شها مپای م م م اک مآمو شیموم ا شگاهها • مراکز آموزشی میتوانند از شوووبیه سوووازی یوووک تجهیوووز فرآینووووووودی ماننووووووود مبووووووودل حرارتوووی ،کمپرسوووور و ... جهوووووووت آمووووووووزش نحووووووووه عملکوورد ،معووادالت حوواکم، روش مدلسوووازی یوووا ارائوووه مثوووووال عوووووددی در کوووووالس استفاده نمایند. • مراکز آموزشی میتوانند از یک محیط شبیه سازی شده جهووت ارائووه آموزشووهای از راه دور یووووووا تهیووووووه خووووووود آموزها بهره برند. 13 Dana Laboratory: An Interview کا ک مها مشبی مسا م مکمکمب مآمو شها م اختصاصی • • • 14 شوووورکت هووووا میتواننوووود جهووووت آشنایی پرسونل خوود بوا فرآینود واحد ،از شبیه سوازی فرآینود، مطابق با فرآیند خاص مجتمع خود استفاده نمایند. میتوان اثر تغییر یک پارامتر را بر عملکرد یوک تجهیوز یوا فرآیند را در یک محویط شوبیه سازی شده بررسی کرد. میتووووان اثووور یوووک عیوووب یوووک تجهیووز بوور عملکوورد فرآینود را در محووویط شوووبیه سوووازی شوووده بررسوووووی نموووووود و از نتوووووای حاصوول جهووت آموووزش نحوووه عیووب یووابی تجهیووزات اسووتفاده کرد. Dana Laboratory: An Interview حورمعملک موماج اءم ماف ا مشبی مسا • نووورم افوووزار جهوووت کموووک بوووه اسوووتاد در کنتورل فرآینوود آموووزش دارای یووک واسوط کاربری ویژه جهت وی میباشد. • اسووووتاد میتوانوووود از طریووووق ایوووون واسووووط کاربری اختصاصوی یوک مودل خواص را انتخاب نمایود و شورایط حواکم بور مودل را تعریف کند. • بعالوه شرکت کنندگان در دوره نیز با توجه بوه تخصوص خوود و وظیفوه ای کوووه در شووورکت برعهوووده دارنووود طوووی فرآینووود آمووووزش و در کوووالس میتوانند به واسوط کواربری ویوژه ای دسترسی داشته باشند. 15 Dana Laboratory: An Interview GitHubچیست؟ -1بزرگترین سایت به اشتراک گذاری کد میباشد. -2این سایت بر اساس دستور Gitکه یک برنامه متن باز جهت کنترل کدهای سیستم عامل لینوکس میباشد، بنا شده است لذا کلیه ویژگی های این نرم افزار را دارد. -3این سایت عالوه بر ارائه خدمات مبتنی بر ،Gitامکانات متنوعی در اختیار برنامه نویسان جهت مدیریت پروژه، گزارش عیوب ،ویرایش برخط و تولید صفحات اینترنتی جهت معرفی پروژه میدهد. حورماستفا رما مGitHub - 1ایجاد یک حساب کاربری -2افزودن بانک کد ( )Repositoryبه حساب کاربری -3تعریف مشارکت کنندگان ( )Collaboratorsدر پروژه جهت صدور مجوز نوشتن (خواندن برای همه آزاد است) -4تعریف بانک کد GitHubبه عنوان Remoteدر ابزار Gitمحلی -5استفاده ازابزار Gitجهت به روز رسانی بانک کد از بانک local 16 Dana Laboratory: An Interview Gitمیکم گار :مه مگا میکم سخ ما مکلم پ وژرمب اشت ممیشو م( مفقطمتغیی ات)... 17 Dana Laboratory: An Interview Git 18 میکم گار... :س موضعیتممتفاوتمب ا اطالعاتمتع یفممیشو Dana Laboratory: An Interview GitHubپیش فتمپ وژرم م Person A • Setup project & repo • push code onto github • edit/commit • edit/commit • pull/push PersonB • clone code from github • edit/commit/push • edit… • edit… commit • pull/push Dana Laboratory: An Interview 19 ... Gitچندمفعالیتممتداولم م • • • • نسخه برداری از یک بانک GitHub کد به میزبانی git clone https://github.com/CyndiRader/JavaDemos.git Create your local repo ایجاد یک بانک کد محلی – git init (Local rep.) – git commit –m “Initial commit” ارتباط بانک محلی با یک GitHub بانک به میزبانی Add a “shortname” for your github repository )Remote rep.( – git remote add [shortname] [url] – git remote add origin https://github.com:[user name]/[repository name].git – Ex: git remote add origin https://github.com:CyndiRader/JavaDemos.git – Hint: You can copy/paste the repo url from github Push your code onto github به روز رسانی بانک – git push –u [remote-name] [branch-name]. Remote – Ex: git push –u origin master Dana Laboratory: An Interview 20 ) (ا امGit چندمفعالیتممتداولم م... • • • To fetch any new files that have been updated since you cloned: – git fetch [remote-name] دریافت آخرین تغییرات از Remote – git fetch origin If you have a “tracked” remote branch, you can get the files and merge in one step: – git pull به روز رسانی بانک Forking Local – If you want to contribute to a project but don’t have push access, you can do a fork… create your own copy. – Main project can pull in those changes later by adding them as remotes and merging in the code from the fork. GitHub نسخه برداری در Dana Laboratory: An Interview 21 مدلسااا مچیساات؟ممنظااو ما ممدلسااا مشاا کمعملکاا میااکمتجهیاا میااامیااکمف آیناادمباا م بااا م یاضاایماساات. وم وشماصلیم ممدلسا مف آیندمشاملم وشاها مم للا ما میاامپیوسات م( )Sequentialوم وشممدلساا مبا م اسااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا ممعااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا التممیباشااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااند. 22 Dana Laboratory: An Interview مدلسااا مچیساات؟ممنظااو ما ممدلسااا مشاا کمعملکاا میااکمتجهیاا میااامیااکمف آیناادمباا م بااا م یاضاایماساات. وم وشماصلیم ممدلسا مف آیندمشاملم وشاها مم للا ما میاامپیوسات م( )Sequentialوم وشممدلساا مبا م اسااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا ممعااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا التممیباشااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااند. 23 Dana Laboratory: An Interview مدلسا • • • 24 یووووووک موووووودل از مجموعووووووه ای از پارامترهوووا ،متغییرهوووا و معوووادالت تشکیل شده است. پارامترها ،ویژگی های ثابت یوک تجهیز یا فرآیند را تعریف میکنند. یعنی با تغییر مقدار یک پوارامتر، ماهیووووت موووودل تغییوووور میکنوووود ،بووووه عنوان مثال تعداد لولوه هوا و ابعواد مبووووووودل از پارامترهوووووووای مبووووووودل محسووووب میگردنووود و نوووو سووویال جزء پارامترهای فرآیند میباشد. متغییر ها ویژگی های کاری مودل را بیان میکنند و میتواننود در یوک مووودل دینوووامیکی بوووا زموووان تغییووور نمایند ،مانند زاویه دریچه یا دمای سیال مب اسا ممعا الت... Modeling in EMSO Dana Laboratory: An Interview ...مدلسا • • 25 مب اسا ممعا الت... معادالت ریاضی مدل ارتبواط بوین پارامترهووا و متغییرهووا را تعری وف میکنند. میتوان بین اشویا روابوط مختلفوی پیوودا نمووود کووه امکووان تعریووف ای ون روابط در مدلسازی باعو تسوهیل در تعریوووف میگوووردد .بوووه عنووووان مثوووال یوووک انوووواعی از پمووو هوووا وجووود دارد کووه همووه ویژگووی هووای مشووووترکی دارنوووود (رابطووووه پوووودر و فرزندی) یا یک پکی از مبودلهای سری (رابطه استفاده) Dana Laboratory: An Interview ...مدلسا • • 26 مب اسا ممعا الت معادالت ریاضی مدل ثابوت نمیباشند بلکه امکان دارد با تغییر بعضی پارامترها یک معادلووووه جووووایگزین معادلووووه دیگر گردد .به عنوان مثوال معوووووادالت مقووووودار ضوووووریب اصتکاک در جریوان آرام و مغشوش متفاوت است. زبان مدلسازی بایود توانوایی تعریووووف انوووووا متغییرهووووا، پارامترهوا (دمووا ،فشووار ،فلووو و )...بوووا آحووواد مناسوووب را داشته باشد. Dana Laboratory: An Interview پسما مب سیماجمالیم وشها ممختلفممدلسا ممیتوا مچندم ویژگیممهممب ا میکم با ممطلوبممدلسا م امب شم . • به یک زبان تعریفی جهت شرح مدل نیاز است. • این زبان باید داری ویژگوی هوای شویء گورا در تعریف ارتباط بین مدلهای مختلف. • باید تا حد امکان ساده و نزدیک به زبان انسوان باشود ،بوه طووری کوه خواننوده بوا حوداقل آمووزش بتوانود مدل را تحلیل نماید و بدون تسولط بوه هور زبوان برناموه نویسوی توانوایی تغییور و اصوالح مودل را داشوته باشد. دارای دستورات شرطی جهت انتخاب معادالت مناسب در شرایط مختلف. 27 Dana Laboratory: An Interview • ویژگیمها ممثبتمیکم با مب ام م ویسیمجهتمتحلیلممدلم ها،ما جا ممحاسباتمال مومتو یعم تایجم و مشبک • • • • • • • • • • 28 سرعت باال ،توانایی پردازش موازی توانمند در تعریف توابع دارای توانایی سط باال در محاسبات عددی دارای توانایی سط باال در تحلیل روابط ریاضی دارای توانایی سط باال در کار با رشته ها تنو در ساختارهای داده ،بردارها و ماتریسها دارای توانوووووووووووووووووایی بووووووووووووووووواال در تولیووووووووووووووووود کووووووووووووووووود ( )MetaProgrammingو تحلیل های سیمبولیک سووادگی ،جووذابیت و نوووآوری جهووت ترغیووب دانشووجویان و پژوهشگران به استفاده متن باز بون توانایی تولید اطالعات بر شبکه Dana Laboratory: An Interview ویژگیمها م با ممناسبمجهتمط الیمواسطم کا ب • • • • • • 29 توانمندی های گرافیکی متنو قابلیوووت هوووای مناسوووب در کوووار بووور شوووبکه و سیستم عامل های متفاوت منابع اطالعاتی در دسترس دارای مجوزهای الزم جهت استفاده متن باز کتابخانه ها و ابزارهای متنو ترسیمی Dana Laboratory: An Interview مچ مم لل ما ما مکا یم؟ .1روش متن باز جهت توسعه نرم افزار انتخاب شده است. .2سایت GitHubجهت به اشتراک گذاری کد ها در نظر گرفته شده است. .3پروژه به نام dana-laboratoryنامگذاری شده است. .4سایت پروژه www.dana-laboratory.github.ioمیباشد. .5زبووان مدلسووازی نزدیووک بووه EMSO Modeling Languageانتخوواب شووده و بانووک موودلها توسووط یووک برنامه مترجم به زبان Juliaبرگردانده شده است. .6جهوووت مدلسوووازی ترمودینامیوووک موووواد مووودل Peng-Robinsonو IdealGasدر حوووال تکمیووول و تسوووت میباشد. .7محاسبات خواص مخلوط ها در مدل PRانجام شده و در حال تست میباشد. .8اطالعات پایه خواص مواد از آخرین اطالعات مندرج در هندبوک Perryاستخراج شده است. .9بعضی ثابت های الزم جهت محاسوبات در مودلهای مختلوف از نورم افوزار DWSIMاسوتخراج شوده و در نرم افزار گنجانده شده است. .10یک واسط کاربری جهت تست نحوه اتصال به سرور و انتقال اطالعات طراحی شده است. .11بخش Solverبرای تحلیل مجموعه ای از روابط جبری خطی و ساده سازی معادالت تست شده است. 30 Dana Laboratory: An Interview