Bu içeriği görüntülemek için JoVE aboneliğiniz gereklidir. Giriş yapın veya ücretsiz denemenizi bugün başlatın.

Yöntem makalesi

Metaverse'de Sanal Deneyler İçin Otomatik Simülasyon İş Akışlarını 3D Görselleştirme ile Entegre Etmek

523 görüntülenme

DOI:

10.3791/71833

21 Temmuz 2026

Bu makalede

Özet

3D sanal deneyler için simülasyon ve veri işleme araçlarını otomatik iş akışlarına entegre etmek isteyen alan uzmanı araştırmacılar için genelleştirilmiş ve FAIR uyumlu bir yöntem sunulmaktadır. Nötronik bir örnek, yerel bir Galaxy örneği kurmayı, OpenMC ve dosya dönüştürme araçlarını paketlemeyi, Omniverse'ten iş akışlarını başlatmayı ve dönüştürülmüş 3D çıktıların görselleştirilmesini gösterir.

Özet

Birçok sanal deneyde, çeşitli simülasyon türleri, ön ve son işlem araçları ile ve deneylerin sonuçlarını görselleştirmek için kullanılan araçlar ile çoklu yazılım paketleri kullanılır—çoğu zaman hepsinin birleşimi. Bunların tipik entegrasyon yöntemi, her uygulama alanı için özel çözümler oluşturulan manuel yöntemdir; bu da düşük ölçeklenir ve paylaşım ile tekrarlanabilirliği engeller.

Bu protokol, yerel olarak konteynerize edilmiş bir iş akışı sisteminin dağıtımını ve kullanımını gösterir. Bunu takiben kullanıcılar Docker kullanarak yerel bir Galaxy örneği başlatacak, OpenMC nötronik simülasyon iş akışı oluşturup çalıştıracak, çıktıları format dönüştürme araçları zincirinden geçirecek ve sonuçları görselleştirmek için hem ParaView hem de NVIDIA Omniverse'e yükleyecek. Konteynerize dağıtım, Bölüm 1'de tanımlanan donanım gereksinimlerini karşılayan herhangi bir makinede tekrarlanabilirlik ve taşınabilirliği teşvik eder.

Sistem çalıştığında, iş akışları manuel yeniden yapılandırma olmadan yeni girdilere karşı yeniden çalıştırılabilir, ek simülasyon kodları mütevazı çabayla yeni araçlar olarak sarılabilir ve araçlar birden fazla iş akışı ve uygulama alanında kullanılabilir. Bu yaklaşım, bulunabilir, erişilebilir, birlikte çalışabilir, yeniden kullanılabilir (FAIR) veri prensiplerini destekler: çalışma geçmişleri tam kaynak metaverisi yakalar, iş akışları taşınabilir dosyalar olarak dışa aktarılabilir ve Galaxy örnekleri arasında doğrudan paylaşılabilir; araçlar sürüm kontrollü konteynerlerde paketlenerek kamuya açık bir depoda yayınlanabilir. Galaxy'nin Pulsar sistemi aracılığıyla yüksek performanslı hesaplama (HPC) veya bulut kaynaklarına ölçeklenebilirlik, burada tanımlanan mimarinin doğal bir uzantısıdır.

Bu yöntem, füzyon nötronik vaka çalışması ile gösterilmiştir. OpenMC, Doğrudan Hızlandırılmış Geometri Monte Carlo (DAGMC) bilgisayar destekli tasarım (CAD) geometrisinde nötron taşınımını simüle etmek için kullanılır; böylece trityum üreme oranı (TBR) sonucu ve nötron takip veri seti üretir. Simülasyon iş akışları, çağrı ve görselleştirme için metaverse platformu olarak NVIDIA Omniverse'e bağlanır.

Giriş

Endüstriyel metaverse, dijital ve fiziksel dünyaları birleştirerek mühendislik sistemlerinin tasarımı, simülasyonu ve işbirlikçi 3D görselleştirmesini destekler. Genellikle sistem görünümü sağlamak için birbirine bağlı birçok dijital bileşen ikizinden oluşur. Boeing, BMW, Amazon ve daha birçok büyük kuruluş, metaverse oluşturmak için birden fazla yaklaşım kullanıyor1. Birden fazla simülasyon ve işleme aracı zincirine izin veren sistemler geliştirildi ve kullanılıyor. Ancak, bu örnekler genellikle uygulamaalanı 2'ye özel olarak hazırlanır ya da ticariseçenekler 3,4 olarak bazı özel sistemlere kilitlenir. Dijital ikizler inşa etmek için bazı açık kaynak alternatifleri, örneğin Python Flask gibi bazı sistemlerin yerleşik simülasyon yeteneklerine sahip olması için kullanılmıştır. Yine de, bunlar, belirli model5 ile ilgili özel görevleri yerine getirmek üzere özel kod parçaları olarak yapılandırılmıştır. Bu protokol bağlamında, metaverse platformu (NVIDIA Omniverse) bir 3D görselleştirme ve iş akışı etkileşim ön yüzü olarak işlev görür: bir iş akışı çalışması tamamlandıktan sonra simülasyon çıktıları paylaşılan bir sahneye yüklenir ve aynı ortamdan yeni çalışmalar tetiklenebilir. Bu, gerçek zamanlı sensör beslemelerinin modeli sürekli güncellediği canlı dijital-ikiz sistemlerinden farklıdır; Burada gösterilen yöntem, toplu iş akışı yürütülmesini ve sonuçların çalışma sonrası keşfini destekler. Ancak bu, metaverse platformuna daha fazla sistem entegre etme çalışmalarını destekleyecek şekilde yapılıyor; böylece dijital ikizlerin iş akışı motorları hesaplama arka uçu olarak kullanılmasını mümkün kılacak.

İş akışları, birerlerindeki veri akışını açıkça belirten yazılım araçları zincirleri olarak tanımlanabilir. Mevcut simülasyon kodlarının, işleme betiklerinin ve diğer adımların tipik bir analiz boru hattında sarılmasına olanak tanır; bunların işlevini değiştirmeden, bunun yerine araçtan bağımsız standart girdiler ve çıktılarla yeniden yapılandırılmasına olanak tanır. İş akışları, araçların paylaşımı yoluyla sonuçların kolayca çoğalmasını sağlar, ayrıca hangi araçların versiyonlarının, hangi sırayla ve hangi girdilerle kullanıldığına dair meta veri ve kaynak sağlar. Araçlar birçok simülasyon hattında yeniden kullanılabilir, böylece araştırmacılar simülasyon kurmaya daha az zaman ayırır, deneyler tasarlamak ve sonuçları keşfetmek için daha fazla zaman harcatır. İş akışı sistemleri ayrıca ölçeklenebilir olup, farklı yerel hesaplama, bulut ve HPC kaynaklarına bağlanabilen yöntemlerle birçok büyük ölçekli iş akışının belirli donanımda otomatik olarakçalıştırılmasını sağlar 6.

Tipik manuel yaklaşım doğası gereği yavaş, hata yapmaya yatkın ve tekrarlanması zordur; burada bir araştırmacı her simülasyon veya sonradan işlem aracını elle çalıştırır, ara dosyaları ortamlar arasında taşır ve bireysel çalışma girdilerini ve çıktılarını belgelemek zorunda kalır. Buna karşılık, bir iş akışı yöneticisi veri akışını bir kez resmileştirir ve deterministik olarak yeniden çalıştırır. Bu, manuel boru hatlarına kıyasla birçok avantaj sağlar: aynı iş akışı farklı girdilerde aynı şekilde yürütülebilir, özel betik yazma olmadan parametre çalışmalarını destekler; Her çalışma otomatik olarak tam kaynak meta verilerini yakalar ve tekrarlanabilirlik açıklığını giderir; ve bir araç tamamlandıktan sonra, sonraki iş akışlarında yeniden kullanım maliyeti neredeyse sıfıra düşer, hesaplama süresi hariç. Bu faydalar, biyoinformatik için Wratten ve ark.7 tarafından, proteomik/metabolomik için ise Perez-Riverol veMoreno 8 ile Verhoeven ve ark.9 tarafından nicelendirilmiştir.

Tarihsel olarak, iş akışları öncelikle biyobilişim alanında 8,9 ve Avrupa Galaxysunucusu 10,11 gibi büyük kamu örneklerinde büyük başarıyla kullanılmıştır; bu sunucu 2022 yılına kadar 50.000'den fazla kullanıcıya, 2500 araçya, 47 milyondan fazla iş ve 260.000 iş akışı çalıştırmasına sahipti. Aynı iş akışı motoru yığını, Pulsar dağıtık iş yürütmesistemi 6,11 üzerinden HPC ve bulut kaynaklarına ölçeklendirmeyi destekler ve operasyonel dağıtımlar 10 Avrupa ülkesinde 13 Pulsar uç noktasını kapsamaktadır. Snakemake, Nextflow, Toil ve CWL uyumlu motorlar dahil olmak üzere birçok mevcut iş akışı yöneticisi arasında, Galaxy iş akışımotoru 11 birkaç nedenle seçildi. Başlıca nedenlerden biri, komut satırında çalışmayan alan alan uzmanları için giriş engelini azaltan olgun tarayıcı tabanlı arayüzüdür; tam bir temsilsel durum transferi (REST) uygulama programlama arayüzü (API) sunar (mevcut çalışmada metaverse ön yüzeyine köprü yapmak için kullanılmıştır); Geçmiş ve iş modeli, uzman olmayan işbirlikçilere kolayca ortaya çıkarılabilen bir biçimde kökeni yakalıyor; ve yukarıda bahsedilen Pulsar sistemi aracılığıyla şeffaf HPC boşaltmasını destekler (ancak bu makalenin protokol bölümünde tartışılmaz). Ancak bu makalede tanımlanan yaklaşım prensipte iş akışı motorundan bağımsızdır: eşdeğer entegrasyonlar alternatif motorlar üzerine inşa edilebilir. Bu çalışmanın katkısı, iş akışı yöneticisinin kendisi değil, biyoinformatik için orijinal olarak geliştirilen genel amaçlı bir iş akışı yöneticisinin diğer alanlara (burada füzyon nötroniği örneğinde) aktarılması ve tamamen konteynerli, yerel olarak dağıtılabilir bir yığın içinde endüstriyel metaverse platformu (NVIDIA Omniverse) ile entegre edilmesidir; bu yığın 3D sanal deneylere uygulanır.

Son olarak, konteynerleştirme, kod işletim sistemi ve çalıştırması gereken tüm bağımlılıklarla paketleyerek birçok yazılım parçasının paylaşılmasını sağlar. Bu ortamlar, eksik bağımlılıklar ve bazı simülasyon kodlarının yüklenme zahtiyetinden kaçınır. Amaçları sanal makinelere benzer ama çok daha hafif ve daha taşınabilir. Yazılım paketlerinin paylaşılabilirliğini ve tekrarlanabilirliğini büyük ölçüde artırırlar. Bu yöntemde, iş akışı yöneticisi ve bireysel araçlar Docker12 konteynerlerinde çalışır, kullanıcı konteynerleri çalıştırabildiği sürece farklı işletim sistemleriyle uyumluluğu artırır.

Bu protokol, kendi alanlarındaki simülasyon araçlarını akıcı olarak bilen ancak daha önce iş akışı yöneticisi veya konteyner tabanlı dağıtım kullanmamış olan füzyon nötronik mühendisleri, hesaplamalı akışkanlık dinamiği analistleri veya sonlu eleman uygulayıcıları gibi alan uzmanı araştırmacılar için tasarlanmıştır. Tek bir simülasyon kodu ve temel komut satırı işlemlerine aşinalık varsayılır; Galaxy veya Omniverse'e aşinalık değil. Konteynerleştirmeye yeni başlayan okuyucular, resmi Docker dokümantasyonuna (https://docs.docker.com/) veya şu adreslerde sunulan giriş eğitimine başvurmalıdır: Bölüm 1'i takip etmeden önce https://uomresearchit.github.io/docker-introduction/ ; Yazılımı çalıştırmak için gereken temel komutların hepsi protokol içinde yer alır.

Bu raporun geri kalanı ise yerel olarak konuşlandırılabilir sistemin kurulumu ve kullanımını ele alacaktır. Daha sonra, sistem için yeni araçlar geliştirme adımlarını ve metaverse platformu gibi diğer harici paketleri iş akışı motoruna bağlama yöntemini takip edecek. Rapor boyunca, OpenMC13 kullanılarak yapılan bir nötronik simülasyonu vaka çalışması olarak hizmet vermektedir. OpenMC, iş akışı mimarisini motive eden tam CAD'den simülasyona-çıkışa görselleştirme sürecini gösterdiği için seçildi. Bir geometri dosyası ve bir yapılandırma dosyası yapılandırılmış girdiler olarak hizmet verir; Monte Carlo nötron taşıma simülasyonu, bilinen bir değer aralığıyla karşılaştırılabilen skaler bir metrik (trityum üreme oranı, TBR) ve metaverse uygulamasında 3D render için görselleştirilebilir formatta işlenebilecek ve sunulabilen mekansal olarak çözülen nötron takip veri seti üretir.

Erişim kısıtlı. Bu içeriği görüntülemek için lütfen giriş yapın veya deneme sürümünü başlatın.

Protokol

NOT: Yerel iş akışı motoru kurulumu, iş akışı oluşturma, iş akışı başlatma ve görselleştirme çıktılarının genel bir özeti Şekil 1, Şekil 2, Şekil 3, Şekil 4, Şekil 5, Şekil 6, Şekil 7 ve Şekil 8'de gösterilmiştir. Protokolü çalıştırmak için gereken depo dosyaları, Ek Dosya 1'de sağlanmıştır.

1. Kurulum

  1. Gereksinimler
    NOT: Bu yöntem, Ubuntu'nun en son Uzun Vadeli Destek (LTS) sürümü olan 22.04.1 LTS'de test edilmiştir. Ubuntu'nun diğer sürümleri ve diğer dağıtımlar çalışabilir, ancak burada test edilmediler. Ayrıca Windows sistemlerinde de çalışır ve Docker arka uçu olarak Windows Subsystem for Linux (WSL) kullanılır.
    1. Windows Kullanıcıları: WSL'yi indirin ve kurun, çünkü Docker için bir gerekliliktir.
    2. Docker'ı indirin ve ardından şu çalıştırarak doğrulayın:
      `Docker Run Hello-World'
      Bu da hoş geldin mesajı göstermeli.
    3. NVIDIA Omniverse launcher'ını ve Omniverse uygulamalarından birini launcher üzerinden indirin.
      NOT: NVIDIA Omniverse'in gerçek zamanlı ışın izlemeli render çalışması RTX sınıfı bir GPU gerektirir. Bu donanıma sahip olmayan kullanıcılar, ParaView'de ara .vtk / .vtp çıktılarını incelemeye devam edebilir (bkz. Tartışma). Bu kullanıcılar, sadece metaverse platformunu kapsıyor olduğu için Bölüm 3'ü atlayabilir; Burada iş akışı motorunu entegre etmek için kullanılan yöntemler, diğer metaverse platformlarına bağlanırken faydalı olabilir.
      Bu protokol Omniverse Code uygulamasını kullanır, ancak diğer Omniverse uygulamaları genel olarak benzer olmalıdır. Zorunlu olmasa da, ParaView bu protokoldeki araçlar tarafından üretilen bazı ara dosyaları görselleştirmek için kullanılabilir.
  2. Depo
    1. Yerel iş akışı motoru örneği ve bu makalede açıklanan araçlar için gereken tüm dosya ve betikleri barındıran depoyu şu şekilde klonlayın:
      'git clone https://github.com/williamjsmith15/galaxy-omniverse-example.git'
    2. Yönetici kullanıcılar listesine bir yönetici e-posta ekleyin.
      NOT: Bu, bazı iş akışı motoru özellikleri için gereken yönetici ayrıcalıkları verir ve galaxy-config/galaxy.yml dosyasındaki admin_users bölümünde bulunabilir (bkz. https://github.com/williamjsmith15/galaxy-omniverse-example/blob/master/galaxy-config/galaxy.yml).
    3. default.json.template dosyasını default.json olarak yeniden adlandırın. Bu dosya omni_exts/omni.galaxy.example/omni/galaxy/example/default.json.template adresinde bulunmaktadır.
      NOT: Bu, metaverse platformunun uzantısı tarafından okunmasına ve kişisel ayarların eklenip yüklemeler arasında devam etmesine olanak tanıyacak—galaxy örneği kurulduktan sonra daha fazla değişiklik yapılacak.
  3. Yerel İş Akışı Motoru Sunucusunu Başlatmak
    1. Iş akışı motoru örneğini deponun en üst seviyesinde start-galaxy.sh dosyasını çalıştırarak başlatın:
      './start-galaxy.sh'
      Dosya burada çalışmazsa, depo klonunda izinler değiştiyse çalıştırılabilir hale getirilmesi gerekebilir. Bu, şu koşarak yapılabilir:
      'chmod a+x start-galaxy.sh'
      NOT: Windows kullanıcıları bunu WSL terminali üzerinden yapmak zorunda. Bu, ilgili dosyaları indirir ve aynı makinede çalışan herhangi bir tarayıcıda http://localhost:8080 olarak görüntülenebilen iş akışı motoru örneğini başlatır. Bu, Şekil 1'de gösterilen sayfayı göstermelidir; Eğer yoksa, bekleyip yenileyin—iş akışı motoru örneği açılması biraz zaman alabilir (özellikle ilk kez).
      1. Genellikle, iş akışı motoru örneğinde depoda yapılan değişiklikleri görmek için './restart-galaxy.sh' veya './stop-galaxy.sh' çalıştırın, ardından betiği tekrar başlatın.
  4. Metaverse platform yapılandırması
    1. Başlatıcı ve uygulamayı indirdikten sonra uygulamayı açın (örneğin Omniverse Code).
    2. Pencerenin sol üst köşesinde, Extensions sekmesine tıklayın (diğer uygulamalarda bu Pencere | Uzantılar).
    3. Uzantılar penceresinde gri ayarlar butonuna tıklayın; Bu, zaten doldurulmuş birkaç dizinin olduğu bir pencereyi açacak. Yeşil plus butonuna tıklayarak omni_exts klasöre işaret eden bir başka yol ekleyin ve şu formatta bir yol ekleyin: '/galaxy-omniverse-example/omni_exts'; Daha fazla detay için Şekil 2'ye bakınız.
    4. ÜÇÜNCÜ TARAF sekmesinin sol sütununda 'OMNI GALAXY EXAMPLE' adlı yeni bir giriş arayın. Bu uzantının kaydırıcısını açık konuma getir ve uzatma penceresinin görünmesini bekle.
    5. Uygulama her başlatıldığında uzantını otomatik yüklemek için otomatik yükleme kutusunu seçin.
      NOT: Uzantı dosyalarında yapılan değişiklikler, dosya kaydedildiğinde otomatik olarak saklanmalıdır çünkü Omniverse uzantıların sıcak yeniden yüklenmesine izin verir
  5. İş akışı motoru hesap oluşturma ve Metaverse'e bağlantı
    1. İş akışı motoru örneğinde, üst çubuktaki Login veya Register butonuna tıklayarak hesap oluşturun, ardından Buradan Kayıt Olun ve ardından Step 1.2.2'de eklenen e-posta adresiyle bilgileri doldurarak yönetici erişimine sahip bir hesap oluşturun.
    2. API'nin iş akışı motoruyla iletişim kurmasını sağlamak için bir API anahtarı oluşturun. Üst çubuktaki Kullanıcı açılır menüsüne gidin | Tercihler | API Anahtarını Yönetin. Bir anahtar oluşturun ve kopyalayın.
    3. Anahtar oluşturulduktan sonra, bunu Adım 1.2.3'te oluşturulan default.json dosyasına boş tırnak işaretlerindeki 'galaxy_api_key' alanına ekleyin.
      DIKKAT: Bu dosya artık bir API anahtarı tutacak. Bu API anahtarı, ilgili hesaptaki işler çalıştırmak ve verilere erişmek için kullanılabilir. Bu, halka açık alan veya IP adresi olmayan yerel bir dağıtımda sorun olmamalıdır; Bu dosya yine gizli olarak kabul edilmeli ve bu nedenle paylaşılmamalı veya kamuya açık bir depoya bağlanmamalıdır (dosya varsayılan olarak .gitignore içinde listelenmiştir).
    4. Metaverse platform uygulamasını yeniden başlatarak varsayılan dosyada yapılan değişiklikleri yenileyin.
      NOT: API anahtarı, sunucu ayarları açılır menüsündeki uzantı penceresine doğrudan eklenebilir, ancak bu oturumlar arasında devam etmez.

2. İş Akışı Motorunda İşlerin Çalıştırılması

  1. Tek araçlar
    NOT: Tek araçlar, bireysel işlem veya simülasyon adımlarının izole olarak çalıştırılmasına ve incelenmesine olanak tanır; bu da girdilerin doğru biçimlendirildiğini ve aracın beklendiği gibi çalıştığını doğrulamak için faydalıdır, ardından aracı iş akışına dahil eder. Aşağıda referans verilen test dosyaları, dagmc.h5m (DAGMC CAD geometrisi) ve openmc_config.json (simülasyon konfigürasyonu), klonlanmış deponun test_files dizinindedir.
    1. Gerekli giriş dosyalarını sol sütundaki Veri Yükle'ye tıklayarak yükleyin ve ya Yerel dosyaları seç ya da dosya gezicisinden bu pencereye sürükleyip bırakın. dagmc.h5m (CAD dosyası) ve openmc_config.json (yapılandırma dosyası) dosyalarını yükleyin, ardından Başlat butonuna tıklayarak güncel geçmişe yükleyin. Her iki dosya da yükleme tamamlandığında sağdaki Geçmiş panelinde yeşil renkte görünecektir.
    2. Açılış sayfasının sol sütununda Complex Tools açılır menüsünü ve ardından OpenMC Nötronik Simülasyon aracını seçin.
    3. Şimdi araç özel sayfasında, Step 2.1.1'de yüklenen dosyalardan girdileri seçin ve CAD dosyasını dagmc.h5m veri seti olarak, yapılandırma dosyasını ise openmc_config.json veri seti olarak seçin.
    4. Execute butonuna tıklayın. Ekranın sağındaki Geçmiş panelinde iki yeni dosya (TBR ve Tracks) görünecek. Çalışırken turuncu, tamamlandığında ve başarılı olunca yeşile dönecekler, kırmızı ise alet arızasını gösterir. Hata ayıklama adımları için Bölüm 4'e bakınız.
    5. TBR (tritium üreme oranı) değeri, test vakasının başarılı şekilde çalışıldığından emin olmak için görselleştirilebilir. Genişletmek için TBR çıktısına, sonra grafik simgesine ve ardından düzenleyiciye tıklayın. Bu, TBR sonucunu ortaya çıkarır, bu yaklaşık 0.76 olması gerekir (bu istatistiksel bir yöntemdir ve burada yapılandırma simülasyon hızı için küçük bir örneklem büyüklüğü kullanır, bu yüzden sonuçlar değişkenlik gösterir).
      NOT: TBR değeri stokastiktir; 0.76 değeri ±0.01 değişebilir ve bu, hızlı örnek iş akışları için kasıtlı olarak küçük parçacık sayısını (5 parti 1.000 parçacık) yansıtır. Değer aralığını azaltmak için, tekrar çalıştırmadan önce openmc_config.json dosyasındaki ayarlar alanındaki parti ve partikül sayılarını artırın. Burada sunulan gibi basit bir geometri için bir rehber olarak, 10.000 parçacıktan oluşan 50 parti, sonraki çalışmalarda TBR değerlerinin dağılmasını azaltmalıdır ve bunun bedeli daha uzun çalışma süresi olur.
    6. Diğer araçlar da iş akışının Tracks çıktısında çalışarak sonuçları sonradan işleyebilir. Tracks çıkışında Tracks h5 to vtp aracını çalıştırın, ardından dagmc.h5m giriş dosyasında CAD h5m'den vtk aracına çalıştırın. Her ikisi de tracks_0.vtp ve dagmc.vtk adlı tek bir çıktı üretir ve bu da onları daha kolay görselleştirilebilir bir formata dönüştürür.
    7. Önceki adımda üretilen çıktılar, örneğinden indirilebilir ( çıktıya ve ardından kaydetme simgesine tıklarak) ve ardından ParaView14'te görselleştirilerek simüle edilen nötron izlerini görebilir.
    8. Sonuçları ParaView'da görselleştirmek için indirilen tracks_0.vtp ve dagmc.vtk çıktılarını içe aktarın. Bunlar pencerenin sol tarafında görünecektir. Ya içe aktarılan dosyaların yanındaki Göz İkonuna ya da özellikler penceresinde aşağıdaki Uygula butonuna tıklayarak çıktıyı görselleştirebilirsiniz. Bu, Şekil 7'de görülenle benzer olmalıdır.
  2. İş Akışları
    NOT: Bir iş akışı, tam bir işleme boru hattını, ilan edilen girdiler ve çıktılarla yönlendirilmiş bir grafik olarak kodlar. Tanımlandıktan sonra, aynı iş akışı herhangi bir giriş dosyası setine karşı her aracı manuel olarak yeniden yapılandırmadan tekrar çalıştırılabilir ve tüm çalışma geçmişi ile kaynak meta verileri otomatik olarak ele geçirilir.
    1. Üst navigasyon çubuğunda İş Akışı'na tıklayın, ardından sağ üst köşede Oluştur . İş akışı için bir isim ve açıklama girin (her şey olur), sonra tekrar Oluştur'a tıklayın.
    2. İş akışına üç araç ekleyin, Araçlar menüsünde ilgili bölümleri genişletin ve 2.1 bölümünde kullanılan araçları ekleyin: OpenMC Nötronik Simülasyonu, CAD h5m'den vtk'ya ve İzler h5'ten vtp'ye.
    3. Araçlar arasındaki veri akışını tanımlayın. Aletleri çalışma alanında sürükleyin, her birinin koyu mavi üst çubuğuna tıklayıp sürükleyin. Nötronik simülasyon aracının Tracks (h5) çıkışını, h5 aracının tracks.h5 girişine vtp aracına bağlayın. Bunu çıkıştaki oktan girişteki oka tıklayıp sürükleerek yapın.
    4. İş akışı düzeyindeki giriş veri setlerini tanımlayın. Araçların Girişler bölümünde, Giriş Veri Set'ine iki kez tıklayarak iki giriş düğümü oluşturun. Birini yapılandırma dosyası için, diğerini CAD girişi için ise adıma tıklayarak ve sağ taraftaki özellikler menüsündeki Etiket alanını değiştirerek yeniden adlandırabilirsiniz.
    5. Yapılandırma dosyasını ve CAD dosyasını nötronik simülasyon aracındaki girdilerlere, CAD dosyasını ise Şekil 3'teki deseni takip ederek h5m'den vtk'ya aracına bağlayın.
    6. Iş akışını sağ üstteki kaydetme simgesi ile kaydet.
    7. İş akışını çalıştırmak için, önceki gibi üst çubuktaki İş Akışı sekmesine tıklayın, ardından çalıştırılacak iş akışında oynat simgesine tıklayın. Sonra Step 2.1.2'deki gibi girdileri seç, bir araç çalıştırıyormuş gibi ve Çalışma Akışını Çalıştır'a tıklayın.
    8. İş akışının çalışmasını bekleyin, sonra çıktılar 2.1.5 ve 2.1.8 adımlarıyla karşılaştırılabilir; Bunlar çok benzer olmalı (yine, bu adımların istatistiksel değişimine dikkat edin). Geçmişteki tüm çıktılar yeşile döndüğünde iş akışı başarıyla çalışmıştır. Burada (giriş veri setleriyle birlikte) dört veri seti olmalıdır: TBR, Tracks, dagmc.vtk ve tracks_0.vtp.
    9. İş akışı çalıştırıldıkça, bazı kullanıcılar iş akışı çağrısının (çalıştırılması) kaynağını ve meta verilerini görmek isteyebilir. Bunu, üst çubukta Kullanıcı | Workflow Çağırmaları sayfasına geçerek başarılabilir. Bu, kullanıcının çalıştırdığı tüm iş akışlarının listesini oluşturur, ilgi duyduğunuz iş akışında aşağıya doğru oku tıklarak ve ardından BioCompute Object indir butonuna tıklayarak metadata JSON dosyasını indirebilirsiniz. Bu, çalıştırılan araçlar/iş akışları, kullanılan girdiler vb. hakkında kaynak içerir.
      NOT: İş akışı motoru ayrıca her iş akışı çalıştırma için giriş dosyası kontrol toplamları, araç sürümleri ve parametre değerleri dahil olmak üzere tam bir çalışma geçmişini kaydeder. Bir koşu için kaynak kaydını indirmek için Geçmiş panelini açın, sağ üstteki menüye (aşağıya doğru oku) tıklayın ve Geçmişi Dosyaya Aktar seçeneğini seçin. İhtır edilen arşiv, tüm veri setlerini ve bunları üreten adımların makine tarafından okunabilir bir kaydını içerir.
      İş akışı motoru tarafından üretilen köken veya geçmiş kaydetme, Bölüm 5.1'de tartışılan API aracılığıyla otomatikleştirilebilir; ancak bu protokolde detaylandırılmayacak.
  3. Daha karmaşık iş akışı
    NOT: Bu iş akışı, metaverse platformunda görselleştirme için gereken Evrensel Sahne Tanımı (USD) dosyalarını üreten sonradan işleme adımlarını ekleyerek Bölüm 2.2'yi genişletir. Hiçbir araç doğrudan DAGMC (.h5m) veya VTK (vtp)'den USD'ye dönüştürmediği için, boru hattı verileri iki çok adımlı dönüşüm zinciri üzerinden yönlendirir: CAD geometrisi H5M, STL, OBJ, USD boru hattını takip eder ve nötron izleri H5, VTP, OBJ, USD gider.
    1. Şekil 4'te gösterilen iş akışını takip ederek 2.2. bölümde gösterildiği gibi, bir iş akışı kurmak için adımları takip edin.
    2. İki iş akışı seviyesi girdisini Adım 2.2.4'teki gibi tanımlayın, onları CAD DAGMC ve Config File olarak adlandırın.
    3. OpenMC Nötronik Simülasyon aracını ekleyin ve CAD DAGMC ile Config File girişlerini Adım 2.2.3'te olduğu gibi ilgili girişlere bağlayın.
    4. Nötronik dönüşüm zincirini oluşturun. Tracks h5'i vtp'ye, vtp'yi obj'ye ve obj'yi USD araçlarına ekleyin ve ardından her birinin çıkışlarını bir sonraki girişlere bağlayın; Şekil 4'ün alt dalındaki düzeni takip ederek.
    5. CAD dönüşüm zincirini oluşturun. h5m'yi STL'ye, STL'yi OBJ'ye ve OBJ'yi USD araçlarına ekleyin, ardından her birinin çıkışlarını bir sonraki girişlere tekrar bağlayın; Şekil 4'ün üst dalındaki düzeni takip ederek.
    6. İş akışını kaydedin; artık Bölüm 3'teki uzantı aracılığıyla metaverse platformunda kullanıma hazır hale geldi.
      NOT: Bu ek adımlar, kullanıcıların iş akışlarının ve araçların nasıl paylaşılabileceğini gösterir; böylece sonuçlar elde etmek için kullanılan veri ve yöntemlere tekrarlanabilirlik ve erişilebilirlik sağlanır.
    7. İş akışını taşınabilir bir dosya olarak dışa aktarın; üst çubukta Workflow'a gidip, menüye (aşağıya doğru ok) tıklayın ve İndir'i seçin. İş akışı yöneticisi, aynı araçlara sahip herkes tarafından paylaşılıp iş akışı motoru örneğinde kullanılabilecek bir .ga JSON dosyası kaydeder. Bu, üst çubuktaki Workflow | Import ile içe aktarılabilir.
    8. Klonlanmış depodaki galaxy-tools/ klasörünü halka açık bir sürüm kontrol ana bilgisayarına bağlayarak araçları paylaşın. İş birlikçilerinden bunu klonlamalarını ve tüm konteynerize araçlara erişim sağlamalarını isteyin; bunları yayıncının yerel cihazındaki gibi çalıştırın.
      NOT: Açık iş akışı yöneticisi örnekleri yapılandırılabilir, bu da yerel dağıtımlar arasında iş akışı ve araç dosyalarının manuel paylaşımını aşmayı engeller. Bu durumlarda, araçlar tüm kullanıcılar için erişilebilir ve iş akışları ile geçmişler diğer tüm kullanıcılara kamuya açık hale getirilebilir. Bu protokolün kapsamı dışında, ancak kalıcı dağıtım için resmi Galaxy Training ağında daha fazla bilgi bulunabilir: https://training.galaxyproject.org/training-material/topics/admin/tutorials/ansible-galaxy/tutorial.html veya depoda verilen docker comppose yığını, sunucuda olduğu gibi dağıtılabilir ve ardından bir proxy veya benzeri yöntemlerle yönlendirilerek halka açık hale getirilebilir.

3. Metaverse platformundan bir iş akışı yürütmek

  1. İş Akışını Başlatmak
    1. Metaverse platform uzantısı penceresinde Get Workflows (Açıklama 2, Şekil 5) seçeneğine tıklayın. Bir açılır menü, default.json'de depolanan API anahtarıyla ilişkili iş akışı motoru hesabında mevcut tüm iş akışlarıyla doldurulacaktır. Eğer durum böyle değilse, API anahtarının JSON dosyasında doğru kaydedildiğinden emin olun ve anahtarı aldığından emin olmak için metaverse platform uygulamasını yeniden başlatın.
    2. Liste için Karmaşık İş Akışı seçeneğini seçin ve ardından Get Inputs (Açıklama 4, Şekil 5) seçeneğine tıklayın. İş akışında tanımlanan giriş alanları (Adım 2.3.2) görünür ve aynı şekilde adlandırılmalıdır.
    3. Her dosya tabanlı giriş için, Select File seçeneğine tıklayın ve dosya gezgincisi açılır penceresini kullanarak ilgili yerel dosyayı seçin: CAD DAGMC girişi için dagmc.h5m ve Config File girişi için openmc_config.json.
    4. Başlatma İş Akışına tıklayın (annotasyon 6, Şekil 5). Bilgi bölümünde (açıklama 7) bir fırlatma onay mesajı görüntülenecektir. İş akışı tamamlandıktan sonra, ek mesajlar çıktı dosyalarının kaydedildiğini ve çalışmanın bittiğini doğrular.
      NOT: İş akışı iş ilerlemesi, iş akışı motorunun web arayüzünde http://localhost:8080 Yönetici | İşler sayfasına geçerek izlenebilir. Yönetici erişimi gereklidir (bkz. Adım 1.2.2).
  2. Sonuçların görselleştirilmesi
    NOT: Her iş akışı çalıştırması tamamlandığında, sistem iş akışı motorundan çıktı dosyalarını otomatik olarak yerel bir çıktı dizinine indirir. Kayıt yolu, uzantının default.json dosyasındaki output_dir anahtarı tarafından kontrol edilir. Her çalışma zaman damgalı bir klasörde saklanır, böylece çıktılar uzantıyla ayırt edilebilir. Metaverse platformunda görselleştirmede sorun yaşanırsa, dosyalar bu klasörlerden erişilebilir ve sorunun iş akışı motorunda olup olmadığını görmek için manuel olarak görüntülenebilir.
    1. Metaverse platformunda, Dosya Yöneticisi bölümünü (açıklama 1, Şekil 6) genişletin ve Yenile (açıklama 2) tuşuna tıklayın. Bu, tamamlanmış iş akışı çalışmalarının listesini yerel dizine kaydedilmiş şekilde geri getirir.
    2. Klasörler açılır menüsünde (annotasyon 3, Şekil 6), mevcut iş akışı çalıştırması için klasörü seçin (şu anda orada sadece bu klasörün olduğunu doğrulayın) ve tekrar Refresh tuşuna tıklayarak Dosyalar açılır menüsünü o çalışmadan çıktılarla doldurun.
    3. Dosyalar açılır menüsünden bir dosya seçin (annotasyon 4, Şekil 6; şu anda sadece .usd, .txt, .json ve .out dosyaları destekleniyor) ve ardından Pull File (açıklama 5) seçeneğine tıklayın. Metin tabanlı dosyalar Bilgi panelinde gösterilir, USD dosyaları mevcut sahneye eklenir ve ana görünüm penceresinde görselleştirilmelidir.
    4. İçe aktarılan geometriyi Omniverse'in koordinat konvansiyonuyla hizalamak için, sağdaki Sahne panelini açın, her iki ithal iş akışı nesnesini seçin ve hemen altındaki Özellik panelinde X'i − 90° olarak döndürün. Bu, USD ihracat araçlarının kullandığı z-up konvansiyonu ile Omniverse'in y-up konvansiyonu arasındaki uyumsuzluğu düzeltir. Bu rotasyonu hem CAD USD hem de tracks USD dosyasına uygulayın; hizalama sonrası beklenen görüntü penceresi durumu Şekil 8'de gösterilmiştir.
    5. Son olarak, parçalar arasında daha fazla kontrast sağlamak için malzemeler atanabilir. Bu, uygulamanın altındaki Malzemeler sekmesini açıp bir malzeme seçerek ve sağ sütundaki Sahne görünümünde geometriye sürükleyip bırakarak sağlanır. Bunu, her iki ithal geometri için de karşılaştırmayı artırarak karşılaştırın.

4. Yeni araçlar eklemek

NOT: Bu bölüm, yeni iş akışı araçları oluşturma ve dağıtma sürecini anlatır. Bu, deponun dosya sistemine erişim ve hata ayıklama için iş akışı motoruna yönetici erişimi gerektirir. Sadece mevcut araçları ve iş akışlarını çalıştırmak veya iş akışı oluşturmak isteyen kullanıcıların bu bölümü takip etmesi gerekmez.

  1. Genel süreç
    1. Simülasyon veya işleme betiklerini iş akışı motorundan bağımsız olarak geliştirin ve test edin, sonra paketleyin. Araç wrapperi mevcut çalışma betikini çağırır, yeni mantık uygulamak bir araç geliştirirken önerilmez.
    2. Script için yürütme ortamını, script tarafından gerekli olan tüm çalışma zamanı bağımlılıklarını (kütüphaneler, ikili sayfalar, veri dosyaları vb.) içeren bir Docker görüntüsü oluşturarak hazırlayın.
      NOT: Bu protokoldeki tüm örnek araçlar yürütme ortamı olarak Docker konteynerlerini kullanır. Conda ortamları da iş akışı motoru tarafından desteklenir ancak burada gösterilmemektedir. Docker hakkında daha fazla bilgi resmi dokümantasyondan veya iyi bir giriş kursu buradan bulunabilir: https://uomresearchit.github.io/docker-introduction/ .
    3. Çalışma ortamını (bu durumda Docker), betiği çağırmak için komutu ve araçların girdilerini, çıktılarını ve meta verilerini iş akışı motorunun arayüzünde göstermek üzere bildiren bir XML araç tanım dosyası oluşturun.
    4. Wrapper oluşturulduktan sonra, XML ve tüm betikleri depodaki yeni bir galaxy-tools// klasöre yerleştirin. Uygun
      etiketlerinin altında, galaxy-tools/tool_conf.xml içinde araç için yeni bir giriş ekleyin; bu etiket yeni oluşturulan XML dosyasının göreceli dosya yoluna işaret eder.
      NOT: Bu dosya adının tam olarak kopyalandığından emin olun, çünkü yeni araçlar kurmaya çalışırken bu yaygın bir hatadır. Eğer tool_conf.xml girişi yanlış bir yol içerse veya XML dosyasında sözdizimi hatası varsa, iş akışı motoru örneği başlayamıyor. İş akışı konteyner kayıtlarını hata mesajları açısından incelemek için, depo kökünden aşağıdakileri çalıştırın:
      'Docker Kayıtları Düzenliyor Galaksi'
      XML ayrıştırma hataları, ERROR yükleme aracının
    5. Repo kökünden yeniden başlatma bebesini çalıştırarak iş akışı motorunu yeniden dağıtın: ./restart-galaxy.sh.
    6. Aletin doğru şekilde kaydedildiğini doğrulayın. http://localhost:8080'ye gidin, Araçlar panelinde aracı bulun ve tüm girdilerin beklendiği gibi göründüğünden emin olmak için aracı tıklayın. Araç yoksa, yukarıdaki notu hata ayıklama için takip edin ve hala hata varsa, aracın XML'nin kendi sözdizimi kontrol edin çünkü bu da dağıtım hatalarına yol açabilir.
    7. Yeni aracı önceki gibi çalıştırın, ancak daha önce test edilmiş girdilerle. Çıkışlar Tarih panelinde yeşile dönmelidir
    8. Araçlar başarısız olursa, yönetici olarak başarısız (kırmızı) çıktıya tıklayın ve Bilgi simgesine tıklayın. Bu, ayrıntılı bir çıkış sayfasını gösterir ve stdout ile stderr akışlarını gösterir. Bunlar, aracın hata ayıklama ile ilgili daha fazla bilgi için genişletilebilir.
  2. Basit araçlar
    NOT: Araçlar 1–5, giderek daha karmaşık sarma desenlerini gösterir. XML dosyası ve her aracın betikleri, depodaki ilgili galaxy-tools/simple// alt dizinindedir. Her aracı 4.1.4–4.1.5 Adımları ve Bölüm 2.1'e uygun olarak dağıtın ve çalıştırın.
    Araç 1 – Basit bir komutu çalıştırmak
    1. galaxy-tools/simple/1/1.xml dosyasına bak. Gereksinim öğesi bir Linux yürütme ortamını belirtir. Komut öğesi, çalıştırmak için echo komutunu içerir.
    2. Tool 1'i iş akışı motoru arayüzünden çalıştırın ve giriş dosyalarına gerek yok. Çıkış dosyası da tanımlanmadığı için, bir Yönetici olarak Yönetici, İşler sayfasına gidin ve ardından Bilgi simgesine tıklayarak stdout ve stderr akışlarını görün; bu da Step 4.1.8'deki gibidir. Stdout akışı yalnızca XML dosyasındaki komuttan 'hello world' dizesini içermelidir.
      Araç 2 – Metin tabanlı girdi kullanımı
    3. galaxy-tools/simple/2/2.xml dosyasına bak. Artık giriş alanında type="text" param öğesi olan bir giriş var ve komut bölümü artık giriş değişkenine name etiketiyle referans veriyor.
    4. Tool 2'yi önceki gibi çalıştır; Bu sefer, araca bir dizi girdisi verin. Bu, kullanıcının istediği her şey olabilir. Çıktıyı Adım 4.2.2'deki gibi görün ve stdout çıktısı, kullanıcının araç girişinde sağladığı dizi olmalıdır.
      Araç 3 – Dosya tabanlı bir girdi kullanımı
    5. Yine, araç dosyasına bakın; Artık bir dizi girişi yerine, giriş parametresi type="data" etiketi kullanır ve bu da bir dosyanın kullanılmasına olanak tanır. Bu, komut bölümünde dosya yolu olarak referans alınır ve yine giriş parametresinin adı kullanılır.
    6. Yerel bir metin düzenleyici kullanarak .txt dosyası oluşturun, çalıştırmazsanız şöyle:
      'Echo "Hello World from a file" > test_files/input.txt'
      Depo kök klasöründen örnek girdiyi oluşturmak için kullanın.
    7. Oluşturulan .txt dosyasını Adım 2.1.1'deki gibi yükleyin ve ardından önceki gibi Araç 3'ü çalıştırın, yüklenen .txt dosyasını giriş olarak seçin. Yine, stdout'u aynı şekilde görürseniz, .txt dosyasının içeriği orada gösterilmelidir. Yukarıdaki komut kullanılırsa, çıktı "dosyadan merhaba dünyası" olmalıdır.
      Araç 4 – Bir dosyaya çıktı yazma
    8. Galaksi araçlarını/simple/4/4.xml inceleyin. Bir çıktılar bölümü artık komut bölümünde referans alınabilecek adlandırılmış bir çıktı dosyasını ilan eder.
    9. Aracı .txt girdisiyle önceki gibi çalıştırın, ancak artık çıktıyı yönetici olarak görmek yerine, bu Geçmiş panelinde normal kullanıcı tarafından görülebilir ve başarılı bir çalıştırmada yeşil olur ve önceki bölümlerde detaylandırıldığı gibi iş akışı motorunda indirilebilir/görüntülenebilir.
      Araç 5 – Araçlarda script çalıştırma
    10. galaxy-tools/simple/5/5.xml ve beraberinde getirilen python scripti galaxy-tools/simple/5/5.py inceleyin. XML'de komut, araç dizininden Python betiklerine referans verir ve gereksinimler bölümü artık bir Python görüntüsüne atıfta bulunur çünkü Python betiği çalıştırmak için gereklidir.
    11. Aracı aynı şekilde dağıtıp çalıştırın, Tool 4 (Adım 4.2.9) gibi davranmalıdır ama bu sefer doğrudan komut yerine bir script çalıştırır.
  3. Karmaşık araç örneği
    NOT: Bu bölüm, nötronik aracının geliştirilmesini, Bölüm 4.1'de tanımlanan desenin işlenmiş bir örneği olarak belgelemektedir. İlgili dosyalar galaxy-tools/complex/openmc/ içindedir. Aynı desen herhangi bir simülasyon veya işleme koduna genelleştirilir.
    1. Simülasyon için çalıştırma betiklerini geliştirin. Bu örnek için, galaxy-tools/complex/openmc/openmc_run.py çalıştırma betiği bir yapılandırma dosyasını (openmc_config.json) ayrıştırır, nötronik ayarlar dosyasını yazar ve simülasyonu çalıştırır. Komut satırından doğrudan betikleri test edin, sonra Docker imajında paketleyin.
    2. Docker yürütme ortamını galaxy-tools/complex/openmc/Dockerfile adresinde Dockerfile kullanarak oluşturun.Bu, kamu imajını birkaç ekstra paketle genişletiyor. Yerel olarak oluşturup etiketleyin veya bir konteyner kayıt defterinden referans verin.
    3. XML wrapper'ı galaxy-tools/complex/openmc/openmc.xml oluşturun ve gereksinimler bölümünde Docker görüntüsünü 4.3.2'den ilan edin. Giriş ve çıkış dosyalarıyla birlikte çalıştırma komutu (örneğin Bölüm 4.2'deki gibi) de tanımlanmalıdır.
    4. Aracı 4.1.4-4.1.7 Adımlarındaki gibi dağıtın ve ardından Bölüm 2'de kullanılan test girdilerini kullanarak aracın doğru çalıştığından emin olun.
      NOT: Örnekteki kalan araçlar (H5'ten vtp'ye, CAD h5m'den vtk'ya, h5m'den stl'ye, stl'den obj'ye, vtp'den obj'ye, obj'den USD'ye) aynı geliştirme modelini takip eden dosya formatı dönüştürücüleridir. XML dosyaları galaxy-tools/complex/ dizininde yer alır ve ek referans örnekleri olarak kullanılabilir.

5. İş akışlarını Metaverse'e bağlamak

NOT: Bu bölüm, iş akışı motorunun API entegrasyonunu ve metaverse platform uzantısı mimarisini açıklayan geliştirici referans materyali sunar. Metaverse platformundan sadece iş akışlarını çalıştırması gereken kullanıcılar Bölüm 3'ü takip etmeli ve bu bölümü okumalarına gerek yok. Farklı bir ön uç uygulamasını iş akışı motoruna bağlamak isteyen geliştiriciler, Bölüm 5.1'den başlamalıdır.

  1. İş Akışı Motoru API'si
    NOT: Galaxy, RESTful API'sini açığa çıkarıyor. Bioblend Python kütüphanesi, bu API etrafında daha yüksek seviyeli bir wrapper sağlar ve bu protokolde kullanılan tüm yardımcı betiklerin temelini oluşturur. Bioblend, depoda sağlanan ilgili Docker yürütme ortamlarına otomatik olarak yüklenir.
    1. Bioblend'i içe aktarın ve Adım 1.5.2'den sunucu adresi ve API anahtarıyla bir GalaxyInstance nesnesi oluşturarak çalışan iş akışı motoruna bağlantı kurun. Python'da, Bioblend kurulu bir ortamda:
      `bioblend.galaxy'den GalaxyInstance'ı içe aktar
      gi = GalaxyInstance(url='http://localhost:8080', key=)'
      NOT: Bu sadece yerel dağıtımlar için çalışır; iş akışı motoru uzak bir makinede dağıtılıyorsa, localhost'u yapılandırılmış örneğin adresi ve portuyla değiştirin.
    2. galaxy-api/helper_functs.py içindeki yardımcı fonksiyonları kullanarak yaygın işlemleri gerçekleştirin: mevcut iş akışlarını listelemek (get_workflows), iş akışı giriş tanımlarını almak (get_inputs) ve belirli giriş dosyalarıyla iş akışını başlatmak (launch_workflow). Fonksiyon imzaları ve beklenen dönüş türleri için o dosyadaki satır içi docstringlere bakabilirsiniz.
    3. Uygulamaya göre diğer fonksiyonlarla helper_functs.py genişletin. Tam referans API'si https://bioblend.readthedocs.io. adresinde bulunabilir.
  2. İş akışlarını metaverse ile bağlamak
    NOT: Bu bölüm yalnızca metaverse platform uzantısı mimarisini açıklar, böylece geliştiriciler farklı iş akışı çıktıları, ek dosya türleri veya alternatif metaverse platformları için uyarlayabilir.
    1. omni_exts/omni.galaxy.example/ adresinde ana uzantı giriş noktasını açın. Bu uzantı başlangıç noktası olarak Omniverse tabanuzantısı 15'i kullanır. Daha sonra, 5.1.2 adımında tanımlanan yardımcı fonksiyonlar API Python dosyasından tüm işlevleri ekler ve iş akışlarıyla etkileşime girmek için bir arayüz sağlar.
    2. İş akışları başlatıldığında, ürettikleri veriler otomatik olarak iş akışı motorundan indirilir ve yerel olarak depolanır, böylece metaverse platformunda görselleştirilebilir. Bu aynı zamanda iş akışı sırasında oluşturulan meta verilerin kaydedilmesine ve erişilebilir hale getirilmesine olanak tanır; böylece simülasyon verilerinin kaynağı sağlanır.
    3. Bu uygulama, arayüzü oluşturmak için Omniverse'in yerel omni.ui kütüphanesini kullanır. Ana uzantı uzantı klasöründedir ve arayüzün ana uygulaması omni_exts/omni.galaxy.example/omni/galaxy/example/window.py dosyasındadır.

Erişim kısıtlı. Bu içeriği görüntülemek için lütfen giriş yapın veya deneme sürümünü başlatın.

Sonuçlar

Simülasyonlar, git deposunda sağlanan girdilerle çalıştırılırsa, aşağıdaki sonuçlar elde edilmelidir:

Step 2.1.3 başarılı tamamlandığında, hem TBR hem de Tracks çıktı veri setleri Geçmiş panelinde yeşil renkte görünür ve başarılı bir çalışmayı gösterir. Sağlanan yapılandırma dosyası (5 parti 1.000 parçacık) kullanılarak temsil edilen TBR değeri yaklaşık 0.76'dır ve çalışmalar arasında yaklaşık ±0.01 varyasyonl...

Erişim kısıtlı. Bu içeriği görüntülemek için lütfen giriş yapın veya deneme sürümünü başlatın.

Tartışma

Protokol içinde birkaç kritik adım vardır. Çoğu, iş akışı motoru örneğinin ilk kurulumuyla ilgilidir, örneğin: yönetici e-postasını eklemek (protokol adımı 1.2.2), çünkü bu araçlara ve iş panellerine yönetici erişimi için gereklidir; metaverse platform uzantısı için API anahtarını doğru şekilde oluşturmak (protokol adım 1.5.3) ve bunu varsayılan değerler dosyasına doğru şekilde yapıştırmak; Ve araç eklerken, bu hataların yeniden başlatmadan önce araç yapılandırma dosyasına (protokol adım...

Erişim kısıtlı. Bu içeriği görüntülemek için lütfen giriş yapın veya deneme sürümünü başlatın.

Açıklamalar

Yazarların açıklamak zorunda kalacak bir çıkar çatışması yoktur.

Teşekkürler

Bu proje, Birleşik Krallık Atom Enerjisi Otoritesi tarafından Füzyon Endüstrisi Programı aracılığıyla desteklenmiştir. Füzyon Endüstri Programı, Birleşik Krallık füzyon ekosisteminin büyümesini teşvik ediyor ve onu gelecekteki küresel füzyon santrali pazarına hazırlıyor. Fusion Industry Program hakkında daha fazla bilgi çevrimiçi olarak bulunabilir: https://ccfe.ukaea.uk/programmes/fusion-industry-programme/

Bu protokole eşlik eden örnek depo, https://github.com/williamjsmith15/galaxy-omniverse-example adresinde mevcuttur (https://github.com/UoMResearchIT/omniverse-workflows-fusion'nin halka açık çatalıydı).

Erişim kısıtlı. Bu içeriği görüntülemek için lütfen giriş yapın veya deneme sürümünü başlatın.

Malzemeler

Bu makalede kullanılan malzemelerin listesi
AdŞirketKatalog numarasıYorumlar
BioblendGalaxy Projectv1.2+Python kitaplığı, Galaxy REST API'si etrafında üst düzey bir sarmalayıcı sağlar. Bu, Omniverse uzantısı yardımcı betiklerinde iş akışlarını listelemek, giriş tanımlamalarını almak ve işleri başlatmak için kullanılır. İlgili Docker görüntülerinde otomatik olarak yüklenir; ana bilgisayar yüklemesi gerekmez.
Docker ContainersDockerv24.0.5Her simülasyonu ve son işlem aracını tüm bağımlılıklarıyla birlikte paketlemek için kullanılan kapsayıcı çalışma zamanı, taşınabilirliği ve tekrarlanabilirliği sağlar.
GalaxyGalaxy Projectv22.05Zincirli simülasyon ve işleme araçlarını düzenlemek ve bunları bir REST API aracılığıyla sunmak için kullanılan açık kaynak kodlu iş akışı motoru.
GitGit SCMv2+Protokolü takip etmek için depoyu klonlamak için gereklidir
NVIDIA RTX GPUNVIDIA-Omniverse'de gerçek zamanlı ışın izleme işlemleri için gereklidir (Bölüm 3). RTX donanımına sahip olmayan kullanıcılar, tüm adımları Bölüm 2'ye kadar tamamlayabilir ve görselleştirme için ParaView kullanabilir (bkz. Tartışma).
OmniverseNVIDIACode 2022.3.3NVIDIA'nın iş birliği yapabilen 3D platformu. Bu, iş akışı çıktılarının görselleştirme ve etkileşim ön ucu olarak özel bir Kit uzantısı aracılığıyla kullanılır.
ParaViewKitwarev5.11RTX olmayan bir yedek olarak kullanılıp ara .vtk/.vtp çıktılarını incelemek için kullanılan açık kaynak kodlu bilimsel görselleştirme uygulaması.
Protocol RepositoryCustomv1.0Galaxy yapılandırmasının yanı sıra tüm araç XML sarmalayıcıları, çalıştırma betikleri, Dockerfile'lar, test verileri ve Omniverse uzantısını içerir. 1.2.1 Adımında klonlanır. Önemli dosyalar ayrıca doğrudan ek yüklemeler olarak sağlanır (bkz. I.2).
PythonPythonv3.10+OpenMC çalıştırma betiği ve Omniverse uzantısı yardımcı betikleri için gereken çalışma zamanı. İlgili Docker görüntülerinde veya Omniverse indirmesiyle birlikte bulunur; ayrı bir ana bilgisayar yüklemesi gerekmez.
The OpenMC Monte Carlo CodeOpenMCv0.13.3Burada füzyon nötroniği simülasyonu için kullanılan açık kaynak kodlu Monte Carlo parçacık taşıma kodu. Trityum üreme oranı (TBR) ve nötron izleme çıktılarını sağlar.
Windows Subsystem for Linux (WSL)Microsoftv2Windows ana bilgisayarlarda Docker'ı çalıştırmak için gereklidir (powershell'de `wsl --install` ile yükleyin). Linux ve Mac kullanıcıları buna ihtiyaç duymaz.

Yeniden basım ve izinler

Etiketler

M hendislikSay 233Say 233Bo De erSayGalaxyOmniverseFusionN tronik