Dana Laboratory: An Interview 1
معرفی پروژه آزمایشگاه دانا برای توسعه نرم افزار شبیه ساز فرآیند
متولد • هستم، افضالن 1356رضاچمران • دانشگاه از مکانیک ارشد کارشناساصفهان • صنعتی دانشگاه از کارشناساز • آموزش بخش در پتروشیمی کارمند
1383مدرک • (LPIدارای لینوکس ) ای حرفهآوران • ره مرکز و دانشگاه در تدریس سابقهمکانیک • دپارتمان مسئولگروه • ITعضو
رزومه خالصه
به نام خداعرض سالم و تشکر از حضور دانشجویان
و اساتید محترم
.i سازی برنامه در متفاوت روش یک.ii چیست؟ آموزشی سیموالتور
.iii کد کنترل ابزار با آشنایی
.iv مناسب مدلسازی روش انتخاب.v مناسب نویسی برنامه زبان انتخاب
.vi کاریم؟ از ای مرحله چه در
فهرست
Dana Laboratory: An Interview 2
I love programmingMECHANICAL ENG. DEP.
به مندان عالقه از گروهی مهندسی مختلف های رشته دانشجویان بین در همیشه. میباشند نویسی برنامه در مفیدی تجربیات دارای غالبا که دارند وجود افزار نرم
Dana Laboratory: An Interview 3
در متنوعی عناوین است مند عالقه افزاری نرم کار به که کسی برای خوشبختانهمکانیک . دانشکده سختی به بلکه دارد وجود دانشجویی های پروژه انجام جهت
! باشد ممکن کامپیوتر به تسلط بدون آن انجام که یافت عنوانی میتوان
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….
Dana Laboratory: An Interview 4
1-I feel free2-I choose my tools3-I choose how to program4-No comments5-No documentations6-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 5
Your solution is right,And you get 20 points
more for your great achievements.
... میگیرد هم خوبی نمره البته .و
Dana Laboratory: An Interview 6
What can I do with those non-maintainable
codes?
Too many other solutionsAn other solution
+
است؟ افزار نرم انتظار در ای آینده چه اما
Dana Laboratory: An Interview 7
1-Nothing to be proud of.2-Nothing to write on resume.3-No new job opportunities.4-No valuable coding experience.
الذکر... فوق افزار نرم طراح البته وتوجهی قابل عایدی خود تالش از هم،
: داشت نخواهد
توزیع رایگان افزارها نرم دانشگاه در. ندارد کمبود احساس کسی و میشود
Ansys, Matlab, Aspen, Mathematica, Acad, Fire, NISA, Cosmos, Ceasar II,Mechnical Desktop, Nastran,
Dytran, ………
0$
0$0$
Dana Laboratory: An Interview 8
We need softwares for design, control,
monitoring, simulation, optimization and troubleshooting
نرم تکثیر با نمیتوان صنعت بخش در اماکرد غلبه کمبود احساس بر !افزار
I am a computer geek, and I want to be a
professional developer.
ایده و ها روش بعضی باشد بهتر شایدکرد اصالح را .ها
9
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
Dana Laboratory: An Interview 10
: دارم " اعتقاد فرآیند " ساز شبیه کلی عنوان با افزاری نرم توسعهپاالیشگاهها ) مانند فرآیندی بخشهای نفت صنعت برای مشترکی منافع
. ) دارد دانشگاه و پتروشیمی های مجتمع وپروژه امیدوارم: تعریف به منجر بتواند مشترک منافع این بررسی
جهت بتوانیم و گردد افزاری نرم چنین توسعه جهت مشترک ای. دهیم اختصاص مشخص نام و آدرس پروژه مدیریت
: میکنم عالقه تالش حضوری با جلساتی پروژه پیشرفت با متناسبمحدود تنها ها فعالیت تا شود داده ترتیب کنندگان مشارکت و مندان . حمایت جلب و پروژه معرفی جهت بعالوه نگردد اینترنت محیط بهنفت صنعت و دانشگاه سطح در ها همایش و سمینارها در حضور
. باشد می الزامی
Dana Laboratory: An Interview 11
جایگاه افزار نرم
مدلساز در فرآیندمجموعه
نرم افزارهای
CAPE
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 16
GitHub چیست؟
1. میباشد- کد گذاری اشتراک به سایت بزرگتریندستور- 2 اساس بر سایت میباشد، Gitاین لینوکس عامل سیستم کدهای کنترل جهت باز متن برنامه یک که
. دارد را افزار نرم این های ویژگی کلیه لذا است شده بنابر- 3 مبتنی خدمات ارائه بر عالوه سایت پروژه، Gitاین مدیریت جهت نویسان برنامه اختیار در متنوعی امکانات ،
. میدهد پروژه معرفی جهت اینترنتی صفحات تولید و برخط ویرایش عیوب، گزارش
از استفاده GitHubنحوهکاربری- 1 حساب یک ایجادکد- )2 بانک کاربری( Repositoryافزودن حساب بهکنندگان- )3 مشارکت (Collaboratorsتعریف است ( ) آزاد همه برای خواندن نوشتن مجوز صدور جهت پروژه درکد- 4 بانک عنوان GitHubتعریف ابزار Remoteبه محلی Gitدرازابزار- 5 بانک Gitاستفاده از کد بانک رسانی روز به localجهت
Dana Laboratory: An Interview 17
Git : کل از نسخه یک گام هر در نگاه یک در...) تغییرات ) فقط نه میشود برداشته پروژه
Dana Laboratory: An Interview 18
Git ... : برای متفاوت وضعیت سه نگاه یک درمیشود تعریف اطالعات
Dana Laboratory: An Interview 19
در پروژه 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 20
در متداول فعالیت ... Gitچند• git clone https://github.com/CyndiRader/JavaDemos.git • Create your local repo
– git init– git commit –m “Initial commit”
• Add a “shortname” for your github repository– 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]. – Ex: git push –u origin master
یک از برداری نسخهمیزبانی به کد بانک
GitHub کد بانک یک ایجاد.(Local rep )محلیبا محلی بانک ارتباطمیزبانی به بانک یک
GitHub (Remote rep.)
بانک رسانی روز بهRemote
Dana Laboratory: An Interview 21
در... متداول فعالیت Gitچند) ادامه)
• To fetch any new files that have been updated since you cloned:– git fetch [remote-name]– git fetch origin
• If you have a “tracked” remote branch, you can get the files and merge in one step:– git pull
• Forking – 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.
آخرین دریافتاز Remoteتغییرات
بانک رسانی روز بهLocal
در برداری نسخهGitHub
Dana Laboratory: An Interview 22
زبان به فرآیند یک یا تجهیز یک عملکرد شرح مدلسازی از منظور چیست؟ مدلسازی. است ریاضی
پیوسته ) یا ای مرحله روشهای شامل فرآیند مدلسازی در اصلی روش و( Sequentialدو. میباشند معادالت اساس بر مدلسازی روش
Dana Laboratory: An Interview 23
زبان به فرآیند یک یا تجهیز یک عملکرد شرح مدلسازی از منظور چیست؟ مدلسازی. است ریاضی
پیوسته ) یا ای مرحله روشهای شامل فرآیند مدلسازی در اصلی روش و( Sequentialدو. میباشند معادالت اساس بر مدلسازی روش
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 30
کاریم؟ از ای مرحله چه در.1. است شده انتخاب افزار نرم توسعه جهت باز متن روش.GitHubسایت 2. است شده گرفته نظر در ها کد گذاری اشتراک به جهتنام 3. به .dana-laboratoryپروژه است شده نامگذاریپروژه 4. .سایت - . .www dana laboratory github io. میباشد
به 5. نزدیک مدلسازی مدلها EMSO Modeling Languageزبان بانک و شده انتخابزبان به مترجم برنامه یک .Juliaتوسط است شده برگردانده
مدل 6. مواد ترمودینامیک مدلسازی و IdealGasو Peng-Robinsonجهت تکمیل حال در. میباشد تست
مدل 7. در ها مخلوط خواص .PRمحاسبات میباشد تست حال در و شده انجام
هندبوک 8. در مندرج اطالعات آخرین از مواد خواص پایه استخراج Perryاطالعات. است شده
افزار 9. نرم از مختلف مدلهای در محاسبات جهت الزم های ثابت DWSIMبعضی. است شده گنجانده افزار نرم در و شده استخراج
طراحی 10. اطالعات انتقال و سرور به اتصال نحوه تست جهت کاربری واسط یک. است شده
معادالت Solverبخش 11. سازی ساده و خطی جبری روابط از ای مجموعه تحلیل برای. است شده تست