(۲۸)
بررسی کد بهینه سازی یک قاب فولادی دو طبقه با بهره گیری از الگوریتم ازدحام ذرات
این پروژه را تعریف کردم و کد بهینه سازی آن را با الگوریتم ازدحام ذرات نوشتم و در ادامه آن را با هم گام به گام بررسی خواهیم کرد.
همانطور که اشاره شد، عموما یک کد بهینه سازی از ۶ بخش اصلی و بخش خروجی تشکیل شده است.
هر کدام از این بخش ها میتوانند پیچیدگی های بسیاری داشته باشند.
یکی از الگوریتم هایی که برای داده های گسسته خوب کار میکند، الگوریتم ازدحام ذرات است.
در پست های بعدی قطعات این پازل را با هم بررسی خواهیم کرد.
کد کامل را در انتهای پست ها منتشر خواهم کرد.
در صورتی که تمایل دارید که قبل از اتمام پست ها کد را داشته باشید پیام ارسال بفرمایید.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
بررسی کد بهینه سازی یک قاب فولادی دو طبقه با بهره گیری از الگوریتم ازدحام ذرات
این پروژه را تعریف کردم و کد بهینه سازی آن را با الگوریتم ازدحام ذرات نوشتم و در ادامه آن را با هم گام به گام بررسی خواهیم کرد.
همانطور که اشاره شد، عموما یک کد بهینه سازی از ۶ بخش اصلی و بخش خروجی تشکیل شده است.
هر کدام از این بخش ها میتوانند پیچیدگی های بسیاری داشته باشند.
یکی از الگوریتم هایی که برای داده های گسسته خوب کار میکند، الگوریتم ازدحام ذرات است.
در پست های بعدی قطعات این پازل را با هم بررسی خواهیم کرد.
کد کامل را در انتهای پست ها منتشر خواهم کرد.
در صورتی که تمایل دارید که قبل از اتمام پست ها کد را داشته باشید پیام ارسال بفرمایید.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏5❤1
اگر ضرایب ترک خوردگی دیوار برشی بتنی از روش دقیق محاسبه شود، آیا لازم است کنترل ترک خوردگی دیوار برشی بتنی انجام شود؟
Anonymous Poll
49%
خیر، لازم نیست.
51%
بله، باید انجام شود، فرقی ندارد.
🔥3❤2
بند 6.6.3.1.1 آییننامه ACI 318
روش تقریبی (ضرایب جدول)
در این روش، برای سادگی، آییننامه ضرایب ثابتی را برای کاهش سختی المانها ارائه داده است. برای دیوارها، این ضریب به وضعیت ترکخوردگی وابسته است و مهندس باید تصمیم بگیرد که دیوار ترکخورده (0.35Ig) در نظر گرفته شود یا ترکنخورده (0.70Ig).
روش دقیق (جدول b)
در این روش، به جای یک ضریب ثابت، از یک فرمول تحلیلی برای محاسبه لنگر اینرسی موثر (I) استفاده میشود که متغیرهای مهمی مانند نیروی محوری (Pu) و لنگر خمشی (Mu) را در نظر میگیرد.
در فرمول به طور مستقیم حالت ترکخوردگی بررسی نمیشود، بلکه نیروی محوری (Pu) و لنگر خمشی (Mu) حاصل از ترکیب بار، نقش تعیینکنندهای در مقدار نهایی I دارند. یک لنگر خمشی بزرگ (Mu) نسبت به نیروی محوری (Pu) مقدار
Mu / (Pu * h)
را افزایش داده و در نتیجه ضریب
(1 - Mu/(Pu*h) - ...)
را کاهش میدهد و نمایانگر اثر ترکخوردگی ناشی از خمش است. پس هرچه المان تحت تاثیر لنگر خمشی بیشتری قرار گیرد، مقدار I محاسبهشده کوچکتر شده و نشاندهنده یک مقطع ترکخورده خواهد بود.
.
روش تقریبی (ضرایب جدول)
در این روش، برای سادگی، آییننامه ضرایب ثابتی را برای کاهش سختی المانها ارائه داده است. برای دیوارها، این ضریب به وضعیت ترکخوردگی وابسته است و مهندس باید تصمیم بگیرد که دیوار ترکخورده (0.35Ig) در نظر گرفته شود یا ترکنخورده (0.70Ig).
روش دقیق (جدول b)
در این روش، به جای یک ضریب ثابت، از یک فرمول تحلیلی برای محاسبه لنگر اینرسی موثر (I) استفاده میشود که متغیرهای مهمی مانند نیروی محوری (Pu) و لنگر خمشی (Mu) را در نظر میگیرد.
در فرمول به طور مستقیم حالت ترکخوردگی بررسی نمیشود، بلکه نیروی محوری (Pu) و لنگر خمشی (Mu) حاصل از ترکیب بار، نقش تعیینکنندهای در مقدار نهایی I دارند. یک لنگر خمشی بزرگ (Mu) نسبت به نیروی محوری (Pu) مقدار
Mu / (Pu * h)
را افزایش داده و در نتیجه ضریب
(1 - Mu/(Pu*h) - ...)
را کاهش میدهد و نمایانگر اثر ترکخوردگی ناشی از خمش است. پس هرچه المان تحت تاثیر لنگر خمشی بیشتری قرار گیرد، مقدار I محاسبهشده کوچکتر شده و نشاندهنده یک مقطع ترکخورده خواهد بود.
پس در روش دقیق نیاز به کنترل ترک خوردگی دیوار برشی بتنی نیست.
.
❤4🙏2
(۲۹)
تشریح بخشهای یک کد بهینه سازی
بخش ۱: ورودیها (Inputs) – خطوط ۱۵ تا ۴۸
class SteelFrameInputs:
این کلاس، مواد اولیهی پروژه را نگهداری میکند. تمام اطلاعاتی که مهندس باید قبل از شروع بهینهسازی مشخص کند، اینجا جمعآوری شدهاست:
ابعاد هندسی: تعداد طبقات (num_stories=2)، تعداد دهانهها (num_bays=2)، ارتفاع هر طبقه (story_height=3.5m) و عرض هر دهانه (bay_width=5.0m).
مشخصات مصالح: تنش تسلیم فولاد (Fy=345MPa) و مدول الاستیسیته (E=200GPa)
بارهای ثقلی: بار مرده (DL=4000 N/m²) و بار زنده (LL=2400 N/m²)
بارهای لرزهای: شتاب طیفی طراحی (Sds=0.8 و Sd1=0.4)، ضریب رفتار (R=8.0) و ضریب اهمیت (Ie=1.0) طبق ASCE 7 یا ۲۸۰۰
ضرایب مقاومت LRFD: ضرایب فی برای خمش، فشار و برش...
نکته: اگر پروژهی جدیدی داشتید، فقط مقادیر این کلاس را تغییر میدهید و بقیهی کد بدون تغییر کار میکند. یا به عنوان کد مجزا در کد اصلی فراخوانی شود.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
تشریح بخشهای یک کد بهینه سازی
بخش ۱: ورودیها (Inputs) – خطوط ۱۵ تا ۴۸
class SteelFrameInputs:
این کلاس، مواد اولیهی پروژه را نگهداری میکند. تمام اطلاعاتی که مهندس باید قبل از شروع بهینهسازی مشخص کند، اینجا جمعآوری شدهاست:
ابعاد هندسی: تعداد طبقات (num_stories=2)، تعداد دهانهها (num_bays=2)، ارتفاع هر طبقه (story_height=3.5m) و عرض هر دهانه (bay_width=5.0m).
مشخصات مصالح: تنش تسلیم فولاد (Fy=345MPa) و مدول الاستیسیته (E=200GPa)
بارهای ثقلی: بار مرده (DL=4000 N/m²) و بار زنده (LL=2400 N/m²)
بارهای لرزهای: شتاب طیفی طراحی (Sds=0.8 و Sd1=0.4)، ضریب رفتار (R=8.0) و ضریب اهمیت (Ie=1.0) طبق ASCE 7 یا ۲۸۰۰
ضرایب مقاومت LRFD: ضرایب فی برای خمش، فشار و برش...
نکته: اگر پروژهی جدیدی داشتید، فقط مقادیر این کلاس را تغییر میدهید و بقیهی کد بدون تغییر کار میکند. یا به عنوان کد مجزا در کد اصلی فراخوانی شود.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏3❤1
🚨 اگر دانشجو یا مهندس عمران، معمار، ناظر، مجری، محاسب یا فعال دفتر فنی هستی، این کتابخانه رایگان رو از دست نده!
📚 یک مجموعه جامع از منابع تخصصی مهندسی یکجا:
✅ طراحی و محاسبات سازه
✅ متره، برآورد و صورتوضعیت
✅ منابع آزمون نظام مهندسی
✅ نکات اجرایی و کارگاهی
✅ نقشهها و فایلهای تخصصی
✅ آموزشهای ویدئویی و کاربردی
✅ نکات فنی، حقوقی و مدیریت پروژه
🔥 بهجای جستوجوی ساعتها بین کانالهای مختلف، به مجموعهای منظم از هزاران فایل و منبع کاربردی دسترسی داشته باش.
👇 ورود رایگان به کتابخانه مهندسی
🔗 https://t.me/addlist/x3YnoelTcMpkOTlk
📌 ذخیره کن و برای دوست یا همکار مهندست هم بفرست.
📚 یک مجموعه جامع از منابع تخصصی مهندسی یکجا:
✅ طراحی و محاسبات سازه
✅ متره، برآورد و صورتوضعیت
✅ منابع آزمون نظام مهندسی
✅ نکات اجرایی و کارگاهی
✅ نقشهها و فایلهای تخصصی
✅ آموزشهای ویدئویی و کاربردی
✅ نکات فنی، حقوقی و مدیریت پروژه
🔥 بهجای جستوجوی ساعتها بین کانالهای مختلف، به مجموعهای منظم از هزاران فایل و منبع کاربردی دسترسی داشته باش.
👇 ورود رایگان به کتابخانه مهندسی
🔗 https://t.me/addlist/x3YnoelTcMpkOTlk
📌 ذخیره کن و برای دوست یا همکار مهندست هم بفرست.
❤5
جلسه یازدهم دوره طراحی عملکردی بر مبنای نشریه ۳۶۰ در سایت اسپات پلیر بارگذاری شد. (جهت شرکت کنندگان آفلاین)
سرفصل جلسات اول و دوم.
سرفصل جلسه سوم.
سرفصل جلسه چهارم.
سرفصل جلسه پنجم.
سرفصل جلسه ششم.
سرفصل جلسه هفتم.
سرفصل جلسه هشتم.
سرفصل جلسه نهم.
سرفصل جلسه دهم؛
سرفصل جلسه یازدهم
🔸 توضیحات تکمیلی پیرامون مقیاس شتابنگاشت طبق نشریه ۳۶۰
🔸 تعریف ترکیبات بار تحلیل تاریخچه زمانی خطی در نرم افزار Etabs
🔸 تنظیمات طراحی برای تحلیل های خطی
🔸 رفع اشکال کلی جلسات گذشته
مباحث جلسه آینده؛
🔹 مقیاس شتابنگاشت به روش طیف راستای بیشینه مطابق ویرایش پنجم استاندارد ۲۸۰۰
⚠️👇
سر فصل های دوره را در اینجا مطالعه بفرمایید.
در مورد سایر نرم افزارهای EQSoft اینجا بخوانید.
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
سرفصل جلسات اول و دوم.
سرفصل جلسه سوم.
سرفصل جلسه چهارم.
سرفصل جلسه پنجم.
سرفصل جلسه ششم.
سرفصل جلسه هفتم.
سرفصل جلسه هشتم.
سرفصل جلسه نهم.
سرفصل جلسه دهم؛
سرفصل جلسه یازدهم
🔸 توضیحات تکمیلی پیرامون مقیاس شتابنگاشت طبق نشریه ۳۶۰
🔸 تعریف ترکیبات بار تحلیل تاریخچه زمانی خطی در نرم افزار Etabs
🔸 تنظیمات طراحی برای تحلیل های خطی
🔸 رفع اشکال کلی جلسات گذشته
مباحث جلسه آینده؛
🔹 مقیاس شتابنگاشت به روش طیف راستای بیشینه مطابق ویرایش پنجم استاندارد ۲۸۰۰
⚠️👇
ظرفیت ۳۰ نفری دوره آنلاین تکمیل شده است، دوستانی که تمایل به شرکت در دوره به صورت آفلاین را دارند، میتوانند جهت ثبت نام و دریافت اطلاعات بیشتر به ادمین کانال تلگرامی یا گروه پشتیبانی پیام ارسال کنند..
تعداد شرکت کننده تا کنون ۴۰ نفر می باشد.
سر فصل های دوره را در اینجا مطالعه بفرمایید.
در مورد سایر نرم افزارهای EQSoft اینجا بخوانید.
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
❤4
Forwarded from Standards and Codes
🎖🎖کلیه مباحث مقررات ملی با تاریخچه آن و همه ویرایشهای استاندارد 2800 در یک پست:
مبحث اول: تعاریف
1392
مبحث دوم: نظامات اداری
1384
مبحث سوم: حفاظت ساختمانها در مقابل حریق
1380 | 1392 | 1395
مبحث چهارم: الزامات عمومی ساختمان
1387 | 1392 | 1396
مبحث پنجم: مصالح و فرآوردههای ساختمانی
1369 | 1382 | 1389 | 1392 | 1396
مبحث ششم: بارهای وارد بر ساختمان
1380 | 1385 | 1392 | 1398
آییننامه طراحی ساختمانها در برابر زلزله (استاندارد 2800)
1st (1367) | 2nd (1378) | 3rd (1384) | 4th (1393), App.6th (1398) | 5th (1405)
مبحث هفتم: پی و پیسازی
1369 | 1388 | 1392 | 1400
مبحث هشتم: طرح و اجرای ساختمانهای با مصالح بنایی
1384 | 1392 | 1398
مبحث نهم: طرح و اجرای ساختمانهای بتنآرمه
1368 | 1385 | 1388 | 1392 | 1399
مبحث دهم: طرح و اجرای ساختمانهای فولادی
1368 | 1384 | 1387 | 1392 | 1401
مبحث یازدهم: طرح و اجرای صنعتی ساختمانها
1383 | 1392 | 1400
مبحث دوازدهم: ایمنی و حفاظت کار در حین اجرا
1372 | 1380 | 1385 | 1392 | 1403
مبحث سیزدهم: طرح و اجرای تأسیسات برقی ساختمانها
1372 | 1382 | 1395
مبحث چهاردهم: تأسیسات مکانیکی
1380 | 1391 | 1396
مبحث پانزدهم: آسانسورها و پلکان برقی
1380 | 1387 | 1392
مبحث شانزدهم: تأسیسات بهداشتی
1372 | 1382 | 1391 | 1396
مبحث هفدهم: سامانه گاز طبیعی در ساختمان
1381 | 1387 | 1389 | 1401 | 1403
مبحث هجدهم: عایقبندی و تنظیم صدا
1380 | 1390 | 1396
مبحث نوزدهم: صرفهجویی در مصرف انرژی / مدیریت انرژی در ساختمان
1370 | 1381 | 1389 | 1399 | 1404
مبحث بیستم: علائم و تابلوها
1384 | 1392 | 1396
مبحث بیستویکم: پدافند غیرعامل
1391 | 1395
مبحث بیستودوم: مراقبت و نگهداری از ساختمانها
1392
مبحث بیستوسوم: الزامات ترافیکی ساختمانها
1401
مبحث بیستوچهارم: انطباق شهری ساختمان
1404
مبحث اول: تعاریف
1392
مبحث دوم: نظامات اداری
1384
مبحث سوم: حفاظت ساختمانها در مقابل حریق
1380 | 1392 | 1395
مبحث چهارم: الزامات عمومی ساختمان
1387 | 1392 | 1396
مبحث پنجم: مصالح و فرآوردههای ساختمانی
1369 | 1382 | 1389 | 1392 | 1396
مبحث ششم: بارهای وارد بر ساختمان
1380 | 1385 | 1392 | 1398
آییننامه طراحی ساختمانها در برابر زلزله (استاندارد 2800)
1st (1367) | 2nd (1378) | 3rd (1384) | 4th (1393), App.6th (1398) | 5th (1405)
مبحث هفتم: پی و پیسازی
1369 | 1388 | 1392 | 1400
مبحث هشتم: طرح و اجرای ساختمانهای با مصالح بنایی
1384 | 1392 | 1398
مبحث نهم: طرح و اجرای ساختمانهای بتنآرمه
1368 | 1385 | 1388 | 1392 | 1399
مبحث دهم: طرح و اجرای ساختمانهای فولادی
1368 | 1384 | 1387 | 1392 | 1401
مبحث یازدهم: طرح و اجرای صنعتی ساختمانها
1383 | 1392 | 1400
مبحث دوازدهم: ایمنی و حفاظت کار در حین اجرا
1372 | 1380 | 1385 | 1392 | 1403
مبحث سیزدهم: طرح و اجرای تأسیسات برقی ساختمانها
1372 | 1382 | 1395
مبحث چهاردهم: تأسیسات مکانیکی
1380 | 1391 | 1396
مبحث پانزدهم: آسانسورها و پلکان برقی
1380 | 1387 | 1392
مبحث شانزدهم: تأسیسات بهداشتی
1372 | 1382 | 1391 | 1396
مبحث هفدهم: سامانه گاز طبیعی در ساختمان
1381 | 1387 | 1389 | 1401 | 1403
مبحث هجدهم: عایقبندی و تنظیم صدا
1380 | 1390 | 1396
مبحث نوزدهم: صرفهجویی در مصرف انرژی / مدیریت انرژی در ساختمان
1370 | 1381 | 1389 | 1399 | 1404
مبحث بیستم: علائم و تابلوها
1384 | 1392 | 1396
مبحث بیستویکم: پدافند غیرعامل
1391 | 1395
مبحث بیستودوم: مراقبت و نگهداری از ساختمانها
1392
مبحث بیستوسوم: الزامات ترافیکی ساختمانها
1401
مبحث بیستوچهارم: انطباق شهری ساختمان
1404
❤5🙏2👌1
(۳۰)
ادامهی تشریح بخشهای یک کد بهینه سازی
بخش ۲: متغیرهای طراحی
(Design Variables)
– خطوط ۵۱ تا ۱۰۷
این بخش، پارامترهای قابل تنظیم الگوریتم را تعریف میکند. هر متغیر طراحی، یک پروفیل فولادی از لیست SECTION_LIST است:
🔸 کلاس SteelSection
مشخصات کامل یک پروفیل W-shape را ذخیره میکند: نام، مساحت (A)، ممان اینرسی (Ix)، اساس مقطع پلاستیک (Zx)، شعاعهای ژیراسیون (rx, ry) و ابعاد هندسی (d, tw, bf, tf)...
🔸 لیست SECTION_LIST
شامل ۱۵ پروفیل استاندارد از W10×12 تا W21×62 است که از AISC Manual استخراج شدهاند.
در این مسئله، ۱۰ متغیر طراحی داریم: ۴ تیر (۲ تیر در هر طبقه) و ۶ ستون (۳ ستون در هر طبقه). هر متغیر میتواند یکی از ۱۵ پروفیل را انتخاب کند. پس فضای جستجو برابر 10^15 حالت ممکن! بیش از ۵۷۶ میلیارد حرکت!! 😉 🤯
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
.
ادامهی تشریح بخشهای یک کد بهینه سازی
بخش ۲: متغیرهای طراحی
(Design Variables)
– خطوط ۵۱ تا ۱۰۷
این بخش، پارامترهای قابل تنظیم الگوریتم را تعریف میکند. هر متغیر طراحی، یک پروفیل فولادی از لیست SECTION_LIST است:
🔸 کلاس SteelSection
مشخصات کامل یک پروفیل W-shape را ذخیره میکند: نام، مساحت (A)، ممان اینرسی (Ix)، اساس مقطع پلاستیک (Zx)، شعاعهای ژیراسیون (rx, ry) و ابعاد هندسی (d, tw, bf, tf)...
🔸 لیست SECTION_LIST
شامل ۱۵ پروفیل استاندارد از W10×12 تا W21×62 است که از AISC Manual استخراج شدهاند.
در این مسئله، ۱۰ متغیر طراحی داریم: ۴ تیر (۲ تیر در هر طبقه) و ۶ ستون (۳ ستون در هر طبقه). هر متغیر میتواند یکی از ۱۵ پروفیل را انتخاب کند. پس فضای جستجو برابر 10^15 حالت ممکن! بیش از ۵۷۶ میلیارد حرکت!! 😉 🤯
نکته کدنویسی: در الگوریتم PSO، موقعیت هر ذره یک آرایهی ۱۰ عضوی از اعداد صحیح بین ۰ تا ۱۴ است که هر عدد نشاندهندهی اندیس یک پروفیل در SECTION_LIST است..
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
.
🙏5
(۳۱)
ادامهی تشریح بخش های یک کد بهینه سازی
بخش ۳ و ۴: تابع هدف و قیود – خطوط ۱۱۰ تا ۲۶۰
🫀 این بخش، دستگاه سنجش کیفیت و خطقرمزهای مهندسی را پیادهسازی میکند. تابع evaluate_design قلب برنامه است و برای هر طرح (مجموعهای از پروفیلها) این مراحل را انجام میدهد:
مرحلهی ۱: محاسبهی وزن کل سازه
وزن هر عضو از مساحت مقطع × طول × چگالی فولاد (۷۸۵۰ kg/m³) محاسبه میشود.
مرحلهی ۲: محاسبهی بارهای ثقلی (ASCE 7)، به عنوان مثال آورده شده است و باید مطابق با استاندارد یا مبحث ۶ ترکیبات بار مختلف کد نویسی شوند.
بارهای مرده و زنده با ضرایب LRFD ترکیب میشوند (ASCE 7 Section 2.3).
مرحلهی ۳: محاسبهی بار لرزهای (ASCE 7)، مشابه ویرایش پنجم استاندارد ۲۸۰۰ است و مقدار Cs در بخش جدایی از کد با توجه به ورودی های شتاب طیفی محاسبه میشود، پیشنهاد میکنم این بخش چون میتواند تغییر در ساختگاه داشته باشید به عنوان یک کد جدا نوشته شود و در کد بهینه سازی فراخوانی شود. ⚠️
نیروی برش پایه از رابطهی V = Cs × W محاسبه میشود (ASCE 7 Eq. 12.8-1).
مرحلهی ۴: بررسی قیود (AISC 360)
بررسی تیرها (AISC 360 Chapter F و G) و یا فرمول های مبحث ۱۰، این بخش با توجه به سیستم سازه ای شما باید نوشته شود و دقیقا روابط آیین نامه با توجه به شکل پذیری سازه کد نویسی شوند:
بررسی ستونها (AISC 360 Chapter E) یا مبحث ۱۰ مطابق توضیحاتی که برای تیر داده شده است :
این روابط مستقیماً از AISC 360 Eq. E3-2 و E3-3 گرفته شدهاند.
توجه بفرمایید که این بخش همانطور که در بالا اشاره شد فقط به عنوان مثال آورده شده است.
⭕⚠️
مرحلهی ۵: تابع جریمه (Penalty Function)، مهم ترین قسمت این بخش است و با توجه به الگوریتم انتخاب شده و روش های دیگری که در مقالات آمده است میتواند تغییر کند.
اگر هر یک از نسبتهای تنش (در این مثال) از ۱.۰ بیشتر شود (یا سایر معیار های آییننامهها (یعنی قیدها) نقض شده باشند)، یک جریمهی سنگین به وزن (در این مثال که هدف وزن کمینه بود یا سایر اهداف بهینه سازی با توجه به اهداف انتخاب شده) اضافه میشود. این کار باعث میشود الگوریتم، طرحهای غیرمجاز (مغایر الزامات آییننامهها) را بهعنوان طرحهای بد تشخیص دهد و از آنها گذر کند.
همچنین میتوانید به این بخش با توجه به الگوریتم خود یک کد اضافه کنید که فضای پارتو را نیز مرتب (سورت) کند.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
ادامهی تشریح بخش های یک کد بهینه سازی
بخش ۳ و ۴: تابع هدف و قیود – خطوط ۱۱۰ تا ۲۶۰
class FrameAnalyzer:
def evaluate_design(self, section_indices: List[int]) -> Dict:
🫀 این بخش، دستگاه سنجش کیفیت و خطقرمزهای مهندسی را پیادهسازی میکند. تابع evaluate_design قلب برنامه است و برای هر طرح (مجموعهای از پروفیلها) این مراحل را انجام میدهد:
مرحلهی ۱: محاسبهی وزن کل سازه
total_weight = 0.0
for idx in beam_indices:
section = SECTION_LIST[idx]
weight = section.A * length * 7850 # چگالی فولاد
total_weight += weight
وزن هر عضو از مساحت مقطع × طول × چگالی فولاد (۷۸۵۰ kg/m³) محاسبه میشود.
مرحلهی ۲: محاسبهی بارهای ثقلی (ASCE 7)، به عنوان مثال آورده شده است و باید مطابق با استاندارد یا مبحث ۶ ترکیبات بار مختلف کد نویسی شوند.
w_u = 1.2 * w_DL + 1.6 * w_LL
بارهای مرده و زنده با ضرایب LRFD ترکیب میشوند (ASCE 7 Section 2.3).
مرحلهی ۳: محاسبهی بار لرزهای (ASCE 7)، مشابه ویرایش پنجم استاندارد ۲۸۰۰ است و مقدار Cs در بخش جدایی از کد با توجه به ورودی های شتاب طیفی محاسبه میشود، پیشنهاد میکنم این بخش چون میتواند تغییر در ساختگاه داشته باشید به عنوان یک کد جدا نوشته شود و در کد بهینه سازی فراخوانی شود. ⚠️
seismic_load = self.calculate_seismic_load(total_weight) # V = Cs × W
نیروی برش پایه از رابطهی V = Cs × W محاسبه میشود (ASCE 7 Eq. 12.8-1).
مرحلهی ۴: بررسی قیود (AISC 360)
بررسی تیرها (AISC 360 Chapter F و G) و یا فرمول های مبحث ۱۰، این بخش با توجه به سیستم سازه ای شما باید نوشته شود و دقیقا روابط آیین نامه با توجه به شکل پذیری سازه کد نویسی شوند:
# ظرفیت خمشی: Mn = Fy × Zx
phi_Mn = inputs.phi_b * inputs.Fy * section.Zx
bending_ratio = Mu / phi_Mn # باید ≤ 1.0
# ظرفیت برشی: Vn = 0.6 × Fy × Aw
phi_Vn = inputs.phi_v * 0.6 * inputs.Fy * section.d * section.tw
shear_ratio = Vu / phi_Vn # باید ≤ 1.0
بررسی ستونها (AISC 360 Chapter E) یا مبحث ۱۰ مطابق توضیحاتی که برای تیر داده شده است :
# تنش کمانش بحرانی (Euler buckling)
lambda_c = (KL / section.ry) * sqrt(Fy / (π² × E))
if lambda_c <= 4.71 * sqrt(E/Fy):
Fcr = (0.658^(Fy/Fe)) × Fy # کمانش غیرالاستیک
else:
Fcr = 0.877 × Fe # کمانش الاستیک
Pn = Fcr × A
compression_ratio = axial_load / (phi_c × Pn) # باید ≤ 1.0
این روابط مستقیماً از AISC 360 Eq. E3-2 و E3-3 گرفته شدهاند.
توجه بفرمایید که این بخش همانطور که در بالا اشاره شد فقط به عنوان مثال آورده شده است.
⭕⚠️
مرحلهی ۵: تابع جریمه (Penalty Function)، مهم ترین قسمت این بخش است و با توجه به الگوریتم انتخاب شده و روش های دیگری که در مقالات آمده است میتواند تغییر کند.
if not constraints_ok:
excess = sum(max(0, r - 1.0) for r in all_ratios)
penalty = 1000 * excess
objective_value = total_weight + penalty
اگر هر یک از نسبتهای تنش (در این مثال) از ۱.۰ بیشتر شود (یا سایر معیار های آییننامهها (یعنی قیدها) نقض شده باشند)، یک جریمهی سنگین به وزن (در این مثال که هدف وزن کمینه بود یا سایر اهداف بهینه سازی با توجه به اهداف انتخاب شده) اضافه میشود. این کار باعث میشود الگوریتم، طرحهای غیرمجاز (مغایر الزامات آییننامهها) را بهعنوان طرحهای بد تشخیص دهد و از آنها گذر کند.
همچنین میتوانید به این بخش با توجه به الگوریتم خود یک کد اضافه کنید که فضای پارتو را نیز مرتب (سورت) کند.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
👍5👏1
Forwarded from Dr.Hossein Parvini Sani
چالش_های_طراحی_با_ویرایش_5_آئین_نامه_2800.pdf
13.6 MB
دوره آموزشی "چالش های طراحی با ویرایش 5 آئین نامه 2800" برگزار شده در مورخ 10 شهریور 1405 سازمان نظام مهندسی ساختمان استان زنجان
❤2🙏2
Forwarded from کانال تلگرام مهندس احمدرضا جعفری
✳️ #نکته_آموزشی از ویرایش پنجم #استاندارد_2800 : افزایش نیروی جانبی زلزله در اعضای خاص
🔹 مطابق بند 3-16-3-1 از ویرایش 5 استاندارد 2800 در مواردی که سازه دارای #نامنظمی از نوع نامنظمی جابه جایی خارج از صفحه و یا نامنظمی قطع داخل صفحه عناصر قائم مقاوم لرزه ای بوده و #دیوار_برشی ، #مهاربند و یا ستون تا روی #شالوده ادامه پیدا نمی کند ، اعضای سازه ای که بارهای حاصل از اعضای منقطع را تحمل میکنند باید برای #ترکیب_بار_تشدیدیافته #زلزله طراحی گردند. قابل ذکر است که در ویرایش چهارم این موضوع فقط شامل نیروی محوری منتقل شده از اعضای منقطع است و طراحی برای زلزله تشدیدیافته شامل بقیه تلاشهای منتقل شده ( نظیر لنگر خمشی و پیچشی و نیروی برشی ) نیست. ضمن اینکه اثر تشدید فقط شامل بار منتقل شده از اعضای منقطع می باشد، اما در ویرایش پنجم کل بارهای زلزله وارد بر این اعضا شامل اثر تشدید میگردد. به بیان دیگر اگر به این اعضا نیروهایی همزمان از اعضای منقطع و غیرمنقطع منتقل گردد، کل نیروها باید شامل اثر تشدید گردد که این موضوع در ویرایش چهارم فقط شامل نیروی منتقل شده از اعضای منقطع می باشد
🆔 @jafariar
🔹 مطابق بند 3-16-3-1 از ویرایش 5 استاندارد 2800 در مواردی که سازه دارای #نامنظمی از نوع نامنظمی جابه جایی خارج از صفحه و یا نامنظمی قطع داخل صفحه عناصر قائم مقاوم لرزه ای بوده و #دیوار_برشی ، #مهاربند و یا ستون تا روی #شالوده ادامه پیدا نمی کند ، اعضای سازه ای که بارهای حاصل از اعضای منقطع را تحمل میکنند باید برای #ترکیب_بار_تشدیدیافته #زلزله طراحی گردند. قابل ذکر است که در ویرایش چهارم این موضوع فقط شامل نیروی محوری منتقل شده از اعضای منقطع است و طراحی برای زلزله تشدیدیافته شامل بقیه تلاشهای منتقل شده ( نظیر لنگر خمشی و پیچشی و نیروی برشی ) نیست. ضمن اینکه اثر تشدید فقط شامل بار منتقل شده از اعضای منقطع می باشد، اما در ویرایش پنجم کل بارهای زلزله وارد بر این اعضا شامل اثر تشدید میگردد. به بیان دیگر اگر به این اعضا نیروهایی همزمان از اعضای منقطع و غیرمنقطع منتقل گردد، کل نیروها باید شامل اثر تشدید گردد که این موضوع در ویرایش چهارم فقط شامل نیروی منتقل شده از اعضای منقطع می باشد
🆔 @jafariar
❤4
Forwarded from FarzamBodaghi_STR
کارجویان محترم و علاقمندان به موقعیتها از طریق لینک فوق میتوانید اطلاعات خود را ثبت نمایند.
ماموریت ما ساده است، اما بزرگ:
کم کردن فاصله میان مهندسان توانمند و فرصتهای واقعی.
میخواهیم تخصصها دیده شوند، تجربهها به فرصت تبدیل شوند و هیچ مهندس توانمندی صرفاً به دلیل نداشتن ارتباطات کافی، از مسیر پیشرفت جا نماند.
«شبکه یکپارچه متخصصین عمران کشور» با هدف ایجاد بستری برای شناخت، ارتباط و همکاری میان مهندسان، کارفرمایان و مجموعههای عمرانی شکل گرفته است.
ثبت رزومه شما فقط ثبت چند اطلاعات نیست؛
شما با ثبت این رزومه، توانمندی خود را در نقشه تخصصی عمران کشور ثبت میکنید.
ماموریت ما ساده است، اما بزرگ:
کم کردن فاصله میان مهندسان توانمند و فرصتهای واقعی.
میخواهیم تخصصها دیده شوند، تجربهها به فرصت تبدیل شوند و هیچ مهندس توانمندی صرفاً به دلیل نداشتن ارتباطات کافی، از مسیر پیشرفت جا نماند.
«شبکه یکپارچه متخصصین عمران کشور» با هدف ایجاد بستری برای شناخت، ارتباط و همکاری میان مهندسان، کارفرمایان و مجموعههای عمرانی شکل گرفته است.
ثبت رزومه شما فقط ثبت چند اطلاعات نیست؛
شما با ثبت این رزومه، توانمندی خود را در نقشه تخصصی عمران کشور ثبت میکنید.
❤2
FarzamBodaghi_STR
کارجویان محترم و علاقمندان به موقعیتها از طریق لینک فوق میتوانید اطلاعات خود را ثبت نمایند. ماموریت ما ساده است، اما بزرگ: کم کردن فاصله میان مهندسان توانمند و فرصتهای واقعی. میخواهیم تخصصها دیده شوند، تجربهها به فرصت تبدیل شوند و هیچ مهندس توانمندی…
سایر پست های مربوطه را در کانال تلگرامی دکتر بداغی دنبال کنید.
سپاس از دکتر بداغی گرام بابت این کار ارزشمند 🙏💐
سپاس از دکتر بداغی گرام بابت این کار ارزشمند 🙏💐
❤2
EQ SOFT
(۳۱) ادامهی تشریح بخش های یک کد بهینه سازی بخش ۳ و ۴: تابع هدف و قیود – خطوط ۱۱۰ تا ۲۶۰ class FrameAnalyzer: def evaluate_design(self, section_indices: List[int]) -> Dict: 🫀 این بخش، دستگاه سنجش کیفیت و خطقرمزهای مهندسی را پیادهسازی میکند. تابع…
PSO_code_for_edu_Opti.py
21.6 KB
کد بهینه سازی قاب فولادی دو طبقه با الگوریتم ازدحام ذرات.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏3❤1👏1
مقایسهی دو الگوریتم ازدحام ذرات و الگوریتم ژنتیک برای قاب فرض شده جهت آموزش در کانال.
کد الگوریتم ژنتیک را نیز نوشتم و پس از تکمیل توضیح هر دو کد آنرا نیز در کانال ارسال خواهم کرد.
در این دو نمودار قدرت الگوریتم ازدحام ذرات را به خوبی میتوانید مشاهده کنید.
پست شماره ۱۵ را مطالعه کنید.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
کد الگوریتم ژنتیک را نیز نوشتم و پس از تکمیل توضیح هر دو کد آنرا نیز در کانال ارسال خواهم کرد.
در این دو نمودار قدرت الگوریتم ازدحام ذرات را به خوبی میتوانید مشاهده کنید.
پست شماره ۱۵ را مطالعه کنید.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏5