dc.description.abstract | Yüksek doğum oranı ve düşük ölüm oranı sebebi ile her an birey sayısı artmaktadır. Daha iyi bir hayat standartına ulaşabilmek için, genişleyen populasyon genellikle ekonomik ve sosyal sebepler ile büyük şehirlere göç etmeye meyillilerdir. Bu sebepten dolayı büyük şehirler doğal afetlere karşı kırılgan olan daha kompleks şehir alanları haline gelmektedirler.En yıkıcı doğal afetlerden birinin deprem olduğu herkes tarafından bilinen bir gerçektir. Bir deprem meydana geldikten sonra, bina hasarlarının büyük ölçekli simülasyonu, doğal afet sonucu olusan hasarların azaltılması ve mümkün olduğunca hayat kurtarabilmek için kurtarma planlarının yönetilmesi için önemli olan birçok olası sonuçları ortaya çıkarabilir. Bu simülasyonlar sayesinde, doğal afetleri ve etkilerini daha iyi anlayıp bu konu üzerinde daha fazla çalışma yaparak doğal afetlere karşı daha hazırlıklı olunması mümkün hale getirilebilir. Bu çalışma, deprem senaryosu etkisinde gerçekleştirilmiş olan büyük ölçekli simülasyonda iki zorlu soruna odaklanmaktadır. Bunlardan birincisi, sismik faaliyet sırasında yüksek sayıda binanın gerçekçi tepkisini gösterebilmektir. İkincisi ise bina hasar ve deformasyon bilgilerini hızlı bir şekilde sağlamak için oldukça önemli olan hesaplama süresini olabildiğince azaltmaktır.Yaklaşık 23000 binanın bulunduğu bir sanal şehir, yapısal ve jeoteknik sistemlerin deprem etkisi altındaki davranışlarını simüle etmek için yaygın olarak kabul gören ve açık kaynak kodlu bir yazılım olan Open System for Earthquake Engineering Simulation (OpenSees) ile modellenmiştir. Modellenmesi için seçilen şehir, İtalya'da bulunan Torino şehrinin verileri kullanılarak oluşturulmuş bir sanal şehirdir. Bu sanal şehirde, betornarme ve yığma binalar modellenmiştir. Modellemeler sırasında, betonarme binalar için OpenSees'in `MultiLinear` materyali, yığma binaları için ise `Hysteretic` materyali kullanılmıştir. Bu modelleme sırasında her bir bina tek serbestlik dereceli sistem olarak temsil edilmiştir. OpenSees yazılımı ile hem yüksek sayıdaki binaların eş zamanlı modellenebilmesi, hem de oluşturulmuş bu modellerin analizlerinin daha hızlı yapılabilmesi mümkün hale gelmiştir.Binaların sismik haraket karşısındaki tepkilerini simüle etmek ve sanal şehrin sismik simülasyonunu gerçekleştirmek için doğrusal olmayan zaman tanım alanında analizler yapılmıştır. Bu analizlerde, adımla tekniği olarak Newmark yöntemi kullanılmıştır. Deprem kaydı seçiminde ise, 2016 yılının Ekim ayında meydana gelen Merkez İtalya depreminin Norcia istasyonu tarafında kayıt altınan alınan batı-doğu ve kuzey-güney bileşenleri tercih edilmiştir.OpenSees yazılımının güçlü hesaplama yeteneklerine rağmen, geleneksel yöntem olan tekli işleme yöntemi ile merkezi işlem biriminin (CPU) hesaplama hızı limitler içinde sıkışmaktadır. Bu sıkışmanın sebeplerinden biri, TCL programlama dilinin OpenSees yazılımı için belirlenmiş yorumlayıcı olmasıdır. Her ne kadar TCL programlama dili güçlü ve etkili bir dilde olsa, ileri seviye veri analizleri ve bilimsel hesaplama gibi konularda geri kalmaya başlamaktadır. Fakat, yakın zamanda yapılan OpenSees yorumlayıcı ile ilgili gelişmeler ışığında, Python programlama dili bir OpenSees yorumlayıcısı olarak kullanıma sunulmuştur. Bu nedenle, CPU'nun hesaplama kapasitesinden daha iyi yararlanabilmek için, etkili, esnek ve kullanıcı dostu bir programlama dili olan Python için OpenSees yorumlayıcısı ile birlikte Python kütüphaneleri kullanılabilir.CPU'nun tam kapasitesini ortaya çıkarmak için, en faydalı Python paketlerinden biri alt işlem birimlerini çoğaltmaya ve bu işlem birimlerine eş zamanlı olarak görev atanmasını sağlayan multiprocessing paketidir. Python ile CPU çoklu işlem yapmanın ana kavramı `tek görev, tek mantıksal çekirdek` mantığı ile açıklanabilir. Her bir görev, bir binanın modellenmesi ve ardından zaman tanım alanında doğrusal olmayan analizinin gerçekleştirilmesi olarak tanımlanmıştır. Kullanılan CPU'nun sanal çekirdek sayısına paralel olarak görevler oluşturulmakta ve hesaplama hızı yine sanal çekirdek sayısına bağlı olarak lineer olarak bir artış göstermektedir. Bu durumlar göz önünde bulundurulduğunda, Python multiprocessing paketi çok fazla miktarda hesaplama kapasitesi gerektiren büyük ölçekli deprem simülasyonunda hesaplama süresini azaltmak için kullanılabilir.Bu tez çalışmasının giriş bölümünde, bilgisayar bilimi alanında ne gibi gelişmeler olduğu, bu gelişmelerin deprem mühendisliği alanına etkileri ve kullanım alanları, yapılan çalışmalarla ilgili örnekler ve bu tez kapsamında yapılan çalışmanın hangi sebep doğrultusunda yapıldı ile ilgili bilgiler verilmiştir.İkinci bölümünde, tekli işleme ve çoklu işleme tekniklerinin çalışma mantıklarının açıklanması, çoklu işleme için kullanılabilecek donanımlardan ve bu donanımların mimarilerinden bahsedilmiştir.Üçüncü bölümde, modellenecek olan sanal şehrin genel özelliklerinden, modelleme yönteminden, şehirde bulunan binaların mimari oranlarından ve bina verilerinin nasıl elde edildiği ile ilgili bilgi verilmiştir.Dördüncü bölümde, OpenSees yazılımı ve yorumlayıcıları olan TCL ve Python programlama dilleri hakkında bilgi, modelleme sırasında kullanılan elemanlar ve materyaller, seçilen deprem kaydının detaylı özellikleri ve grafikleri verilmiştir.Beşinci bölümde, zaman tanım alanında doğrusal olmayan analizlerin, Python ve OpenSees kullanarak nasıl gerçekleştirildiği, tekli işleme ve çoklu işleme tekniğine göre akış şemaları, analizlerin yapıldığı bilgisayar hakkında bilgi, analizler sonucu hangi çıktıların elde edildiği ve bu çıktıların SAP2000 programı ile karşılaştırılması ele alınmıştır.Altıncı bölümde ise CPU tekli işleme, CPU çoklu işleme ve aradaki farkları daha iyi gözlemleyebilmek için GPU ile yapılan analizler karşılaştırılmıştır.Elde edilen sonuçlara göre CPU çoklu işleme uygulaması, CPU tekli işleme uygulamasından 37 kata kadar daha hızlı olabildiği gözlemlenmiştir. Elde edilen bu sonuç, toplamda 80 mantıksal çekirdek içeren çift Intel Xeon E5 işlemciye sahip bir bilgisayar ile elde edilmiştir. Bu tez kapsamında geliştirilmiş olan Python kodu, hesaplamayı yapacak olan bilgisayarın kullandığı Windows, Linux ve maxOs gibi işletim sistemlerinden bağımsız olarak uygulanabilir ve geliştirilebilir.Son olarak, bu çoklu işleme uygulaması, sadece modelleme ve analizle sınırlı kalmamakla birlikte bir çok hesaplama hızı ile ilgili farklı türlerdeki inşaat mühendisliği problemlerine adapte edilip kullanılabilir. | |
dc.description.abstract | Number of individuals is increasing every moment due to high birth rate and low death rate. Because of economic and social circumstances, enlarging population often intend to migrate to large cities for better life expectancy. For this reason, large cities are becoming more complex urban environments which are vulnerable against natural disasters.One of the most destructive natural disasters is earthquake. After an earthquake occurs, large scale simulation of building damage can potentially reveal possible consequences that are important for disaster mitigation and managing rescue plans for saving as much lives as possible. This study focuses on two challenging problems in large scale simulation under earthquake scenario. First of them is to demonstrate realistic response of huge quantity of building during seismic activity. Second one is to decrease the computational time that is highly significant to provide building damage information rapidly.A virtual city with around 23000 buildings is modeled using Open System for Earthquake Engineering Simulation (OpenSees) software which is a widely accepted open source software to simulate behavior of structural and geotechnical systems during earthquake motion. Each building is represented as a single degree of freedom (SDOF) system.Nonlinear response history analyses (NRHA) are applied to simulate seismic response of each building in the virtual city. The analyses are performed by OpenSees. Despite the analysis capability of OpenSees, its performance can be restrictive since all functions are implemented to use the CPU in the traditional way, which is single-processing. Therefore, to better exploit the computational capabilities of CPU, Python libraries can be used in conjunction with the new OpenSeesPy library which brought Python interface into use.Python is an effective, flexible and user-friendly programming language. To reveal the full capacity of CPU, one of the useful packages of Python is multiprocessing package that supports spawning subprocesses. Therefore, underlying logic of the multiprocessing package fits well with the requirements of rapid large scale earthquake simulations that needs a lot of computational capacity.According to results, CPU-multiprocessing application can be faster up to 37 times than CPU single-processing application. Independent of computational platform, Python scripts can be run on many computers and operating systems such as Windows, Linux, macOS. It can be used to solve different kind of civil engineering problems related with computational time. | en_US |