1. مقدمه
ایتالیا میتواند بر میراث زیرساختی غنی متشکل از پلها، پلهای راهراه و روگذر در شبکههای جادهای و ریلی حساب کند. توسعه اقتصادی مبتنی بر این زیرساختها است و برای جابهجایی کالاها و مواد خام که برای همه بخشهای اقتصاد اساسی هستند، ناگزیر به بخش حملونقل متکی است.
البته ایمنی کارهای زیرساختی نه تنها برای مقاصد تجاری مهم است، بلکه برای ایمنی میلیونها نفری که هر روز با آنها سفر میکنند اهمیت ویژهای دارد. تراژدی هایی مانند ریزش اخیر پل موراندی در جنوا نشان داده است که نظارت و شناخت کامل عناصر ساختاری این آثار از اهمیت اساسی برخوردار است.
یکی از مخاطرات مهم کشور لرزهخیزی است. ایتالیا یکی از کشورهای با خطر لرزهای بالا بهویژه در امتداد سواحل آپنین است و این امر مستلزم احتیاط شدید در طراحی و نگهداری کارهای زیربنایی است که طبیعتاً در برابر حرکات زمینی ناشی از زلزله آسیبپذیر هستند. به همین دلیل، در سال 2008 استانداردهای فنی ساخت و ساز [ 1 ] معرفی شد، سپس در سال 2018 به روز شد، که در آن، از جمله معیارهایی برای انجام تجزیه و تحلیل برای خطر لرزه ای تعریف شده است.
مهندسین عمران و سازه که با این مسائل سر و کار دارند برای انجام محاسبات لازم به نرم افزار مدلسازی حالت محدود یا FEA/FEM (روش تحلیل المان محدود/روش المان محدود) تکیه می کنند [2 ] . این نرم افزار از یک مدل سه بعدی سیستم برای تجزیه و تحلیل شروع می شود، آن را به قسمت های کوچکی تقسیم می کند که انجام محاسبات برای آنها آسان تر است، سپس به نتیجه نهایی می رسد [3 ، 4 ، 5 ] .
روش المان محدود (FE) یک تکنیک شبیهسازی جامعه محبوب است. از زمان ظهور آن در اواخر دهه 1940 به عنوان روشی برای تجزیه و تحلیل ساختاری، به طور مداوم به یک روش شبیه سازی پیچیده با کاربرد در بسیاری از رشته های علمی تبدیل شده است. همانند هر تکنیک عددی، این اشکال وجود دارد که شبیهسازیهای FE اطلاعاتی متناسب با اندازه مدل عددی تولید میکنند. برای شبیهسازی، تحلیلهای زمانی یا تکراری شامل مراحل شبیهسازی متعدد با حجم عظیمی از اطلاعات تولید شده است. در نتیجه، تکنیک های تجسم به طور قابل توجهی در طول چند دهه گذشته تکامل یافته اند و برای تفسیر داده های خروجی اجزا محدود ضروری شده اند.
تعدادی از بسته های نرم افزاری تجاری مبتنی بر واقعیت مجازی به تازگی در دسترس قرار گرفته اند، برای مثال [ 6 ، 7 ، 8 ]. با این حال، این محصولات انحصاری هستند، که پتانسیل و برنامه های افزودنی کاربران را از بین می برد زیرا کد منبع در دسترس عموم نیست. به عنوان مثال، کاربران نمی توانند ابزارهای آموزشی، پژوهشی و آموزشی جدیدی ایجاد کنند که مستقیماً بر این پلتفرم ها متکی باشند.
یکی از این نرم افزارها OpenSees [ 9 ] است که توسط دانشگاه برکلی ایجاد شده است که به عنوان جایگزینی برای نرم افزارهای تجاری موجود در بازار پیشنهاد شده است.
OpenSees یک پلت فرم تجزیه و تحلیل شناخته شده در تحقیقات مهندسی زلزله است زیرا یک حل کننده قدرتمند با بسیاری از مدل های مواد استاندارد و سازنده، انواع اجزای محدود، شرایط مرزی و قابلیت های تجزیه و تحلیل ارائه می دهد. تعداد زیادی از محققان به طور فعال در توسعه و ویژگی های نوآورانه آن مشارکت دارند. با این حال، مهندسان به دلیل نداشتن رابط کاربری گرافیکی، علاقه ای به استفاده از آن در حرفه خود ندارند. تجسم از طریق رابط کاربری گرافیکی مهم است. به همین دلایل، ایده تبدیل مدل های تولید شده در محیط OpenSees و توزیع آنها در یک محیط وب از طریق مرورگر، با امکان داشتن یک محیط کاربر پسند برای تأیید شبیه سازی های به دست آمده و انتشار آنها به تعداد زیادی از کاربران، متولد شد. ، متخصصان و دانشجویان.
پروژه شرح داده شده در این مقاله پیشنهاد میکند که کمک معتبری در بسط و تجسم نتایج این تحلیلها باشد، و آنها را در قالب یک گرادیان رنگ که مستقیماً به مدل سهبعدی کار اعمال میشود، ارائه میکند.
به منظور درج بهتر مدل در بافت طبیعی آن، تصمیم گرفته شد مدلی از زمین اطراف اضافه شود، با داده های ارتفاعی گرفته شده از DEM (مدل ارتفاعی دیجیتال) TINITALY/01 از INGV [10]، و بافت های به دست آمده از تصاویر ماهواره ای [ 11 ].
در سالهای اخیر، پیشنهاد و استفاده از پلتفرمهای وب که توسط مرورگرهایی که قبلاً بر روی رایانهها نصب شدهاند، افزایش یافته است. در نتیجه این امر منجر به مزایای قابل توجهی از جمله عدم وابستگی به سیستم عامل و نوع سخت افزار، انجام محاسبات پیچیده بر روی سرورهای راه دور و عدم نصب کننده می شود که می تواند منجر به حملات نرم افزارهای مخرب شود. به همین دلیل تصمیم گرفته شد که این مسیر را دنبال کنیم و یک برنامه وب نقشهکشی ایجاد کنیم که در آن دادهها به صورت جغرافیایی ارجاع میشوند و رندر سهبعدی در سمت مشتری از طریق کتابخانه جاوا اسکریپت Three.js انجام میشود [12 ، 13 ، 14 ، 15 ] .
2. مواد و روشها
2.1. سیستم GIS
سیستمهای اطلاعات جغرافیایی (GIS) سیستمهای اطلاعاتی رایانهای هستند که امکان جمعآوری، پردازش و نمایش دادههای مکانی مرجع جغرافیایی را فراهم میکنند. بنابراین سیستم کامپیوتری قادر است داده ها را با موقعیت آنها در سطح زمین مرتبط کند تا امکان پردازش، تجمیع، جستجو و نمایش آنها بر روی نقشه را فراهم کند [ 16 ].
کاربرد اصلی سیستم های GIS در کارتوگرافی دیجیتال، در مطالعه و بازنمایی پدیده های طبیعی و انسانی در ارتباط با قلمرو است.
سیستمهای GIS از یک بخش سختافزاری تشکیل شدهاند که شامل پردازندههایی است که در آن دادهها بر روی سیستمهای فایل یا پایگاههای اطلاعاتی ذخیره میشوند و یک بخش نرمافزاری که وظیفه جمعآوری دادههای ورودی، انجام پردازش و ایجاد ارتباط با کاربر را از طریق رابط کاربری (UI) بر عهده دارد. ).
2.2. سیستم WebGIS
در سال های اخیر، اتصال به اینترنت به طور قابل توجهی گسترش یافته است و امروزه یافتن دستگاهی (کامپیوتر، تبلت، گوشی هوشمند) که به شبکه متصل نباشد دشوار است. به همین دلیل، علاوه بر برنامه های دسکتاپ GIS [ 17 ]، یعنی به صورت محلی بر روی دستگاه نصب و اجرا می شود، برنامه های نقشه کشی بیشتری که از طریق مرورگر اجرا می شوند، به اصطلاح webGIS، رایج شده اند.
WebGIS مبتنی بر معماری کلاینت-سرور است: کلاینت که روی یک مرورگر اجرا می شود، وظیفه نمایش اطلاعات جغرافیایی و دریافت داده ها و دستورات ورودی را دارد. از طرف دیگر سرور داده های ورودی را پردازش می کند و داده های مورد نیاز را در قالب داده های عددی، بردار یا داده های جغرافیایی شطرنجی در اختیار مشتری قرار می دهد. روش وب دارای مزایای قابل توجهی است:
-
با تمام مشکلات ناسازگاری سخت افزار و نرم افزار که ممکن است به همراه داشته باشد، نیازی به نصب نرم افزار به صورت محلی نیست.
-
این امکان توسعه و نگهداری یک نسخه واحد از نرم افزار را فراهم می کند: مرورگرهایی که روی آنها اجرا می شود یک سطح اضافی از انتزاع هستند و مدیریت تفاوت ها، به عنوان مثال، بین محیط های Windows، Linux، MacOS به عهده آنهاست.
-
این قابلیت دسترسی به نرمافزار را از هر دستگاهی، در هر نقطه از جهان، تا زمانی که به اینترنت متصل است، دارد: اکثر webGIS ویژگیهای احراز هویت را ارائه میدهند که امکان دسترسی به دادههای شخصی و تنظیمات را پس از ورود به سیستم فراهم میکند.
-
اجرای هر پردازشی را می توان به جای روی دستگاه کاربر بر روی سخت افزار سرور انجام داد: این به ویژه در صورت پردازش سنگین اجازه می دهد تا اجرای خود را راه اندازی کند، از برنامه جدا شود و برای بررسی وضعیت پردازش بازگردد، بدون حفظ محلی. منابع مشغول [ 18 ، 19 ] هستند.
2.3. انواع داده ها
سیستم های GIS که با نمایش های گرافیکی داده ها کار می کنند، باید بتوانند فرمت های مختلفی را که در آنها ارائه می شوند، مدیریت کنند. دو دسته اصلی داده های برداری و داده های شطرنجی هستند.
2.3.1. داده های برداری
داده های برداری شامل بردارهایی است که حاوی اطلاعات عددی در مورد موقعیت نقاط مختلف تشکیل دهنده داده های جغرافیایی است. این داده ها می توانند نقطه ای، خطی یا چند ضلعی باشند. همانطور که در شکل 1 ، شکل 2 و شکل 3 مشاهده می شود . آنها معمولاً از دو بخش تشکیل شدهاند: خود بردار جغرافیایی که توسط سیستم GIS برای قرار دادن هندسه روی نقشه استفاده میشود و مجموعهای از ویژگیهای مرتبط با هندسه، که میتواند برای مثال هنگام انتخاب نقطه مورد نظر نمایش داده شود.
همانطور که در شکل 1 ، شکل 2 و شکل 3 نشان داده شده است ، هندسه های برداری می توانند از انواع زیر باشند:
-
وقت شناس: هر نقطه با 2 یا 3 مختصات توصیف می شود که موقعیت آن را نشان می دهد. از آنجایی که هندسه نمایش داده شده ندارند، معمولاً با یک نماد (دایره ها، مربع های رنگی) نشان داده می شوند که موقعیت آنها را نشان می دهد.
-
خطی: هر خط با یک شکست نشان داده می شود که در آن یک سری مختصات موقعیت بخش های آن را نشان می دهد. نقطه پایان یک بخش با نقطه شروع بخش بعدی مطابقت دارد.
-
چند ضلعی: با یک سری مختصات و همچنین هندسه های خطی نشان داده می شوند. با این حال، نقطه اولیه همیشه با نقطه پایان مطابقت دارد تا یک چندضلعی بسته به دست آید. ممکن است در چند ضلعی ها حفره هایی وجود داشته باشد که اغلب با ترتیب معکوس رئوس نسبت به چند ضلعی معکوس (جهت عقربه های ساعت/ خلاف جهت عقربه های ساعت) نشان داده می شود.
داده های برداری این مزیت را دارند که نمایش های عددی هستند و حتی در سطوح زوم بالای نقشه دچار تخریب نمی شوند، زیرا هندسه ها مجدداً محاسبه شده و مجدداً بر روی مختصات صفحه (به اصطلاح فضای صفحه نمایش) در زمان واقعی پیش بینی می شوند.
2.3.2. داده های شطرنجی
در داده های شطرنجی، اطلاعات جغرافیایی در پیکسل های یک شکل بیت مپ ذخیره می شود، بنابراین در یک شبکه با ابعاد ثابت.
سپس عملکردهای سیستم GIS به دلیل فراداده های مرتبط با تصویر، به درستی آن را روی نقشه قرار می دهد و رئوس آن را تغییر شکل می دهد تا با مختصات اولیه و نهایی نشان داده شده در ابرداده مطابقت داشته باشد.
در شکل 4 ، همان تصویر شطرنجی نمایش داده شده با دو سیستم مرجع مختصات متفاوت (CRS) دیده می شود. در سمت چپ CRS مورد استفاده مطابق با تصویر شطرنجی است، در حالی که در سمت راست سیستم GIS باید تغییر شکلی را برای تطبیق CRS تصویر با پروژه انجام میداد [7 ] . شکل 5 وضوح تصویر شطرنجی را نشان می دهد.
دادههای شطرنجی که از تعداد محدودی پیکسل تشکیل شدهاند، از کاهش وضوح و اثرات دانهدار در سطوح زوم بالا رنج میبرند. علاوه بر این، برخلاف دادههای برداری، معمولاً نمیتوانند چندین ویژگی مرتبط با یک پیکسل داشته باشند. با این حال، آنها برای نمایش پدیده های پیچیده ای که نمی توانند با هندسه نقطه ای یا چند ضلعی نمایش داده شوند مفید هستند [ 20 ، 21 ، 22 ].
2.4. تحلیل المان محدود
تجزیه و تحلیل اجزای محدود (FEM، روش اجزای محدود، یا به طور صحیح تر، FEA، تجزیه و تحلیل اجزای محدود)، یک تکنیک محاسباتی است که با استفاده از رایانه انجام می شود، که امکان مطالعه رفتار ساختاری یک سیستم را فراهم می کند. این ابزار معمولاً در مهندسی برای مطالعه رفتار سیستم های مکانیکی استفاده می شود.
تجزیه و تحلیل شامل ایجاد یک مدل سه بعدی (مش) از سیستم برای تجزیه و تحلیل و تقسیم آن به بسیاری از عناصر کوچکتر حل ساده ریاضی است. نتیجه کل با جمع کردن نتایج به دست آمده بر روی همه عناصر به دست می آید. تجزیه و تحلیل اجزای محدود به شما امکان می دهد نحوه واکنش سیستم به تنش های خارجی را مطالعه کنید، جابجایی ها، تغییر شکل ها و تنش هایی را که هر قسمت تحت آن قرار می گیرد را ثبت کنید. همانطور که در شکل 6 و شکل 7 نشان داده شده است .
2.4.1. تحلیل مودال با روش FEM
آنالیز مودال مطالعه خواص دینامیکی سازه ها تحت تحریک ارتعاشی است. بر روی مدل الاستیک خطی انجام می شود، بنابراین عناصر الاستیک نیز برای منحنی ها تعریف شده است. در مهندسی سازه، تحلیل مودال شامل استفاده از هر دو، یک ماتریس جرم سیستم و یک ماتریس سختی سیستم است. هدف تخمین فرکانسهای طبیعی (دورهها) و شکلهای حالت متناظر مرتبط با دینامیک سیستم است. توجه به این دوره های ارتعاش در مهندسی زلزله بسیار مهم است، زیرا مطلوب است که فرکانس طبیعی یک سازه با فرکانس زلزله های مورد انتظار در منطقه ای که ساختمان در آن ساخته می شود مطابقت نداشته باشد. اگر فرکانس طبیعی یک سازه با فرکانس یک زلزله مطابقت داشته باشد،
هدف تحلیل مودال در مکانیک سازه، تعیین اشکال و فرکانس حالت های طبیعی یک جسم یا سازه در حین ارتعاش آزاد است. برای انجام این تحلیل از روش المان محدود (FEM) استفاده می شود زیرا مانند سایر محاسبات با استفاده از FEM، شی مورد تجزیه و تحلیل می تواند شکل دلخواه داشته باشد و نتایج محاسبات قابل قبول است. انواع معادلاتی که از تحلیل مودال به وجود می آیند، آنهایی هستند که در سیستم های ویژه دیده می شوند. تفسیر فیزیکی مقادیر ویژه و بردارهای ویژه که از حل سیستم به وجود میآیند این است که آنها فرکانسها و حالتهای شکلهای متناظر را نشان میدهند. گاهی اوقات، تنها حالتهای مورد نظر، پایینترین فرکانسها هستند، زیرا ممکن است این حالتها مهمترین حالتهایی باشند که در آن جسم میلرزد و بر همه حالتهای فرکانس بالاتر تسلط دارد.23 ، 24 ].
برای اساسی ترین مسئله که شامل یک ماده الاستیک خطی است که از قانون هوک پیروی می کند، معادلات ماتریس به شکل یک سیستم جرم- فنر پویا سه بعدی است. معادله تعمیم یافته حرکت به صورت زیر است:
که در آن [M] ماتریس جرم است، [Ű] مشتق دوم جابجایی [U] (یعنی شتاب)، [Ŭ] سرعت، [C] یک ماتریس میرایی، [K] ماتریس سختی است، و [F] بردار نیرو است. مشکل کلی، با میرایی غیر صفر، یک مسئله مقدار ویژه درجه دوم است. با این حال، برای تجزیه و تحلیل مودال ارتعاشی، میرایی به طور کلی نادیده گرفته میشود و تنها عبارتهای 1 و 3 در سمت چپ باقی میمانند:
این شکل کلی سیستم خاص است که در مهندسی سازه با استفاده از FEM با آن مواجه میشویم. برای نشان دادن راه حل های ارتعاش آزاد سازه، حرکت هارمونیک را فرض می کنیم، به طوری که [Ű] برابر با ω2 [U] است، که در آن ω2 یک مقدار ویژه (با واحدهای زمان متقابل مجذور، [s -2]) و معادله است. کاهش می دهد به:
این مسئله مقدار ویژه فرکانس طبیعی سیستم را فراهم می کند که از طریق آن می توان بردارهای ویژه را محاسبه کرد که به طور فیزیکی با شکل حالت های سیستم، همانطور که قبلا ذکر شد، نمایش داده می شوند. فرکانسهای طبیعی محاسبهشده از مدل تحلیلی با عناصر مرزی الاستیک واقع در انتهای شانهها و انتهای ثابت برای ستونها مشتق شدهاند. اشکال حالت مربوط به فرکانس های طبیعی محاسبه شده پل برای جهات عمودی و عرضی رسم شده است.
2.4.2. تحلیل ریسک لرزه ای
ایتالیا کشوری است که با خطر لرزه ای بالا مشخص می شود. خسارات وارده چه از نظر اقتصادی و چه از نظر جانی بیشتر ناشی از ریزش یا آسیب جدی ساختمان ها و زیرساخت هاست. به همین دلیل، انجام تجزیه و تحلیل دقیق بر روی میراث زیرساختی ایتالیا، برای درک اینکه چگونه هزاران اثر موجود در این قلمرو (پل ها، راهروها، روگذرها) می توانند به یک رویداد لرزه ای احتمالی متناسب با خطر لرزه ای واکنش نشان دهند، مهم است. مکانی که در آن قرار دارند.
تحلیلی از این نوع میتواند بحرانی بودن کار را تشخیص دهد، احتمالاً همچنین مشخص کند که کدام عناصر به نظارت یا مداخلات تقویتکننده بیشتری نیاز دارند.
اولین قدم شناسایی خطر لرزهای در نقطهای که کار بالا میرود چیست: برای این منظور، INGV یک نقشه خطر لرزهای منتشر کرده است که PGA (شتاب اوج زمین) مورد انتظار را با احتمال 10 درصد در 50 نشان میدهد. سال در شکل 8 نشان داده شده است .
در سال 2008، استانداردهای فنی برای ساخت و ساز (NTC) [ 25 ] معرفی شد که روش هایی را تعریف می کند که بر اساس آن این تحلیل ها باید انجام شوند.
اول از همه، نه دوره بازگشت، مربوط به سال های 30، 50، 72، 101، 140، 201، 475، 975، 2475 شناسایی شده است. دوره بازگشت زمانی را نشان می دهد که از نظر آماری، یک رویداد با بزرگی خاص ممکن است تکرار شود.
سه مقدار برای هر یک از این دوره ها تعریف شده است:
-
Ag (یا PGA)، حداکثر شتاب افقی زمین؛
-
F0، حداکثر مقدار ضریب تقویت طیف در شتاب افقی.
-
T*C، دوره شروع بخش سرعت ثابت طیف در شتاب افقی.
این مقادیر طیف لرزه ای را که در شکل 9 نشان داده شده است، توصیف می کنند ، یعنی روند زمانی شتاب زمین برای آن بازگشت داده شده.
بر اساس طیف لرزهای، شتابنگاریهایی که در شبیهسازی استفاده میشوند به صورت عددی تولید میشوند. اینها سیگنالهای مصنوعی هستند که انحراف آنها نباید از 10% زیر و 30% بالاتر از طیف شروع تجاوز کند [ 26 ، 27 ، 28 ].
سپس نتایج بهدستآمده از تحلیل المان محدود دینامیکی در یک سری منحنیهای شکنندگی مرتبط با کار خلاصه میشود. این منحنی ها احتمال رسیدن به سطح معینی از آسیب را نشان می دهد که ممکن است نمایانگر خفیف، متوسط، شدید یا فروپاشی زیرساخت باشد [ 29 ، 30 ].
2.5. نرم افزار OpenSees
OpenSees (سیستم باز برای شبیه سازی مهندسی زلزله) یک چارچوب نرم افزاری برای شبیه سازی پاسخ لرزه ای سیستم های سازه ای و ژئوتکنیکی با استفاده از شبیه سازی اجزای محدود است.
OpenSees منبع باز است و در اصل به عنوان یک پلت فرم محاسباتی برای تحقیقات مهندسی زلزله در مرکز تحقیقات مهندسی زلزله اقیانوس آرام، برنامه تحقیقاتی دانشگاه برکلی کالیفرنیا، توسعه داده شد.
این چارچوب دارای قابلیت های پیشرفته ای برای مدل سازی و تحلیل سیستم ها با استفاده از انتخاب گسترده ای از مدل ها، عناصر و الگوریتم های وضوح است. همچنین برای محاسبات موازی آماده شده است، بنابراین مقیاس پذیری شبیه سازی ها را تضمین می کند، [ 31 ، 32 ، 33 ، 34 ] نشان داده شده در شکل 10 .
OpenSees از متدولوژی های شی گرا برای ارائه حداکثر ماژولاریت و توسعه پذیری استفاده می کند، که عمدتاً در C++ با کتابخانه های عددی در Fortran و C نوشته شده است.
فایل اجرایی اساساً یک مفسر مبتنی بر زبان برنامه نویسی TCL است که همراه با فریم ورک نصب می شود و سپس فایل های ورودی مطابق با قوانین آن زبان نوشته می شوند.
اجرای یک شبیه سازی با استفاده از OpenSees به سه مرحله اساسی تقسیم می شود:
2.5.1. ایجاد مدل
OpenSees عناصر تیر-ستون و عناصر پیوسته را برای ایجاد مدلهای ساختاری و ژئوتکنیکی فراهم میکند. طیف گسترده ای از مواد تک محوری و مقاطع برای عناصر تیر-ستون نیز موجود است.
فرآیند ایجاد مدل شامل تولید یک یا چند فایل xtcl. حاوی اطلاعات مربوط به سیستم است. به طور خاص، همانطور که در شکل 11 نشان داده شده است، گره ها، مواد، مقاطع، عناصر متصل کننده گره ها و توده هایی که به گره ها اعمال می شوند باید تعریف شوند .
این اطلاعات به ماژول ModelBuilder منتقل می شود، که وظیفه تولید یک مدل ریاضی از سیستم شبیه سازی را بر عهده دارد.
2.5.2. انواع آنالیز
تحلیل غیرخطی به الگوریتمها و روشهای تفکیک مختلفی نیاز دارد. OpenSees هر دو روش غیرخطی ایستا و پویا، حل کننده های معادله و روش هایی را برای مدیریت محدودیت ها ارائه می دهد.
تجزیه و تحلیل دینامیکی که برای این پروژه با توجه به نشانه های NTC 2008 انجام شده است، استفاده از 9 زمان بازگشت را پیش بینی می کند که در 30، 50، 72، 101، 140، 201، 475، 975 و 2475 برای هر یک از آنها تعیین شده است. مقادیر ag، f0، T*c با توجه به خطر لرزه ای محلی در محل کار استخراج می شوند. با شروع از این 3 مقدار، به اصطلاح سیگنالهای مصنوعی به صورت عددی ایجاد میشوند، یعنی شتابنگاریهای تصادفی در مختصات X (طولی نسبت به کار) و Y (عرضی) که pga (شتاب اوج زمین) معمولی را بازتولید میکنند. زمين لرزه. طبق NTC08، هر شتاب نگاری برای حداقل مدت زمان 25 ثانیه تعریف شده است.
تجزیه و تحلیل نرم افزار OpenSees پاسخ زیرساخت به کنش لرزه ای را شبیه سازی می کند و نیروهای اعمال شده به عناصر مختلف آن و جابجایی های متعاقب آن را ثبت می کند.
2.5.3. حل الگوریتم ها
رویههای تکراری افزایشی اصلی در OpenSees برای تحلیل غیرخطی موجود هستند. الگوریتم های موجود نیوتن-رافسون، نیوتن-رافسون با جستجوی درون خطی، و برودن و مشتقات هستند. الگوریتمها به ترتیب ارائهشده استفاده میشوند، بعداً در صورتی که همگرایی قبلی با شکست مواجه شود [ 35 ، 36 ].
-
الگوریتم نیوتن-رافسون پرکاربردترین و قویترین روش تکراری برای حل مجدد سیستمهای معادلات جبری غیرخطی است. همچنین از نظر تلاش محاسباتی بیشترین تقاضا را دارد زیرا ماتریس سختی باید در هر مرحله تکرار به روز شود.
-
الگوریتم نیوتن-رافسون با جستجوی خطی، جستجوی خطی را برای حل معادله باقیمانده غیرخطی معرفی میکند. جستجوی خطی اثربخشی روش نیوتن را زمانی که همگرایی به دلیل ناهمواری باقیمانده کند است، افزایش می دهد. ماتریس سختی در هر مرحله به روز نمی شود. این به معنای کاهش تلاش محاسباتی است که مزیت این روش است. عیب این روش این است که نیاز به تکرارهای بیشتری نسبت به روش نیوتن دارد، بنابراین همگرایی کندتر است.
-
الگوریتم برویدن برای سیستم های غیر متقارن عمومی است. این به روز رسانی های متوالی رتبه یک مماس را در اولین تکرار مرحله زمانی انجام می دهد. این الگوریتم فقط در موارد بحرانی استفاده میشود، زیرا الگوریتم تکرارها را در نقاطی متمرکز میکند که حل مشکل همگرایی دارد، بنابراین همگرایی کندتر است.
2.5.4. خروجی تحلیل
OpenSees اجازه می دهد تا تصمیم بگیرد که چه مقادیری باید پس از اجرای شبیه سازی، از طریق ضبط کننده ها در فایل ذخیره شوند. اینها دوباره در یک فایل xtcl. فهرست می شوند، که در آن برخی از پارامترها نشان داده شده است، برای مثال ضبط کننده باید روی کدام عنصر عمل کند (گره ها یا عناصر)، فایل خروجی که در آن نتایج ذخیره می شود، نوع نتیجه در آن. ذخیره (localForce، BasicDeformation، و غیره)
خروجی تجزیه و تحلیل را می توان در 3 فایل با پسوند .out پیدا کرد:
- –
-
recorderNodeDisplacements.out
- –
-
recorderEleLocalForces.out
- –
-
ecorderEleBasicDeformation.out
برای اهداف مطالعه موردی، فایلی که در نظر گرفته خواهد شد recorderNodeDisplacements.out خواهد بود که در آن 6 مقدار برای هر گره مدل وجود دارد: جابجایی در 3 محور X، Y، Z و چرخش آن. ، همیشه در 3 محور.
این یک فایل متنی است که در آن خط اول نشاندهنده مقداردهی اولیه مدل است و یک سری صفر را دوباره گزارش میدهد، در حالی که خطوط بعدی نتیجه 25 ثانیه شبیهسازی با مراحل 0.01 ثانیه و در مجموع 2500 خط است.
3. مطالعه موردی: تجسم خطر لرزه ای
ایده اصلی پروژه آزمایشی این است که نتایج شبیهسازیهای انجام شده با استفاده از نرمافزار OpenSees را مستقیماً بر روی یک مدل سهبعدی از کار زیرساختی، از طریق استفاده از درجهبندیهای رنگی برای نشان دادن دامنه تنشهای متحمل شده، تجسم کنیم.
برای قرار دادن بهتر اثر در محیط واقعی که در آن واقع شده است، تصمیم گرفته شد که مدل سه بعدی محیط اطراف، به دست آوردن ارتفاع از DEM (مدل ارتفاع دیجیتال) در وب سایت INGV و بافت از نقشه های ماهواره ای
3.1. رویکرد پیاده سازی
برای اهداف پروژه، همانطور که در جدول 1 نشان داده شده است، بر روی هشت اثر (پل ها، پل های عبوری، پل هوایی) به عنوان نمونه هایی از میراث زیرساختی ایتالیا تمرکز کردیم . از این کارها، مدل OpenSees ایجاد شده است و تجزیه و تحلیل های دینامیکی طبق استانداردهای NTC08 انجام شده است.
برای تجسم نتایج شبیه سازی، یک برنامه GIS با دسترسی از یک مرورگر وب انتخاب شد. رابط برنامه از دو صفحه اصلی تشکیل شده است:
-
اولین صفحه ای که در آن یک نقشه کلاسیک دو بعدی از ایتالیا به تصویر کشیده شده است، که در آن می توان زیرساخت هایی را انتخاب کرد که می خواهید نتایج را از طریق آن تجسم کنید، کلیک کنید، همانطور که در شکل 12 نشان داده شده است .
-
صفحه دوم که پس از انتخاب، رندر سه بعدی کار و محیط اطراف آن مطابق شکل 13 اجرا می شود .
در همین صفحه ابزارهایی برای انتخاب نوع نتیجه برای نمایش وجود دارد. از آنجایی که استانداردهای NTC08 زمان شبیهسازی 25 ثانیه را نشان میدهند، که در آن تنشهای متحمل شده در نتیجه یک شتابنگاری خاص اندازهگیری میشوند، تصور میشد که ویژگیهای انیمیشنی را ارائه میدهد تا امکان مشاهده بیدرنگ چگونگی تغییر تنشها در طول زمان را فراهم کند. شتابنگارها (روی محورهای X، طولی با توجه به کار، و Y، عرضی) که به عنوان ورودی برای شبیه سازی استفاده می شوند نیز نمایش داده می شوند.
3.2. مدل دیجیتال ارتفاع
DEM مورد استفاده TINITALY/01 است، قابل دانلود از وب سایت INGV ( https://tinitaly.pi.ingv.it/ ، در 25 ژوئن 2021). مدل ارائه شده در سال 2007، از DEM های منفرد مناطق مختلف اداری ایتالیا شروع می شود و دارای وضوح 10 متر در هر پیکسل است، همانطور که در شکل 14 نشان داده شده است . در قالب GeoTIFF، با طرح UTM WGS84، منطقه 32 موجود است.
تمام GeoTIFF مربوط به موقعیت آثار در نظر گرفته شده از وب سایت INGV دانلود شده است. از آنجایی که کاشی های دانلود شده مساحت بسیار زیادی را پوشش می دهند، با استفاده از نرم افزار QGIS اقدام به برش منطقه مورد نظر (مساحت 1 کیلومتر × 1 کیلومتر با مرکز مختصات کار) کردیم. سپس فایل با فرمت ENVI ذخیره شد، که داده GeoTIFF را به عنوان یک بردار ساده از دادههای باینری ارائه میکند و آماده خواندن توسط کتابخانه گرافیکی Three.js است که در قسمت جلویی برای تخصیص ارتفاع به مش سهبعدی استفاده میشود. .
هر پیکسل در قالب ENVI با 4 بایت نمایش داده می شود که یک مقدار ممیز شناور (نقطه شناور) با دقت 32 بیت را تشکیل می دهد. ترتیب بایت ها LSF است (ابتدا کمترین اهمیت را دارد). فرمت ممیز شناور به شما این امکان را می دهد که از داده ها به طور مستقیم در Three.js بدون نیاز به هیچ نوع تبدیلی استفاده کنید، فرآیند را ساده می کند و وضوح عالی را تضمین می کند.
مجدداً، از طریق QGIS، پسوند لایه بهدستآمده از DEM برای ذخیره برای فایل کردن بخش مربوطه از نقشه ماهوارهای منطقه مورد استفاده قرار گرفت، که بعداً به عنوان بافتی برای اعمال روی مش زمین استفاده میشود.
3.3. OpenSees: پیش پردازش و پس پردازش
در مرحله پیش پردازش، تجزیه و تحلیل از طریق چارچوب OpenSees با استفاده از فایل .tcl انجام می شود که تمام ویژگی های مدل را توصیف می کند. مدل از حالت در زمان t به حالت در زمان t + dt تغییر می کند. این تغییر را می توان با یک تحلیل استاتیکی خطی ساده یا با تحلیل گذرای غیرخطی (تحلیل گذرا، تحلیل گذرای متغیر) انجام داد. به طور کلی، اشیاء تجزیه و تحلیل برای حل مسئله معادله تعادل وابسته به زمان زیر برای یک تحلیل گذرا استفاده می شود:
که در آن F I بردار نیروی اینرسی وابسته به شتاب است، F Rبردار نیروی مقاوم به سرعت (میرایی) و وابسته به جابجایی (سفتی) است. P(t) بردار نیروی اعمالی خارجی است. بردارهای شتاب، سرعت و جابجایی همگی وابسته به زمان هستند. در OpenSees هر شی تجزیه و تحلیل از چندین مؤلفه تشکیل شده است که نوع تجزیه و تحلیل و نحوه انجام تجزیه و تحلیل را مشخص می کند. فایلهای tcl که مدل را توصیف میکنند با یک نحو بسیار دقیق مشخص میشوند، بخشهای هندسی مورد علاقه ما عناصر و گرهها هستند. عناصر منفرد سیستم (خطوط) در نقاط پایانی خود (گره ها) مرتبط هستند. در مرحله پس پردازش مدل، آنها دو فایل ضروری تولید می کنند که مربوط به عناصر (فایل: element.xtcl) و نقاط انتهایی (پرونده: nodes.xtcl) است، این دو فایل تمام پارامترهای انجام شده را به هم مرتبط می کنند. شبیه سازی ها
3.4. معماری سیستم
گردش کار پروژه شامل استفاده از یک مؤلفه آفلاین است که باید یک بار هنگام اضافه کردن یک کار جدید به نام «ابزار تبدیل» اجرا شود. این جزء به فایل های خروجی OpenSees اجازه می دهد تا با فرمت های مورد نیاز برنامه تطبیق داده شوند.
هنگامی که فایل های لازم ایجاد می شوند، برنامه وب از معماری سرویس گیرنده-سرور پیروی می کند، همانطور که در شکل 15 نشان داده شده است .
3.5. ابزار تبدیل
ابزار تبدیل در جاوا ساخته شده است. در همان پروژه برنامه تحت وب، در یک بسته رزرو شده به نام «پردازش» قرار دارد. کلاس تجزیه و تحلیل پردازش، خواندن برخی از فایل های خروجی OpenSees و تولید فایل های مورد نیاز برنامه با فرمت JSON.
اولین عملیاتی که ابزار انجام می دهد، بارگیری در حافظه داده های موجود در فایل های nodes.xtcl و element.xtcl از طریق روش های زیر است:
loadFileNodes (نام فایل رشته)
loadFileElements (نام فایل رشته) |
داده های گره ها و عناصر مدل در ساختارهای داده در حافظه ذخیره می شوند، به ویژه HashMaps با شناسه گره/عنصر به عنوان کلید، با استفاده از کلاس های کمکی گره و عنصر:
public Map<Integer, Node> nodesList;
public Map<Integer, Element> elementList; |
شکل 16 مدل تولید شده برای تحلیل OpenSees را نشان می دهد: نقاط سفید نشان دهنده گره ها و خطوط سبز عناصری هستند که آنها را به هم متصل می کنند.
OpenSees به هر گره از مدل یک بخش را مرتبط می کند. سپس اکستروژن این بخش نشان دهنده چیزی است که در رابط نمایش داده می شود و در فایل bridge_model.csv ذخیره می شود. گام بعدی بارگذاری مدل سه بعدی در حافظه و مرتبط کردن گره مرجع به هر وجه است. همان مدل شکل 16 را می توان در شکل 17 با بخش های مرتبط با هر گره مشاهده کرد .
OpenSees داده ها را به صورت متوالی ذخیره می کند، بنابراین کافی است بین تمام عناصر فایل bridge_model.csv و عناصر elementList آن چرخه بزنید تا ارتباط درستی داشته باشید.
تمام این عملیات از روش انجام می شود
loadFileModel (نام فایل رشته) |
پس از اینکه مدل در حافظه بارگذاری شد و در فایل json. ذخیره شد، تنها برای ایجاد فایلهایی باقی میماند که برای تمسازیهای مختلف استفاده میشوند. در داخل دو چرخه تو در تو که تمام زمانهای بازگشت و سه نوع خروجی مورد نیاز را در نظر میگیرند، ابتدا فایلهای شتابنگاری با فرمت json. خوانده و از طریق روش زیر ذخیره میشوند:
creaJsonAccel (شناسه رشته، String tr، String simul، String dir) متعاقباً با روشهای loadFileNodeDisplacements (نام فایل رشته، نتیجه رشته) creaJsonTematization (int t)
اجرا میشود. |
اولی به خواندن فایل RecorderNodesDisplacement_[tr]-1 و استخراج مجدد نتیجه مورد نیاز میپردازد، در حالی که دومی، از این نتایج، یک ساختار json ایجاد میکند که در آن برای هر گره، مقادیر RGB بهطور مناسب فهرست شده است و حداقل و حداکثر مقادیر مورد استفاده برای پر کردن افسانه.
همه فایلهای RecorderNodesDisplacement از دنبالههایی از [تعداد گرهها] * 6 عنصر تشکیل شدهاند که 6 مقدار نشان میدهند:
-
جابجایی محور X
-
جابجایی محور Y
-
جابجایی محور Z
-
چرخش محور X
-
چرخش محور Y
-
چرخش محور Z
برای اهداف پروژه، سه مورد اول در نظر گرفته شده است، زیرا چرخش عناصر بسیار مهم نیست.
این فایل نتایج را در 25 ثانیه شوک شبیه سازی شده، با مراحل 0.01 ثانیه، در مجموع 2500 ردیف ثبت می کند. به منظور مدیریت پذیر نگه داشتن ساختارهای داده، تصمیم گرفته شد که نتایج را هر ثانیه نمونه برداری کنیم، بنابراین 25 مجموعه داده مربوط به 25 ثانیه شبیه سازی به دست آمد. سپس مجموعه داده ها در یک آرایه در ساختار json ذخیره می شوند.
فایلهای بهدستآمده از رویه را میتوان در نهایت در پوشه WebContent/assets/[work id]/پوشه پروژه کپی کرد تا در زمان درخواست به front-end ارائه شود.
3.6. Back-End
back-end در جاوا تحقق می یابد و از طریق سرور برنامه Tomcat اجرا می شود. این مبتنی بر استفاده از servlet ها است که در بسته مناسب “servlet” جمع آوری شده و توسط URL از قسمت جلویی فراخوانی می شود. سرورهای لازم در فایل WebCon-tent/WEB-INF/web.xml ثبت می شوند تا به سرور اجازه دهند مکان آنها و آدرس اینترنتی که باید به آن پاسخ دهند را بدانند.
با توجه به سادگی معماری سیستم، back-end از دو سرور اصلی تشکیل شده است:
اولین مورد GetFeatures نام دارد و به خواندن داده های مربوط به نقاط مورد علاقه از سیستم فایل، سازماندهی آنها در فرمت json و ارسال آنها به قسمت جلویی، جایی که آنها به صورت لایه روی نقشه نمایش داده می شوند، مراقبت می کند. فایلی که این داده ها در آن ذخیره می شوند با فرمت CSV است و “opere_feat.csv” نام دارد. مکان آن در فایل سیستم از طریق فایل “config.conf” قابل تنظیم است.
دومی GetDatiOpera نام دارد و در زمان انتخاب یک اثر، تمام داده های لازم برای تجسم آن را در اختیار شما قرار می دهد و سپس:
-
طول و عرض جغرافیایی مدل؛
-
جهت گیری نسبت به شمال و ارتفاع پایین ترین پی آن.
-
حدود عرض و طول جغرافیایی مش زمین (حداقل و حداکثر عرض جغرافیایی، حداقل و حداکثر طول جغرافیایی)؛
-
ابعاد X و Y شبکه زمین بر حسب متر.
این داده ها همچنین در یک فایل CSV. به نام “data_opere.csv” در همان پوشه در سیستم فایل فایل قبلی ذخیره می شوند.
3.7. Front-End
قسمت جلویی از برخی کتابخانه های کمکی برای تجسم جغرافیایی و سه بعدی استفاده می کند. کتابخانه های مورد استفاده در جدول 2 آورده شده است :
وب اپلیکیشن به اصطلاح یک اپلیکیشن تک صفحه ای است. این به این معنی است که بین صفحات مختلف HTML مانند یک وب سایت معمولی پیمایش وجود ندارد، اما کل برنامه در یک صفحه HTML بارگذاری می شود که در صورت لزوم از طریق توابع جاوا اسکریپت به روز و اصلاح می شود.
صفحه خوش آمد index.html است که ساختار اولیه بسیار ساده ای دارد:
<body>
<div id=”mainDiv”>
<div id=’map’></div>
<div id=’div3d’>
<div id=”sliderOuter”>
<div id=”sliderDiv”>
</div >
</div>
</div>
</div>
</body> |
در یک DIV اصلی (“mainDiv”) که کل صفحه را اشغال می کند، “نقشه” و “div3d” DIV ایجاد می شود. دومی در ابتدا از طریق نمایش دستورالعمل CSS نامرئی اعلام می شود: هیچکدام.
ایجاد محتوا به توابع موجود در فایل mainapp.js محول می شود. به خصوص:
window.onload = function(e) {
setupMap();
loadBaseLayer();
loadLayerPonti();
} |
تابع onload شی پنجره به طور خودکار توسط مرورگر زمانی که همه اجزای HTML بارگذاری می شوند فراخوانی می شود و بنابراین نشان دهنده مقداردهی اولیه برنامه ما است. در این لحظه، آنها توابع خاصی را که برای تجسم نقشه لایه های باز سروکار دارند، یادآوری می کنند.
در زیر بخش هایی از کد مهم برای ایجاد نقشه آمده است:
olMap = new ol.Map({
layers : [],
target : ‘map’,
view : new ol.View({
center : ol.proj.fromLonLat(centerCoordDefault),
zoom : zoomStartDefault, maxZoom
: 19,
minZoom : 6
)
}) |
و برای بارگذاری لایه پایه OpenStreetMap:
var newBaseLayer = new ol.layer.Tile({
منبع : new ol.source.OSM({
url : “ https://tile.openstreetmap.org/{z}/{x}/{y}.png ,
crossOrigin : null
}),
id : ‘base_layer’,
name : “Base Map”
});
olMap.addLayer(newBaseLayer); |
همیشه با استفاده از توابع Openlayers، عملکرد انتخاب کلیک به نقشه اضافه شده است که به شما امکان می دهد پنجره پاپ آپ را باز کنید.
تجسم سه بعدی با استفاده از کتابخانه Three.js تحقق می یابد. با شروع نسخه r106، روش توصیه شده برای استفاده از این کتابخانه استفاده از ماژولهایی است که توسط ECMAscript نسخه 6 تعریف شدهاند، که اغلب ماژولهای ES6 نامیده میشوند [ 38 ، 39 ]. این معماری ماژولار برای درج مفهوم “کلاس” در جاوا اسکریپت ایجاد شده است که قبلاً در زبان های دیگر مانند C++ و جاوا وجود دارد، تا امکان وارد کردن در پروژه تنها عملکردهای مورد نیاز یک کتابخانه داده شده و محدود کردن دامنه متغیرها خطر همپوشانی معمولی استفاده از متغیرهای سراسری را کاهش میدهند و خاصیت ارتجاعی زبان جاوا اسکریپت را کاهش میدهند که بهعنوان یک خطا نشاندهنده اعلام چندگانه یک متغیر نیست.
مفهوم یک ماژول ES6 این است که هر چیزی که در داخل آن اعلام شده است، به غیر از روش هایی که به صراحت از طریق دستورالعمل صادر می شوند، به بیرون قابل مشاهده نیستند.
از خارج، عملکردهای لازم ماژول را می توان از طریق دستورالعمل وارد کرد:
وارد کردن {
funzione
} از ‘./modulo.js’; |
در این پروژه، ماژول ایجاد شده ویژه page3D.js ارائه شده است که یک تابع واحد، render3Dview را صادر می کند، که به نوبه خود کتابخانه three.js را وارد کرده و رندر صحنه سه بعدی را انجام می دهد.
عملیات اصلی انجام شده توسط render3Dview عبارتند از:
برای تسهیل تولید عناصر رابط، دو مؤلفه سفارشی ایجاد شده است که از پتانسیل بوم HTML5 استفاده می کند:
-
slider.js : این کامپوننتی است که دو دکمه (بازی و توقف) و نوار لغزنده زمان را با یک نوار لغزنده نشان می دهد. هنگامی که Play فشار داده میشود، یک تابع setInterval ایجاد میکند که در هر بازه از پیش تعریفشده، یک تابع پاسخ به تماس مشخص شده توسط کاربر را اجرا میکند. در همان زمان، نوار لغزنده را در نوار اسکرول پیش می برد، بنابراین یک انیمیشن بلادرنگ ایجاد می کند.
-
acceler_graph.js: نموداری را از آرایهای از دادهها ترسیم میکند و دادههای بصریشده را بر اساس ارتفاع DIV که در آن درج شده است، مقیاس میدهد. این امکان تنظیم یک نوار عمودی را فراهم می کند، بنابراین هماهنگی با موقعیت نوار لغزنده انیمیشن را درک می کند.
3.8. رندر سه بعدی
کتابخانه Three.js همه ابزارهای لازم را برای ایجاد یک صحنه سه بعدی کامل با اشیاء سه بعدی، نورها، دوربین ها و جلوه ها در یک صفحه وب معمولی فراهم می کند.
نمودار مفهومی یک صحنه Three.js در شکل 18 نشان داده شده است .
رندر شیئی است که تمام آنچه در یک صحنه وجود دارد را بر روی صفحه نمایش می دهد، گویی کاربر در نقطه ای قرار گرفته است که دوربین در آن حضور دارد، یعنی یک دوربین واقعی با موقعیت، جهت و میدانی از نمای (FOV) که صحنه را قاب می کند.
در داخل صحنه، همه اشیایی را مییابیم که مجموعهای را که میخواهیم قاب کنیم، تشکیل میدهند: مش اشیاء سه بعدی واقعی هستند که به نوبه خود از هندسه، هندسههای چند ضلعی که ظاهر آن را توصیف میکنند، و مواد، موادی که رنگ، خواص انعکاس نور و غیره را مشخص میکنند. این مواد میتوانند به بافتها و برگردانهای شطرنجی اشاره داشته باشند که در هندسهها اعمال میشوند.
اشیایی که روی دوربین قاب میشوند، روی صفحه نمایش داده میشوند که اصطلاحاً «frustum» نامیده میشود. “Frustum” یک ناحیه هرمی شکل کوتاه شده است که توسط FOV دوربین و صفحات برش دور و نزدیک محدود شده است.
نمایشی از frustum در شکل 19 قابل مشاهده است .
اهمیت زیادی در هر فضای سه بعدی، سیستم مختصات است: اگرچه آنها همیشه از سه محور X، Y، Z تشکیل شده اند، در برخی موارد ما Z را به عنوان محور عمودی در نظر می گیریم، در برخی دیگر از Y. Three.js استفاده می کند. قرارداد اخیر، همانطور که در شکل 20 نشان داده شده است .
از آنجایی که در سیستم های جغرافیایی مقادیر طول و عرض جغرافیایی اغلب به مختصات X و Y گزارش می شوند، استفاده از سیستم مرجعی که در آن محور Z با ارتفاع و سپس محور عمودی مطابقت دارد، راحت تر است. خوشبختانه، کتابخانه امکان تغییر سیستم مرجع را از طریق یک تابع واحد فراهم می کند:
THREE.Object3D.DefaultUp = جدید THREE.Vector3(0, 0, 1); |
این تابع یک بردار واحد در جهت Z ایجاد می کند و آن را به بردار که “بالا” در نظر گرفته می شود (بالا) اختصاص می دهد. به این ترتیب به حالت دلخواه بازگشته اید.
3.8.1. رندر چند ضلعی
در پایه تکنیک های رندر مورد استفاده توسط three.js رندر چند ضلعی است. این تکنیک شامل تقریب هر جسمی است که در یک فضای سه بعدی به مجموعه ای از چند ضلعی ها نشان داده می شود، و به طور خاص همه چیز با مثلث هایی به نام چهره نشان داده می شود که در شکل 21 قابل مشاهده است .
ترتیب فهرستبندی سه راس مثلث مهم است، زیرا مشخص میکنند که آیا رو به دوربین است یا جهت دیگر، بهویژه، three.js از یک قرارداد خلاف جهت عقربههای ساعت استفاده میکند، همانطور که در شکل 22 نشان داده شده است .
کمیت مهمی که باید برای هر مثلث محاسبه شود نرمال آن است. این یک بردار واحد عمود بر صفحه تشکیل شده توسط رئوس مثلث است که در مقایسه با زاویه تابش منبع نور (یا منابع در حالت روشنایی چندگانه) امکان تعیین درجه روشنایی آن وجه را فراهم می کند.
در مثال شکل 23 ، N1، N2، N3 و N4 نرمال های چهار وجهی هستند که مش را تشکیل می دهند.
در جدیدترین موتورهای رندر، این مقدار برای هر نقطه از وجه با در نظر گرفتن نرمال وجه های همسایه درون یابی می شود. این تکنیک که نام Gouraud Shading را به خود می گیرد، به شما امکان می دهد تا اشکال هماهنگ تری ایجاد کنید و نه “وجهی” مانند آنچه که با نورپردازی صاف برای هر چهره (سایه زدن مسطح) به دست می آید.
در کتابخانه Three.js، اولین قدم برای ایجاد یک مش چند ضلعی، تعریف هندسه آن است. برای این منظور می توانید از شی THREE.BufferGeometry استفاده کنید که جایگزین THREE.Geometry قبلی می شود. BufferGeometry در واقع با آرایههای یک بعدی نشان داده میشود که در آن مختصات X، Y، Z هر نقطه در زیر فهرست شدهاند، بدون اینکه اشیا حاوی آنها باشند. این رویکرد، اگرچه برای توسعهدهنده کمتر بصری است، به کتابخانههای webGL اجازه میدهد عملکرد قابل توجهی را افزایش دهند.
در مواردی که بسیاری از رئوس بین چندین وجه مشترک هستند، همانطور که اغلب اتفاق میافتد، میتوانید آنها را یک بار در آرایه موقعیت فهرست کنید و سپس یک آرایه شاخص دوم ایجاد کنید که به سادگی ارجاعات راس هر وجه را فهرست میکند.
هنگامی که دو آرایه با داده های مدل پر شدند، می توان آنها را از طریق دستورالعمل با Buffer-Geometry مرتبط کرد:
geometry.setAttribute(‘position’, new THREE.Float32BufferAttribute(راس, 3));
geometry.setIndex( indices ); |
که در آن یک شیء مناسب از Three.js، Float32BufferAttribute، که از بردار شروع میشود، ایجاد میکند، و سپس به ویژگی «موقعیت» هندسه بافر اختصاص مییابد.
در عوض آرایه شاخص ها مستقیماً از طریق تابع مجموعه Index تنظیم می شود. رنگبندی مدل در این طرح وابسته به مقدار مطمئنی است که از رئوس در نظر گرفته شده است (مرتبط با گرههای شبیهسازی، v. 4.3.1). بنابراین، به جای بافتهای اعمال شده روی مدل، از تکنیکی به نام سایهزنی راس استفاده میشود که اجازه میدهد تا یک رنگ را به هر رأس شکل اختصاص دهیم. سپس موتور رندر رنگها را در سراسر سطح صورت درونیابی میکند، همانطور که در شکل 24 قابل مشاهده است .
این کار با تنظیم ویژگی vertexColors روی true در مواد امکان پذیر است:
const material = new THREE.MeshPhongMaterial
({ ambient: 0x050505, vertexColors: true, specular: 0x5555, shininess: 0 }); |
و سپس یک ویژگی جدید (“رنگ”) از هندسه را تنظیم کنید، یک آرایه حاوی مولفه های R، G، B نرمال شده بین 0.0 و 1.0 از هر راس، geometry.setAttribute(‘color’, new THREE.Float32BufferAttribute(رنگ ها، 3))
3.8.2. تعیین ارتفاع
مش که نمایانگر قسمتی از زمین اطراف کار است یک هندسه صفحه ساده است:
const geometry = جدید THREE.PlaneGeometry(1000, 1000, 99, 99); |
از آنجایی که ابعاد واقعی منطقه 1000 × 1000 متر است، تولید مش با همان ابعاد (پارامترهای 1 و 2) راحت است. پارامترهای سوم و چهارم نشان دهنده تعداد زیربخش هایی است که هواپیما باید روی محورهای X و Y داشته باشد.
با تقسیم هندسه به 99 بخش در هر طرف، دقیقاً 100 راس داریم، عددی برابر با مقادیری که از DEM استخراج کردیم.
در این مرحله، پس از خواندن مقادیر فایل ENVI که قبلاً در پوشه/assets ذخیره شده بود، کافی است آنها را در آرایه ای از نوع Float32Array ذخیره کنید و مقدار Z آرایه “موقعیت” هندسه را روی آن بازنویسی کنید. همانطور که در شکل 25 نشان داده شده است، داده های ارتفاع را در مدل زمین لحاظ کنید .
3.8.3. بافت زمین
بافتی که باید روی مش زمین اعمال شود از طریق QGIS به دست آمد. در واقع، این برنامه اجازه می دهد تا یک لایه “XYZ Tiles” اضافه کنید که اتصالات سفارشی را می پذیرد. انتخاب سرویسی که نقشه های ماهواره ای را ارائه می دهد کافی است. در این مرحله از طریق ابزار “تبدیل نقشه به شطرنجی” می توان قسمت مورد نظر از نقشه را به عنوان GeoTIFF در سیستم فایل ذخیره کرد. پسوند توسط لایه ای که قبلاً از DEM بریده شده است داده می شود. اندازه کاشی 1000 برابر متر مساحت مورد نظر و “واحد نقشه در هر پیکسل” برابر با 1 انتخاب می شود. به این ترتیب برای هر متر زمین 1 پیکسل خواهیم داشت که تضمین کننده خوب است. کیفیت بافت بدون وضوح بسیار بالا که عملکرد برنامه را به خطر می اندازد.
فرمت GeoTIFF یک فرمت بدون اتلاف است، بنابراین به دلیل فشرده سازی افت کیفیتی ندارد، اما متاسفانه فایل های حجیم تولید می کند. خوشبختانه GeoTIFF توسط برنامه های گرافیکی به گونه ای خوانده می شود که گویی یک TIFF معمولی است. سپس این فرمت به فرمت JPEG تبدیل شد که وب پسند است و حجم فایل تولید شده را تا حد زیادی کاهش می دهد.
سپس نتیجه تبدیل مانند سایر فایلهای موجود در دارایی/پوشه کپی شد و با استفاده از دستورالعملها به three.js وارد شد:
const loader = new THREE.TextureLoader();
loader.crossOrigin = ““;
const textureTerreno = loader.load (فایل، پاسخ به تماس) |
در مرحله بعد، بافت را می توان به یک ماده جدید اختصاص داد که، مرتبط با هندسه تولید شده قبلی، شبکه زمین را تشکیل می دهد ( شکل 26 را ببینید ).
3.8.4. تعیین موقعیت مدل کار
پس از ایجاد مش زمین و قرار دادن آن در صحنه، مدل سه بعدی کار باید با مختصات و چرخش صحیح X، Y، Z در موقعیت قرار گیرد تا نسبت به زمین اطراف به درستی درج شود. چنین عملیاتی توسط تابع posizionaPonte() فایل page3D.js انجام می شود که بخش معنی دار آن بازگردانده می شود:
var diffLon = endLon – startLon;
var diffLat = endLat – startLat;
var x = ((lon – startLon) * dimTerrenoX)/diffLon – (dimTerrenoX/2.0);
var y = ((lat – startLat) * dimTerrenoY)/diffLat – (dimTerrenoY/2.0);
برای (var i = 0; i < bridge.length; i++) {
var mesh = bridge[i];
mesh.position.x = x;
mesh.position.y = y;
mesh.position.z = elev – baseZ;
mesh.rotation.set(0,0,degrees_to_radians(rotaz));
} |
اولین عملیات انجام شده محاسبه ابعاد در WGS84 درجه مش زمین (متغیرهای diffLon و diffLat) است. با استفاده از این مقادیر، مختصات اولیه زمین، مختصات پل و اندازه زمین بر حسب متر، از طریق یک نسبت ساده، مختصات X و Y فضای سه بعدی را به دست می آوریم که مدل را در آن قرار می دهیم.
از آنجایی که مدل از مش های مختلفی تشکیل شده است که در آرایه پل ذخیره شده اند، روی عناصر آرایه پل کلیک کنید و ترجمه را از طریق شی mesh.position برای هر کدام اعمال کنید. برای مختصات Z از ارتفاع کار استفاده می شود (متغیر elev، نرمال شده با توجه به حداقل ارتفاع زمین baseZ).
دستورالعمل mesh.rotation.set (x, y, z) اجازه می دهد تا زاویه چرخش یک مش تنظیم شود و با مقدار چرخش کار نسبت به شمال استفاده می شود که به طور مناسب برحسب رادیان از مقدار اولیه آن در درجه.
4. رابط کاربری
رابط کاربری با یک صفحه اصلی ارائه می شود که در آن می توان از نقشه کاری را انتخاب کرد که دانستن داده ها جالب است. پس از انتخاب، دومین تمام صفحه باز می شود که در آن کار رندر می شود.
4.1. تجسم دو بعدی
همانطور که در شکل 27 نشان داده شده است، صفحه اولیه نشان داده شده در هنگام بارگیری صفحه وب تحت تسلط نقشه دو بعدی با مرکز ایتالیا است . در بالا سمت چپ کلیدهای تنظیم بزرگنمایی قرار دارند و تمام دستورات ماوس فعال هستند: حرکت با حرکت مکان نما در حین فشار دادن کلید سمت چپ، بزرگنمایی/کوچک کردن توسط چرخ مرکزی. زوم رو به بیرون محدود است تا توجه کاربر را روی ناحیه مورد نظر حفظ کند.
نقشه پایه نمایش داده شده نقشه OpenStreetMap [ 40 ] است. در بالای آن، یک لایه با عناصر نقطه ای وجود دارد که با دایره های قرمز نشان داده شده است. این لایه نشان دهنده کارهایی است که با استفاده از OpenSees تایید لرزه ای انجام شده است.
می توان روی یکی از نقاط مورد علاقه کلیک کرد تا یک پنجره پاپ آپ حاوی اطلاعات اولیه کار نمایش داده شود: نام آن، شناسه داخلی برنامه و مختصات آن به صورت طول و عرض جغرافیایی WGS84.
پاپ آپ را می توان با دکمه “X” در سمت راست بالای پنجره بسته کرد.
علاوه بر داده های خلاصه کار، پاپ آپ حاوی دکمه “نمایش سه بعدی” نیز می باشد. با فشار دادن دکمه، کاربر به نمای سه بعدی اثر هنری هدایت می شود.
4.2. تجسم سه بعدی
پس از انتخاب یک اثر، نمای اصلی برنامه باز می شود: رندر سه بعدی. پس از بارگذاری تمام فایل های لازم (مدل پل، موضوعی، مدل ارتفاعی، بافت های زمین)، صفحه نمایش داده می شود که در شکل 28 نشان داده شده است :
اجزای اصلی رابط عبارتند از:
ناوبری در صفحه سه بعدی را می توان با کنترل های ماوس و صفحه کلید انجام داد: با حرکت مکان نما در حین فشار دادن کلید سمت چپ، امکان چرخش نمای در اطراف مدل وجود دارد. با استفاده از چرخ مرکزی، امکان بزرگنمایی/کوچکنمایی وجود دارد. با فشار دادن کلید SHIFT در حین کشیدن ماوس، می توان دوربین را برای حرکت در صحنه حرکت داد.
از طریق منوی انتخاب (3) می توان موارد زیر را انتخاب کرد:
(الف) اندازه شبیه سازی شده برای نشان دادن در مدل. سه گزینه ممکن عبارتند از:
-
جابجایی محور X نشان دهنده جابجایی گره های مدل در جهت طولی نسبت به کار است.
-
جابجایی محور Y. نشان دهنده جابجایی گره های مدل در جهت عرضی نسبت به کار است.
-
جابجایی (ماژول). نشان دهنده مدول بردار حاصل از دو جابجایی X و Y است. این نشان دهنده تنش عمومی متحمل شده توسط گره، صرف نظر از جهت آن است.
(ب) زمان بازگشت برای نشان دادن روی مدل. در این مورد، نه گزینه ممکن وجود دارد: 30 سال، 50 سال، 72 سال، 101 سال، 140 سال، 201 سال، 475 سال، 975 سال و 2475 سال.
در هر تغییر انتخاب، مجموعه دادههای مدل برای تمام 25 ثانیهای که شبیهسازی را تشکیل میدهند، بارگذاری مجدد میشود. همچنین افسانه برای منعکس کردن حداقل و حداکثر محدودیت های جدید مجموعه داده های در نظر گرفته شده مجدداً پر شده است.
در صورت تغییر زمان بازگشت، شتابنگارها مجددا ترسیم می شوند زیرا این زمان به زمان بازگشت انتخاب شده بستگی دارد.
از طریق نوار ابزار انیمیشن می توان در بین لحظات مختلف شبیه سازی با مراحل هر یک ثانیه حرکت کرد. این عملیات بصری است و همانطور که در شکل 29 نشان داده شده است، یکی از ویدیوهای پخش کننده را از سر می گیرد .
انیمیشن را می توان به دو روش پیمایش کرد: حالت خودکار که با دکمه “Play” فعال می شود و لحظه ها را در زمان واقعی اسکرول می کند. این حالت را می توان با فشار دادن دکمه “Stop” متوقف کرد.
حالت دوم دستی است: در این حالت فقط باید نوار لغزنده را روی نوار زمان بکشید تا هر طور که دوست دارید در طول 25 ثانیه حرکت کنید.
در سمت راست نوار یک عدد وجود دارد که نشان دهنده فریم (بر حسب ثانیه) نمایش داده شده در آن لحظه است.
در هر تغییر زمان، رنگبندی مدل بهطور خودکار بهروزرسانی میشود، و این امکان را فراهم میکند تا ارزیابی شود که کدام نقاط کار تحت فشار لرزهای بیشتر است. درجه بندی رنگ ها را می توان به راحتی با موارد موجود در افسانه مقایسه کرد، تا همچنین یک نشانه عددی از موجودیت جابجایی داشته باشد، همانطور که در شکل 30 نشان داده شده است .
نمودارهای شتاب نگاری دارای یک نوار عمودی هستند که به طور خودکار به دنبال انیمیشن حرکت می کند: به این ترتیب می توان پاسخ عناصر را در رابطه با داده های ورودی مورد استفاده توسط OpenSees در آن زمان مقایسه کرد.
در هر زمان، دکمه “X” در سمت راست بالای صفحه را فشار دهید تا به نمای دو بعدی بازگردید و یک اثر جدید انتخاب کنید.
5. نتیجه گیری و کار آینده
5.1. نتیجه گیری
این پروژه نشان داده است که چگونه یک نمایش بصری سریع نتایج عددی می تواند درک مناطق تحت فشار یک کار زیرساختی را که در معرض حرکات لرزه ای قرار دارند، بهبود بخشد. همچنین امکان درک تفاوت در رفتار بین آثار انواع مختلف، به ویژه در حضور پایه های بسیار بلند یا عرشه های به خصوص طولانی را فراهم کرده است.
این پلت فرم را می توان به ویژه در مواقعی که نیاز به افشای نتایج به دست آمده از تجزیه و تحلیل های انجام شده بر روی کارها باشد، مورد استفاده قرار داد، بنابراین حتی به افرادی که مهارت خاصی ندارند اجازه می دهد تا اثرات بر سازه های تحت تنش را به صورت کیفی ارزیابی کنند و این اثرات را بر اساس مقایسه کنند. PGA متفاوت و در نتیجه شدت زلزله متفاوت است.
این سیستم اجازه می دهد تا جهتی را انتخاب کنید که در آن جابجایی ها هم در محور طولی و هم در محور عمودی پل تجسم شود. در این روش به راحتی می توان دید که المان ها کدام شیفت ها را دریافت می کنند. به عنوان مثال، تیرها در جهت عمودی جابجایی دریافت می کنند، در حالی که عناصر عمودی (ستون ها) دارای جابجایی در جهت افقی هستند.
ماژولار بودن معماری سیستم با آن، اضافه کردن کارهای جدید را آسان می کند که تجزیه و تحلیل های انجام شده با استفاده از نرم افزار OpenSees در دسترس است: ابزار تبدیل به تطبیق فرمت فایل های خروجی و انجام محاسبات لازم کمک می کند. برای نمایش نتایج، در حالی که ذخیره داده های آثار در فایل های CSV حداکثر سهولت را در افزودن نقاط جدید مورد علاقه به پلتفرم تضمین می کند.
اگرچه این محصول برای نشان دادن نتایج تجزیه و تحلیل لرزه ای طراحی شده است، اما می تواند به راحتی برای نمایش هر نوع تنشی که یک سازه تحت آن قرار می گیرد، سازگار شود. به عنوان مثال، مجدداً برای پل ها، می توان آنالیز FEM را بر روی بارهای عمودی که عرشه ها تحت آن قرار می گیرند، انجام داد. یا می توان روی سایر کارهای زیرساختی مانند ساختمان ها، دیوارهای حائل یا تونل ها تمرکز کرد.
توسعه این پلتفرم همچنین نشان داده است که امروزه چگونه می توان حتی با استفاده از نرم افزارهای منبع باز و کتابخانه ها و در نتیجه رایگان به نتایج حرفه ای دست یافت، بنابراین به شرکت های کوچک نیز اجازه می دهد تا ابزارهایی ایجاد کنند که توسط متخصصان برای ارزیابی و انتشار مورد استفاده قرار گیرد. نتایج تحلیل عددی آنها
مشکلات عمده ای که در ایجاد برنامه با آن مواجه شد، در یافته ها و در تفسیر داده ها برای تجزیه و تحلیل بود، که برای متخصصان شایسته در زمینه مهندسی سازه است.
5.2. کار آینده
در حال حاضر، پروژه به یک سری عملیات برای افزودن آثار جدید نیاز دارد: علاوه بر نتایج تجزیه و تحلیل اجزای محدود، یک عنصر اساسی برای اینکه بتوان مدل را موضوع بندی کرد، مراحل مختلفی وجود دارد که عمدتاً از طریق یک نرم افزار خاص باید دنبال شود. مانند QGIS، برای ایجاد فایل های ارتفاعی مشتق شده از DEM و بافت هایی که باید در مدل زمین اعمال شوند.
یک تکامل پلت فرم میتواند، با شروع از مختصات کاری که باید اضافه شود، مستقیماً از سایت INGV درخواست کند تا قسمت DEM مورد نظر را دانلود کند و از این قسمت مساحت 1 کیلومتر × 1 کیلومتر اطراف کار را بدست آورد. به همین ترتیب، تصاویر ماهواره ای منطقه را می توان از طریق سرویس WMS به دست آورد و در سیستم فایل ذخیره کرد یا در هر درخواست در مرورگر بارگذاری کرد.
این عملیات، خطاب به کاربر با امتیازات مدیر، می تواند در یک ویرایشگر وب، همراه با سایر عملیات برای تنظیم دقیق موقعیت کار، مانند امکان تغییر مختصات، ارتفاع، و چرخش با توجه به جمع آوری شود. به سمت شمال، برای اطمینان از اینکه مدل به درستی روی مش زمین قرار گرفته است.
با توجه به انواع داده های نمایش داده شده در مدل، علاوه بر مقادیر جابجایی که در حال حاضر نمایش داده می شود، OpenSees مقادیر مربوط به نیروهایی را که عناصر کار تحت تأثیر قرار می گیرند نیز در دسترس قرار می دهد که می تواند مقادیر اضافی را تشکیل دهد که می تواند از طریق رنگ نمایش داده شود. درجه بندی
از آنجایی که جابجایی های هر گره در سه جهت X، Y، Z موجود است، توسعه بیشتر می تواند انیمیشن بلادرنگ را با جابجایی واقعی رئوس مدل سه بعدی، نسبت به مقادیر مرجع نشان دهد. گره
در مورد مدل سه بعدی، در حال حاضر یک مدل ساده شده است که از گره ها تولید می شود و بخش های مرتبط با آنها را اکسترود می کند. برای نمایش دقیقتر، ایدهآل دسترسی به مدل دقیقتری است که OpenSees در آن برای انجام تحلیل ایجاد میکند. با این حال، این علاوه بر تحقیق در مورد امکان واقعی صادرات این مدل، همچنین شامل عملیات بهینه سازی مش برای قابل مشاهده کردن آن در مرورگر بدون بارگذاری بیش از حد سخت افزار گرافیکی رایانه ای است که آن را اجرا می کند.
10 نظرات