اجزای محدود شیء گرا و افزودن ویژگی های سفارشی در OpenSees

مجموعه ویدیویی اجزای محدود شیء گرا و افزودن ویژگی های سفارشی در OpenSees

مدرس: دکتر سید علیرضا جلالی (برای مشاهده سابقه مدرس کلیک کنید)
مدت زمان: 35 ساعت
اهداف: آشنایی خوب با زبان برنامه نویسی ++C، مرور روش اجزای محدود و فرایند برنامه نویسی آن به روش شیء گرا، آشنایی با متن نرم افزار OpenSees و اقدام به سفارشی سازی آن
سرفصلها:
1. مقدمه: فلسفه ایجاد OpenSees و ضرورت بهره گیری از روش های مدرن برنامه نویسی جهت گسترش نرم افزارهای تحلیل و طراحی سازه ای؛ مسیر و مراحل مورد استفاده در دوره.
2. مروری بر روش اجزای محدود در دو حالت خطی و غیرخطی: ارائه روند تشکیل و حل دستگاه معادلات ماتریسی حاکم بر سازه.
3. مروری بر فرمول بندی المان های تیر-ستون غیرخطی؛ استخراج روابط ریاضی و الگوریتم محاسبه نیروهای داخلی و ماتریس سختی در این المان ها.
4. آموزش مفاهیم پیشرفته برنامه نویسی مانند اشاره گرها و رفرنس ها
5. آموزش مفاهیم و اصول برنامه نویسی شیء گرا
6. ارائه ساختار شیء گرای مورد استفاده در متن نرم افزار OpenSees
7. آموزش دانلود و دسترسی به متن OpenSees و معرفی اجزای آن در محیط نرم افزار Microsoft Visual Studio
8. معرفی پروژه quickMain جهت آشنایی با روند استفاده از اشیاء در روند ایجاد و تحلیل مدل
9. معرفی کلاس های Domain، DomainComponent و TaggedObject و فرایند ذخیره سازی و فراخوانی اشیای مدل از داخل Domain
10. معرفی کلاس ModelBuilder و شیء TclModelBuilder و نحوه ارتباط بین OpenSees و مفسر TCL.
11. معرفی فرایند ایجاد دستورات جدید برای مفسر TCL و مکانیزم کلی اجرای این دستورات در OpenSees
12. معرفی کلاس material و کلاسهای UniaxialMaterial و nDMaterial مشتق شده از آن
13. معرفی فرایند بروزرسانی وضعیت مصالح و المانها در روند تحلیل غیرخطی و تمرکز بر تابع setTrialStrain از کلاس Steel01
14. معرفی کلاس sectionForceDeformation و کلاس های ElasticSection و FiberSection2d مشتق شده از آن
15. معرفی کلاس CrdTransf و کلاسهای LinearCrdTransf2d، PDeltaCrdTransf2d و CorotCrdTransf2d مشتق شده از آن
16. معرفی کلاس Element و کلاس dispBeamColumn2d مشتق شده از آن و تمرکز بر روی تابع update()
17. معرفی تابع update در کلاس forceBeamColumn مشتق شده از کلاس Element
* ویژگی های بسته*
1. مطالب ارائه شده در این بسته برای اولین بار به زبان فارسی ارائه می شوند و حتی ارائه منسجمی نیز از آنها به زبان انگلیسی وجود ندارد.
2. کلی نگری و حرکت از کل به جزء: مسیر طولانی و طاقت فرسای آموزش برنامه نویسی در بسیاری از دوره ها و حتی در سرفصلهای رشته نرم افزار، شروع از مقدمات و مبانی ابتدایی و حرکت قدم به قدم و پیمودن تمام مسیر تا فراگرفتن تمامی جزئیات است. بر اساس تجربه، در صورت استفاده از چنین فرایندی، آموزش زبان C++ و فراگیری متن OpenSees از یک فرد علاقه مند و کوشا قریب به 1 سال زمان خواهد برد. اما روش آموزش در این دوره از یک نگاه کل به جزء بهره می برد و در ابتدای مسیر نقشه ای از کل مسیر ارائه کرده و پس از ارائه چهارچوب و اصول مهم موضوع، آموزش جزئیات را تنها در حیطه ضروری مورد توجه قرار می دهد و فراگیری سایر جزئیات را به شخص فراگیر می سپارد تا به حسب کاربرد و در زمان مقتضی نسبت به آن اقدام کند.
3. هدف محوری و سرعت در رساندن به کاربرد: مسیر فرساینده آموزش به روش سنتی مورد اشاره در بالا، میوه و ثمره دلنشین خود را در انتهای دوره به فراگیر عرضه میکند؛ بر خلاف آن، روش دوره حاضر، یکسره به تعریف هدف مورد نظر پرداخته و آشنایی با متن نرم افزار OpenSees را از ابتدا مورد توجه قرار می دهد و با برداشتن هر گام دانشجو را یک قدم به این هدف نزدیکتر می کند.
4. آموزش فعال و مبتنی بر مطالعه شخصی دانشجو: ضمن آموزش موضوعات مرتبط با هدف دوره، برنامه دوره اشاره ای گذرا به سایر جزئیات موضوع نموده و دانشجو را به مطالعه و تمرین شخصی در زمینه آنها ترغیب می کند تا حداکثر سرعت در رسیدن به یک تسلط کاربردی و دلنشین بر موضوع حاصل شود.