İçeriğe geç
View in the app

A better way to browse. Learn more.

YAPI ZEMİN

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
CANLISon Depremler
    Dünya M5+7 gün
      Kaynak: USGS

      Ücretsiz ve Açık Kaynak YazılımlarKonu No. 1808

      Yanıt
      14
      Görüntüleme
      393
      Katılımcı
      11
      Son yanıt

      OpenSeesPy 3.5.0 update — TCL'den Python'a gecen sirkette var mi

      Editörün Seçimleri

      Oluşturuldu:
      comment_29006

      OpenSeesPy 3.5.0 cikti gecen hafta, release notes'ta birkac onemli degisiklik var: nDMaterial PressureDependMultiYield02'nin parametre arayuzu degisti (geriye uyumlu degil), ayrica OpenSeesPyMP'nin Windows binary'si nihayet conda'dan kuruluyor. Bizim sirkette Tcl ile yazilmis 4-5 senelik bir IDA otomasyon sistemi var, son 6 aydir Python'a tasimayi planliyoruz, bu surum bizi ittirecek galiba.

      Soru su: sirkette ben dahil 3 muhendis OpenSees Tcl kullaniyor, bunun Python'a gecisi pratikte ne kadar zorlu? Yani sintaks olarak Tcl'in `wipe; model basic; node 1 0 0` benzeri komutlari Python'da `ops.wipe(); ops.model("basic"); ops.node(1,0,0)` formuna gectigini biliyorum, ama gercek sahada bizimkinden biri benzer bir gecis yasadi mi? Sirkette egitim plani yapmak istiyorum, gercekci bir sure tahmini lazim.

      Ayrica geriye uyumlu olmayan nDMaterial degisikligi calibrasyon parametrelerimizi ne sekilde etkiler? Eski parametreleri yeni interface'e mapping yapmak el ile mi yoksa otomatik mi?

      • İleti 14
      • Görüntüleme 393
      • Açılış
      • Son yanıt

      Bu Konuya En Çok Yazanlar

      Öne çıkan iletiler

      • helper_jeofizik_nisa
        helper_jeofizik_nisa

        Bir ek: Python'a geçince OpenSees disinda da kazanim oluyor. Ben sismik kayit dataseti hazirlamak icin obspy + numpy kullaniyorum, OpenSeesPy ile dogrudan kose koseli. Tcl ile bu yapilamiyordu, kayitl

      • ktu_zeminci_harun
        ktu_zeminci_harun

        KTU'da biz zaten OpenSeesPy ile lisans dersine basladik 2022'den, Tcl gormeden mezun oluyor ogrenciler. Furkan abi, sirkette gecis sonrasi yeni alimlardan birini Tcl'siz katmak avantajli olur — yeni k

      • sarkayasinegi
        sarkayasinegi

        Tcl 1988'de cikmis, Python 1991'de cikmis. Yani Tcl 3 yil avantaj almis, Python kuvvetlenmis. Bu kadar zaman gectikten sonra hala karar veremiyoruz iste, biz muhendisler boyle.

      gönderildi
      comment_29007

      Furkan abi, 2019'da OpenSeesPy'nin ilk surumlerini denedigimde Tcl'den geçtigimde 3 hafta gecmisti tam adapte olmak. Sintaks farki yuzeyden, ama gercek aci pyhton'in degisken yonetimi (Tcl'de string global, Python'da type-aware) — Tcl scripti `set k 100` ile string atamasi, sonra hesaba kattigi zaman implicit float donusum vardi, Python'da bunu yazmak yok, type hatasi atiyor.

      Mapping'e gelince, OpenSees ekibi bir "tcl2py" otomatik converter yayinladi 2022'de (github.com/zhuminjie/openseespy migration tools), %85 hatasiz cikti. Geri kalan %15'lik kismi elle, ama bu zaten karmasik mantik kismi. Bizim ekipte 4 muhendise 2-3 hafta yeterdi tam gecis icin.

      gönderildi
      comment_29008
      bim_berk yazdi:

      OpenSees ekibi bir "tcl2py" otomatik converter yayinladi 2022'de

      ODTU'de derslerimde 2021'den itibaren sadece OpenSeesPy ogretiyorum, Tcl artik tarihte. Yuksek lisans tezlerinde de Tcl kabul etmiyoruz, debugger desteği olmaması en buyuk neden — Tcl'de bir hata bulmak iki kat zaman alici, Python'da pdb veya VS Code debugger ile interaktif debug yapabilirsin.

      Furkan, 4-5 senelik Tcl kodunu refactor ederken bir sey yapmayi tavsiye ederim: `pytest` ile birim testler yazin gecmeden once. Ornek bir kantilever IDA sonucu Tcl'de hesaplanmis olsun, ayni sonucu yeni Python kodunda yeniden uretip test failunda hata yakalayin. Boyle gecistiginde regresyon hatasi cikmaz.

      Akademik bilimsel disiplinli yazilim gelistirme aslinda bu, "calistirayim, calismis goruyor, tamam" demek yetmez, otomatize regresyon test sart.

      gönderildi
      • Yazar
      comment_29009
      akademi_can_odtu yazdi:

      pytest ile birim testler yazin gecmeden once

      Can hoca, pytest fikri cok dogru, biz Tcl tarafinda hicbir test yoktu, "calisiyor" diye bakiyorduk. Geçis bunu kurmak icin firsat olur. Bir kantilever, bir 6-katli RC çerçeve, bir RC perde — uc benchmark yazip pytest'e koysam baslangic icin yeterli sanirim.

      gönderildi
      comment_29010

      Furkan abi, OpenSeesPyMP'in conda binary'si bir milat. Eskiden Linux'tan source compile etmek gerekirdi, MPI ortamini kurmak yarin gunumu alirdi. Simdi `conda install -c conda-forge openseespy-mpi` ile beş dakikada hazir. Furkan, IDA otomasyonunuz paralel cozum yapiyor mu, yoksa hala seri mi?

      Eger seri ise, Python'a gectigiziniz zaman MPI ile yeniden yazmak da iyi bir firsat. 100 deprem kaydi paralel cozumde 5 dakikalik isiniz 1 saatten dusuyor.

      gönderildi
      comment_29011

      YTU'de hem Tcl hem Python ders veriyoruz, donem icinde ilk 4 hafta Tcl, son 4 hafta Python. Tcl ogrenince Python'a gecis kolay, terimi metaforik olarak "yabanci dilden ana dile geri donus" gibi. Sintaks, kontrol akisi, hata mesaji okuma — hepsi Python'da daha zarif.

      Ozel bir teknik nokta: Tcl'de hierarchical procs ile yazilan bir script, Python'a gectiginiz zaman class structure'a refactor etmek isteyebilirsiniz. Bu refactor opsiyon, mantik aciktirici ama kac saat gerektirir bilemiyorum sirkette.

      gönderildi
      comment_29012

      Tcl'den Python'a gecmek zaten gec kalinmis bir tartisma, 2024'te yorum istemenize sasiriyorum, herkes gectiyse siz nicin halen Tcl'desiniz? Tekfen'de 2018'de gectik biz, 6 yil oncesi.

      Pyhton'a gectiginizde, sadece OpenSees'i degil, onun yanina pandas + matplotlib + jupyter ekosistemini de almis oluyorsunuz, bu inkar edemediginiz bir verimlilik patlamasi. Tcl'de tabloyu nasil cikariyordunuz, gnuplot'la mi?

      gönderildi
      • Yazar
      comment_29013
      bim_aggressive_efe yazdi:

      siz nicin halen Tcl'desiniz?

      Efe Bey, gec kaldigimizi kabul ediyorum, sebep teknik degil bizansik (kurumsal). Eski projelerden kalan Tcl scriptleri "bozulmasin" diye dokunulmadi, bu yuzden gunluk yeni iste de Tcl'le yazmaya devam ettik. Simdi tam gecis zamani ve egitim plani yapiyorum.

      Tabloyu Tcl'de evet, gnuplot ile cikariyordum, hala ekran goruntulerimde 2D mavi cizgili pushover plot'lari kalmistir.

      gönderildi
      comment_29014

      Tcl 1988'de cikmis, Python 1991'de cikmis. Yani Tcl 3 yil avantaj almis, Python kuvvetlenmis. Bu kadar zaman gectikten sonra hala karar veremiyoruz iste, biz muhendisler boyle.

      gönderildi
      comment_29015

      Bir ek: Python'a geçince OpenSees disinda da kazanim oluyor. Ben sismik kayit dataseti hazirlamak icin obspy + numpy kullaniyorum, OpenSeesPy ile dogrudan kose koseli. Tcl ile bu yapilamiyordu, kayitlari elle yazmak gerekiyordu.

      Furkan abi, IDA icin kayit secimi yapacaksaniz obspy'nin "AGSdb" (Anatolian Ground Motion Database) erisimi kolay, FDSN protokolu uzerinden Turkiye seismic network'unden cekiliyor. Bu da Tcl'den Python'a gecisin saglayan bir bonus.

      gönderildi
      comment_29016

      Arup'ta yapisal taraftayim, OpenSeesPy 3.5.0 ile bir gun once test yaptim, IFC4 export'u hala yok. Bu BIM tarafi icin sıkıntı kaliyor. Furkan abi, Tcl'den Python'a gectiginizde sirketin BIM koordinasyon ekibiyle (varsa) konusup OpenSees sonuclarini Revit'e attribute olarak baslatma imkanini gostermek isteyebilirsiniz, dolayli yoldan IFC4'e baglanir.

      gönderildi
      comment_29017

      Furkan, son bir oneri: gecisten sonra "regression test plot" diye bir CI workflow kurun GitHub Actions ile. Her commit'te benchmark plotlari otomatik uretsin, bir hafta arada manuel kontrol etmediyseniz hatayi yakalarsiniz. Akademik gelistirmede biz bunu kullaniyoruz, sirkette de uyabilir.

      gönderildi
      • Yazar
      comment_29018

      Ozet: (1) tcl2py converter ile %85 otomatik gecis, (2) pytest ile uc benchmark regresyon, (3) OpenSeesPyMP conda ile MPI calismayi paralelistirme, (4) GitHub Actions ile CI workflow, (5) BIM tarafiyla Revit attribute integrasyonu degerlendirilecek, (6) IDA kayit secimi obspy ile.

      Cok iyi bir tartisma oldu, plani sirkette sundugumda elimde net argumanlar olacak. Tesekkurler hepsine, gecis bittikten sonra deneyim raporunu burada yayinlarim.

      gönderildi
      comment_29019

      Furkan iyi bir adim. Bizim sirket de bu tur teknik borca cok yaklasiyor, bu konuyu ekibe gosterecegim. 30 yilda en cok ogrendigim ders: yazilim borcu odeyemeyen sirket teknik olarak emekli olur. Biraz aci ama gercek.

      gönderildi
      comment_29020

      KTU'da biz zaten OpenSeesPy ile lisans dersine basladik 2022'den, Tcl gormeden mezun oluyor ogrenciler. Furkan abi, sirkette gecis sonrasi yeni alimlardan birini Tcl'siz katmak avantajli olur — yeni kafa eski koddan korkmaz, Tcl scriptini "bozmak istemem" diye saygiyla kenara koymaz, Python tarafindan rahatca yeniden yazar.

      Hesap oluşturun veya yorum yazmak için oturum açın

      Configure browser push notifications

      Chrome (Android)
      1. Tap the lock icon next to the address bar.
      2. Tap Permissions → Notifications.
      3. Adjust your preference.
      Chrome (Desktop)
      1. Click the padlock icon in the address bar.
      2. Select Site settings.
      3. Find Notifications and adjust your preference.