Een abonnement op JoVE is vereist om deze inhoud te bekijken. Log in of start vandaag met uw gratis proefperiode.

Methodenartikel

Integratie van geautomatiseerde simulatieworkflows met 3D-visualisatie voor virtuele experimenten in de metaverse

787 weergaven

⸱

DOI:

10.3791/71833

⸱

21 juli 2026

 ,  , 

In dit artikel

Samenvatting

Een gegeneraliseerde, FAIR-conforme methode wordt gepresenteerd voor domeinexpertonderzoekers die simulatie- en dataverwerkingstools willen integreren in geautomatiseerde workflows voor 3D-virtuele experimenten. Een voorbeeld van Neutronics laat zien hoe je een lokale Galaxy-instantie opzet, OpenMC en bestandsconversietools ompakt, workflows vanuit Omniverse opstart en de geconverteerde 3D-uitvoeren visualiseert.

Samenvatting

In veel virtuele experimenten worden meerdere softwarepakketten gebruikt met verschillende simulatietypen, pre- en postprocessing-tools, en tools om de resultaten van de experimenten te visualiseren—vaak een combinatie van alle. De gebruikelijke methode om deze te integreren is een handmatige methode, met op maat gemaakte oplossingen voor elk toepassingsgebied, wat slecht schaalt en het delen en reproduceerbaarheid belemmert.

Dit protocol demonstreert de implementatie en het gebruik van een lokaal gecontainerd workflowsysteem. Daarna starten gebruikers een lokale Galaxy-instantie met Docker, maken en draaien een OpenMC neutronica-simulatieworkflow, laten de uitvoeren door een keten van formatconversietools en laden de resultaten in zowel ParaView als NVIDIA Omniverse voor visualisatie. De containerized deployment bevordert reproduceerbaarheid en draagbaarheid op elke machine die voldoet aan de hardware-eisen zoals beschreven in Sectie 1.

Zodra het systeem draait, kunnen workflows opnieuw worden uitgevoerd met nieuwe invoer zonder handmatige herconfiguratie, kunnen extra simulatiecodes met bescheiden inspanning als nieuwe tools worden verpakt, en kunnen tools in meerdere workflows en toepassingsgebieden worden gebruikt. De aanpak ondersteunt de principes van vindbare, toegankelijke, interoperabele, herbruikbare data (FAIR): run histories leggen volledige herkomstmetadata vast, workflows zijn exporteerbaar als draagbare bestanden en kunnen direct gedeeld worden tussen Galaxy-instanties, en tools worden verpakt in versiegestuurde containers die in een openbare repository kunnen worden gepubliceerd. Schaalbaarheid naar high-performance computing (HPC) of cloudbronnen via het Pulsar-systeem van Galaxy is een natuurlijke uitbreiding van de hier beschreven architectuur.

De methode wordt aangetoond aan de hand van een casestudy van fusieneutronica. OpenMC wordt gebruikt om neutronentransport te simuleren in een Direct Accelerated Geometry Monte Carlo (DAGMC) computerondersteund ontwerp (CAD) meetgebied, waarbij een tritium breeding ratio (TBR) resultaat en een neutronenspoordataset wordt geproduceerd. De simulatieworkflows worden vervolgens verbonden met de NVIDIA Omniverse als het metaverse-platform voor aanroepen en visualisering.

Inleiding

De industriële metaverse combineert digitale en fysieke werelden om ontwerp, simulatie en collaboratieve 3D-visualisatie van ontworpen systemen te ondersteunen. Het bestaat doorgaans uit vele onderling verbonden digitale tweelingen van componenten om een overkoepelend systeembeeld te geven. Grote organisaties zoals Boeing, BMW, Amazon en vele anderen hanteren meerdere benaderingen om metaversete creëren 1. Er zijn systemen ontwikkeld om meerdere ketens van simulatie- en verwerkingstools mogelijk te maken en worden gebruikt. Deze voorbeelden zijn echter doorgaans ofwel op maat gemaakt voor toepassingsgebied2 of commerciële opties 3,4 met enige vergrendeling aan propriëtaire systemen. Sommige open-source alternatieven voor het bouwen van digitale tweelingen zijn gebruikt om bepaalde systemen te creëren, zoals Python Flask, met ingebouwde simulatiemogelijkheden. Toch zijn deze geconfigureerd als op maat gemaakte stukken code om specifieke taken uit te voeren die verband houden met het betreffende model5. In de context van dit protocol functioneert het metaverse-platform (NVIDIA Omniverse) als een front-end voor 3D-visualisatie en workflowinteractie: simulatie-uitvoer worden geladen in een gedeelde scène nadat een workflowrun is voltooid, en nieuwe runs kunnen binnen dezelfde omgeving worden gestart. Dit verschilt van live digital-twin systemen waarbij realtime sensorfeeds het model continu bijwerken; De hier geïntroduceerde methode ondersteunt batch-workflowuitvoering en het nabewerken van resultaten. Dit gebeurt echter op zo'n manier dat toekomstige projecten worden ondersteund om meer systemen in het metaverse-platform te integreren, zodat digitale tweelingen met workflow-engines als computationele backend kunnen worden gecreëerd.

Workflows kunnen worden gedefinieerd als ketens van softwaretools die expliciet de datastroom tussen hen specificeren. Ze maken het mogelijk om bestaande simulatiecodes, verwerkingsscripts en andere stappen in een typische analysepijplijn te wrappen, zonder de functie hiervan te wijzigen, maar in plaats daarvan kunnen ze worden geconfigureerd en opnieuw geconfigureerd met gestandaardiseerde inputs en outputs die tool-agnostisch zijn. Workflows maken eenvoudige replicatie van resultaten mogelijk via het delen van tools, en bieden ook metadata en herkomst over welke versies van tools zijn gebruikt, in welke volgorde en met welke inputs. Hulpmiddelen zelf kunnen in veel simulatiepijplijnen worden hergebruikt, waardoor onderzoekers minder tijd kunnen besteden aan het opzetten van simulaties en meer tijd aan het ontwerpen van experimenten en het verkennen van de resultaten. Workflowsystemen zijn ook schaalbaar, met methoden om verbinding te maken met verschillende lokale compute-, cloud- en HPC-bronnen, waardoor veel grootschalige workflows op specifieke hardware op een geautomatiseerde manier kunnen worden uitgevoerd6.

De typische handmatige aanpak is van nature traag, foutgevoelig en moeilijk te reproduceren, waarbij een onderzoeker elke simulatie- of nabewerkingstool met de hand uitvoert, tussenbestanden tussen omgevingen verplaatst en individuele uitvoeringsinvoer en uitvoer moet documenteren. In tegenstelling hiermee formaliseert een workflowmanager de datastroom één keer en voert deze deterministisch opnieuw uit. Dit brengt veel voordelen met zich mee ten opzichte van handmatige pijplijnen: dezelfde workflow kan identiek worden uitgevoerd op verschillende invoer, wat parameterstudies ondersteunt zonder op maat gemaakte scripting; Elke run legt automatisch volledige herkomstmetadata vast, waarmee eventuele reproduceerbaarheidskloof wordt aangepakt; en zodra een tool is gewrapt, dalen de hergebruikskosten in latere workflows tot bijna nul, behalve de rekentijd. Deze voordelen zijn gekwantificeerd voor bio-informatica door Wratten et al.7 en voor proteomics/metabolomics door Perez-Riverol en Moreno8 en Verhoeven et al.9.

Historisch gezien zijn workflows voornamelijk gebruikt in het bio-informaticaveld 8,9 met groot succes bij grote publieke instanties zoals de Europese Galaxy Server10,11, die in 2022 meer dan 50.000 gebruikers, 2500 tools huisvestte, meer dan 47 miljoen taken uitvoerde en 260.000 workflowruns uitvoerde. Dezelfde workflow-engine ondersteunt schaalbaarheid op HPC- en cloudbronnen via het Pulsar gedistribueerde job-uitvoeringssysteem 6,11, met operationele implementaties verspreid over 13 Pulsar-eindpunten in 10 Europese landen. Van de vele beschikbare workflowmanagers, waaronder Snakemake, Nextflow, Toil en CWL-compatibele engines, werd de Galaxy workflow engine11 om een paar redenen gekozen. Een van de belangrijkste redenen is de volwassen browsergebaseerde interface, die de drempel verlaagt voor domeinexperts die niet voornamelijk op de commandoregel werken; het biedt een complete representational state transfer (REST) application programming interface (API) (API) (gebruikt in het huidige werk om te bridgen naar de metaverse-front-end); Het geschiedenis- en banenmodel legt de herkomst vast in een vorm die eenvoudig te tonen is aan niet-specialistische medewerkers; en het ondersteunt transparante HPC-offload via het eerder genoemde Pulsar-systeem (hoewel dit niet wordt besproken in het protocolgedeelte van dit artikel). De benadering die in dit artikel wordt beschreven, is echter in principe workflow-engine-agnostisch: equivalente integraties zouden bovenop alternatieve engines kunnen worden gebouwd. De bijdrage van dit werk is niet de workflowmanager zelf, maar de vertaling van een algemene workflowmanager die oorspronkelijk voor bio-informatica is ontwikkeld naar andere vakgebieden (met het specifieke voorbeeld van fusieneutronica hier), en de integratie ervan met een industrieel-metaverseplatform (NVIDIA Omniverse), binnen een volledig containeriseerde, lokaal inzetbare stack, toegepast op 3D-virtuele experimenten.

Ten slotte maakt containerisatie het delen van veel softwarestukken mogelijk door code te verpakken met het besturingssysteem en alle afhankelijkheden die het nodig heeft om te draaien. Deze omgevingen vermijden het probleem van ontbrekende afhankelijkheden en het gedoe van het installeren van sommige simulatiecodes. Ze zijn qua doel vergelijkbaar met virtuele machines, maar veel lichter en draagbaarder. Ze vergroten de deelbaarheid en reproduceerbaarheid van softwarepakketten drastisch. In deze methode draaien de workflowmanager en de individuele tools in Docker12-containers , wat de compatibiliteit met verschillende besturingssystemen verhoogt zolang de gebruiker containers kan uitvoeren.

Dit protocol is bedoeld voor domeindeskundige onderzoekers, bijvoorbeeld fusie-neutronica-ingenieurs, computationele stromingsdynamica-analisten of eindige-elementen-praktijkmensen, die vaardig zijn in de simulatietools van hun eigen vakgebied maar nog geen workflowmanager of container-gebaseerde implementatie hebben gebruikt. Er wordt aangenomen dat je bekend bent met één enkele simulatiecode en de basis van de commandoregelwerking; vertrouwdheid met Galaxy of het Omniversum is dat niet. Lezers die nieuw zijn in containerisatie dienen de officiële Docker-documentatie (https://docs.docker.com/) of de introductietraining te raadplegen die beschikbaar is bij: https://uomresearchit.github.io/docker-introduction/ voordat ze Sectie 1 volgen; De basiscommando's die nodig zijn om de software uit te voeren, zijn allemaal opgenomen in het protocol.

De rest van dit rapport behandelt de opzet en het gebruik van het lokaal inzetbare systeem. Vervolgens volgt het stappen voor het ontwikkelen van nieuwe tools voor het systeem en een methode om andere externe pakketten te koppelen aan de workflow-engine, zoals een metaverse-platform. Door het hele rapport dient een neutronica-simulatie met OpenMC13 als casestudy. OpenMC werd gekozen omdat het de volledige CAD-naar-simulatie-naar-output-visualisatiepijplijn demonstreert die de workflowarchitectuur motiveert. Een geometriebestand en een configuratiebestand dienen als gestructureerde invoer; de Monte Carlo neutronentransportsimulatie produceert een scalaire metriek (de tritium breedratio, TBR) die kan worden vergeleken met een bekend waardebereik, en een ruimtelijk opgeloste neutronenspoordataset die kan worden verwerkt en in een visualiseerbaar formaat kan worden gepresenteerd voor de 3D-rendering in de metaverse-toepassing.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Protocol

OPMERKING: Een overzicht van de lokale workflow-engine-setup, workflowconstructie, workflowstart en visualisatie-uitvoer wordt weergegeven in Figuur 1, Figuur 2, Figuur 3, Figuur 4, Figuur 5, Figuur 6, Figuur 7 en Figuur 8. De repositorybestanden die nodig zijn om het protocol uit te voeren, worden verstrekt in Supplemental File 1.

1. Opstelling

  1. Vereisten
    OPMERKING: Deze methode is getest op de nieuwste Long Term Support (LTS) versie van Ubuntu, 22.04.1 LTS. Andere versies van Ubuntu en andere distributies kunnen werken, maar die zijn hier niet getest. Het werkt ook op Windows-systemen en gebruikt Windows Subsystem for Linux (WSL) als Docker-backend.
    1. Windows-gebruikers: Download WSL en stel het in, want het is een vereiste voor Docker.
    2. Download Docker en verifieer vervolgens door het volgende te draaien:
      `Docker run Hello-World'
      die een welkomstbericht zou moeten tonen.
    3. Download de NVIDIA Omniverse-launcher en een van de Omniverse-apps via de launcher.
      OPMERKING: De realtime raytraced rendering van NVIDIA Omniverse vereist een RTX-klasse GPU. Gebruikers zonder deze hardware kunnen nog steeds de volledige workflow via Sectie 2 uitvoeren en de tussenliggende .vtk / .vtp-uitvoeren in ParaView inspecteren (zie Bespreking). Deze gebruikers kunnen Sectie 3 overslaan, aangezien dit alleen betrekking heeft op het metaverse-platform; De methoden die hier worden gebruikt om de workflow-engine te integreren, kunnen nuttig zijn bij verbinding met andere metaverse-platforms.
      Dit protocol gebruikt de app Omniverse Code, maar de andere Omniverse-apps zouden grotendeels vergelijkbaar moeten zijn. Hoewel niet essentieel, kan ParaView worden gebruikt om enkele van de tussenbestanden die door de tools in dit protocol worden geproduceerd, te visualiseren.
  2. Repository
    1. Kloneer de repository met alle bestanden en scripts die nodig zijn voor de lokale workflow-engine-instantie en de tools die in dit artikel worden beschreven met:
      'Kloon https://github.com/williamjsmith15/galaxy-omniverse-example.git'
    2. Voeg een beheerdersmail toe aan de lijst van beheerdersgebruikers.
      OPMERKING: Dit geeft beheerdersrechten die nodig zijn voor bepaalde workflow-enginefuncties en zijn te vinden onder het admin_users-gedeelte in het galaxy-config/galaxy.yml-bestand (zie https://github.com/williamjsmith15/galaxy-omniverse-example/blob/master/galaxy-config/galaxy.yml).
    3. Hernoem het default.json.template-bestand naar default.json. Dit bestand bevindt zich op omni_exts/omni.galaxy.example/omni/galaxy/example/default.json.template.
      OPMERKING: Dit maakt het mogelijk om het te lezen door de extensie van het metaverse-platform en om persoonlijke instellingen toe te voegen en te behouden tussen laadmomenten—meer wijzigingen zullen worden aangebracht na het opzetten van de galaxy-instantie.
  3. Lokale Workflow Engine-server starten
    1. Start de workflow engine-instantie door het start-galaxy.sh-bestand in het bovenste niveau van de repository uit te voeren:
      './start-galaxy.sh'
      Als het bestand hier niet draait, moet het mogelijk uitvoerbaar worden gemaakt als de rechten in de repository-kloon zijn veranderd. Dit kan worden gedaan door te voeren:
      'chmod a+x start-galaxy.sh'
      OPMERKING: Windows-gebruikers moeten dit via hun WSL-terminal doen. Dit downloadt de relevante bestanden en start de workflow engine-instantie, die in elke browser op dezelfde machine op http://localhost:8080 kan worden bekeken. Dit zou de pagina in Figuur 1 moeten weergeven; Zo niet, wacht dan en ververs—de workflow engine-instantie kan even duren om te starten (vooral de eerste keer).
      1. Over het algemeen, om de wijzigingen in de repository in de workflow engine-instantie te zien, voer je './restart-galaxy.sh' of './stop-galaxy.sh' uit en start je het script opnieuw.
  4. Metaverse-platformconfiguratie
    1. Open de app nadat je de launcher en app hebt gedownload (voor dit voorbeeld Omniverse Code).
    2. Klik linksboven in het venster op het tabblad Extensies (in andere apps valt dit onder Window | Uitbreidingen).
    3. Klik in het extensievenster op de grijze instellingenknop ; Er wordt een venster geopend met een paar reeds overvolle directories. Voeg nog een toe die naar de omni_exts-map verwijst door op de groene plusknop te klikken en voeg een pad toe dat het formaat heeft: '/galaxy-omniverse-example/omni_exts'; zie Figuur 2 voor meer details.
    4. Zoek een nieuwe vermelding genaamd 'OMNI GALAXY EXAMPLE' in de linkerkolom onder het tabblad DERDE PARTIJ . Zet de schuifregelaar van deze extensie op aan en wacht tot het extensievenster verschijnt.
    5. Selecteer het selectievakje autoload om de extensie automatisch te laden telkens wanneer de app wordt gestart.
      OPMERKING: Wijzigingen in de extensiebestanden moeten automatisch worden behouden wanneer het bestand wordt opgeslagen, aangezien Omniverse het herladen van extensies met hot reloading mogelijk maakt
  5. Workflow-engine-accountaanmaak en link naar de Metaverse
    1. Maak in de workflow engine-instantie een account aan door op de knop Inloggen of Registreren in de bovenste balk te klikken, vervolgens op Hier registreren, en vul vervolgens de gegevens in met het e-mailadres dat in Stap 1.2.2 is toegevoegd om een account met beheerdersrechten aan te maken.
    2. Genereer een API-sleutel zodat de API met de workflow-engine kan communiceren. Ga naar het keuzemenu Gebruiker in de bovenste balk | Voorkeuren | Beheer de API-sleutel. Maak een sleutel aan en kopieer die.
    3. Zodra de sleutel is gegenereerd, voeg je deze toe aan het default.json-bestand dat in Stap 1.2.3 is aangemaakt onder het veld 'galaxy_api_key' in de lege aanhalingstekens.
      VOORZICHTIG: Dit bestand bevat nu een API-sleutel. Deze API-sleutel kan worden gebruikt om taken uit te voeren en toegang te krijgen tot gegevens op het bijbehorende account. Het zou geen probleem moeten zijn in een lokale implementatie waar er geen publiek domein of IP-adres is; Dit bestand moet nog steeds als geheim worden behandeld en dus niet gedeeld of toegewijd worden aan een openbare repository (het bestand staat standaard in de .gitignore om dit tegen te gaan).
    4. Start de metaverse-platformapp opnieuw om de wijzigingen in het standaardbestand te verversen.
      OPMERKING: De API-sleutel kan ook direct in het extensievenster worden toegevoegd onder het serverinstellingen-dropdownmenu, hoewel dit niet tussen sessies blijft bestaan.

2. Het uitvoeren van taken op de Workflow Engine

  1. Enkele gereedschappen
    OPMERKING: Enkele tools maken het mogelijk om individuele verwerkings- of simulatiestappen geïsoleerd uit te voeren en te inspecteren, wat nuttig is om te verifiëren dat invoer correct is geformatteerd en dat een tool werkt zoals verwacht voordat het in een workflow wordt opgenomen. De hieronder genoemde testbestanden, dagmc.h5m (de DAGMC CAD-geometrie) en openmc_config.json (de simulatieconfiguratie), bevinden zich in de test_files-map van de gekloonde repository.
    1. Upload de benodigde invoerbestanden door in de linkerkolom op Gegevens uploaden te klikken en kies ofwel selecteer selecteer Lokale bestanden kiezen of slepen en neerzetten vanuit een verkenner in dit venster. Upload de dagmc.h5m (CAD-bestand) en openmc_config.json (configuratiebestand), en klik vervolgens op de Startknop om naar de huidige geschiedenis te uploaden. Beide bestanden verschijnen groen in het Geschiedenispaneel rechts wanneer de upload is voltooid.
    2. Selecteer het dropdown Complex Tools in de linkerkolom van de landingspagina en vervolgens de OpenMC Neutronics Simulation-tool .
    3. Selecteer op de tool-specifieke pagina de invoer uit de bestanden die in Stap 2.1.1 zijn geüpload en selecteer het CAD-bestand als de dagmc.h5m-dataset en het configuratiebestand als de openmc_config.json-dataset .
    4. Klik op de Uitvoeren-knop . Twee nieuwe bestanden (TBR en Tracks) verschijnen in het Geschiedenispaneel rechts op het scherm. Ze worden oranje als ze draaien en groen als ze klaar en succesvol zijn, rood duidt op een gereedschapsfout. Zie Sectie 4 voor debuggingstappen.
    5. De TBR (tritium breeding ratio) waarde kan worden gevisualiseerd om te controleren of de testcase succesvol is uitgevoerd. Klik op de TBR-uitvoer om uit te breiden, dan op het grafiekicoon en vervolgens op de editor. Dit brengt het TBR-resultaat naar boven, dat ongeveer 0,76 zou moeten zijn (dit is een statistische methode, en de configuratie hier gebruikt een kleine steekproefgrootte voor simulatiesnelheid, dus de resultaten zullen variëren).
      OPMERKING: De TBR-waarde is stochastisch; De waarde van 0,76 kan variëren met ±0,01 en dit weerspiegelt een bewust klein aantal deeltjes (5 batches van 1.000 deeltjes) gekozen voor snelle voorbeeldworkflows. Om het bereik in waarden te verkleinen, verhoog je de batch- en deeltjesnummers onder het instellingenveld in het openmc_config.json-bestand voordat je opnieuw uitvoert. Als richtlijn voor een eenvoudige geometrie zoals het hier gepresenteerde geval, zouden 50 batches van 10.000 deeltjes de verstrooiing van TBR-waarden in volgende runs moeten verminderen, ten koste van een langere looptijd.
    6. Andere tools kunnen op de Tracks-uitvoer van de workflow worden uitgevoerd om de resultaten na te verwerken. Voer de Tracks h5 naar vtp-tool uit op de Tracks-uitvoer en vervolgens de CAD h5m naar vtk-tool op het dagmc.h5m-invoerbestand . Deze produceren allebei één output, tracks_0.vtp en dagmc.vtk, die ze omzet in een beter visualiseerbaar formaat.
    7. De output die in de vorige stap is geproduceerd, kunnen van de instantie worden gedownload (door op de output en vervolgens op het save-icoon te klikken) en vervolgens in ParaView14 worden gevisualiseerd om de gesimuleerde neutronensporen te zien.
    8. Om de resultaten in ParaView te visualiseren, importeer je de gedownloade tracks_0.vtp - en dagmc.vtk-uitvoeren . Deze verschijnen aan de linkerkant van het raam. Klik ofwel op het Oog-icoon naast de geïmporteerde bestanden, of op de knop Toepassen hieronder in het eigenschappenvenster om de output te visualiseren. Dit zou vergelijkbaar moeten zijn met wat in Figuur 7 te zien is.
  2. Werkprocessen
    OPMERKING: Een workflow codeert een volledige verwerkingspijplijn als een gerichte grafiek van tools met gedeclareerde inputs en outputs. Eenmaal gedefinieerd kan dezelfde workflow opnieuw worden uitgevoerd met elke set invoerbestanden zonder dat elke tool handmatig wordt herconfigureerd, en worden alle uitvoeringsgeschiedenis en herkomstmetadata automatisch vastgelegd.
    1. Klik op Workflow in de bovenste navigatiebalk en vervolgens op Aanmaken rechtsboven. Voer een naam en beschrijving in voor de workflow (alles is goed), klik dan opnieuw op Aanmaken .
    2. Voeg drie tools toe aan de workflow, vergroot de relevante secties in het Tools-menu en voeg de tools toe die in sectie 2.1 worden gebruikt: OpenMC Neutronics Simulation, CAD h5m naar vtk en Tracks h5 naar vtp.
    3. Definieer de datastroom tussen de tools. Sleep de tools door de werkruimte door te klikken en te slepen op de donkerblauwe bovenbalk van elk van hen. Verbind de Tracks (h5) uitgang van de neutronica-simulatietool met de tracks.h5-ingang van de h5 naar vtp-tool. Doe dit door te klikken en te slepen van de pijl op de output naar de pijl op de input.
    4. Definieer de workflow-niveau invoerdatasets. Klik in het Inputs-gedeelte van de tools twee keer op Input Dataset om twee inputknooppunten te maken. Hernoem er één voor het configuratiebestand en de andere voor de CAD-invoer door op de stap te klikken en vervolgens het Label-veld in het rechter eigenschappenmenu te wijzigen.
    5. Koppel het configuratiebestand en het CAD-bestand aan de invoer van de neutronica-simulatietool, en het CAD-bestand aan de h5m naar vtk-tool, volgens het patroon in Figuur 3.
    6. Sla de workflow op met het opslaan-icoon rechtsboven.
    7. Om de workflow uit te voeren, klik je zoals eerder op het tabblad Workflow in de bovenste balk en klik je vervolgens op het afspeelpictogram in de te starten workflow. Selecteer vervolgens de invoer zoals bij stap 2.1.2, hetzelfde als bij het uitvoeren van een tool, en klik op Run Workflow.
    8. Wacht tot de workflow draait, en dan kunnen de uitvoer worden vergeleken met stappen 2.1.5 en 2.1.8; Deze zouden erg vergelijkbaar moeten zijn (let opnieuw op de statistische variatie tussen deze stappen). De workflow is succesvol uitgevoerd wanneer alle uitvoer in de Geschiedenis groen is geworden. Er zouden (naast de invoerdatasets) hier vier datasets moeten zijn: TBR, Tracks, dagmc.vtk en tracks_0.vtp.
    9. Naarmate de workflow is uitgevoerd, willen sommige gebruikers mogelijk de herkomst en metadata van de workflow-aanroep (uitvoeren) kunnen zien. Dit kan worden bereikt door te navigeren naar Gebruiker in de bovenste balk | Workflow Invocations. Dit resulteert in de lijst van alle workflows die door de gebruiker worden uitgevoerd, klik op de pijl naar beneden in de workflow van interesse en kan vervolgens het metadata JSON-bestand downloaden door op de knop Download BioCompute Object te klikken. Dit bevat herkomst over de gebruikte tools/workflows, gebruikte inputs, enzovoort.
      OPMERKING: De workflow-engine registreert ook een volledige uitvoeringsgeschiedenis voor elke workflowuitvoering, inclusief checksums van invoerbestanden, toolversies en parameterwaarden. Om het herkomstrecord voor een run te downloaden, open je het Geschiedenispaneel , klik je op het menu (pijltje naar beneden) rechtsboven en selecteer je Geschiedenis exporteren naar bestand. Het geëxporteerde archief bevat alle datasets en een machineleesbaar record van de stappen die ze hebben geproduceerd.
      Het opslaan van herkomst of geschiedenissen die door de workflow-engine worden gegenereerd, kan worden geautomatiseerd via de API die in Sectie 5.1 wordt besproken; Dit zal echter niet in dit protocol worden beschreven.
  3. Complexere workflow
    OPMERKING: Deze workflow breidt Sectie 2.2 uit door nabewerkingsstappen toe te voegen die Universal Scene Description (USD)-bestanden genereren die nodig zijn voor visualisatie in het metaverse-platform. Omdat geen enkel gereedschap direct van DAGMC (.h5m) of VTK (vtp) naar USD converteert, leidt de pijpleiding gegevens via twee meerstapsconversieketens: de CAD-geometrie volgt een H5M, STL, OBJ, USD-pijplijn, en de neutronensporen volgen H5, VTP, OBJ, USD.
    1. Volg de stappen om een workflow op te zetten, zoals weergegeven in sectie 2.2, volgens de workflow in figuur 4.
    2. Definieer de twee workflow-level inputs zoals in stap 2.2.4, en noem ze CAD DAGMC en Config File.
    3. Voeg de OpenMC Neutronics Simulation-tool toe en verbind de CAD-, DAGMC - en Config-bestand-invoer met de bijbehorende invoeren zoals in stap 2.2.3.
    4. Creëer de neutronica-conversieketen. Voeg de sporen h5 toe aan vtp, vtp aan obj, en obj aan USD-tools en verbind vervolgens de uitgangen van elk met de ingangen van de volgende, volgens de layout in de onderste tak van figuur 4.
    5. Maak de CAD-conversieketen aan. Voeg de h5m toe aan STL, STL aan OBJ en OBJ aan USD-tools, en verbind vervolgens opnieuw de uitgangen van elk met de ingangen van de volgende, volgens de lay-out in de bovenste tak van Figuur 4.
    6. Sla de workflow op, die nu klaar is voor gebruik in het metaverse-platform via de extensie in Sectie 3.
      OPMERKING: Deze extra stappen laten gebruikers zien hoe workflows en tools gedeeld kunnen worden, waardoor reproduceerbaarheid en toegankelijkheid van de data en methoden die worden gebruikt om resultaten te genereren mogelijk worden.
    7. Exporteer de workflow als een draagbaar bestand door naar Workflow in de bovenste balk te navigeren, op het menu te klikken (pijl naar beneden) en Downloaden te selecteren. De workflowmanager slaat een .ga JSON-bestand op, dat vervolgens gedeeld en gebruikt kan worden door iedereen met dezelfde tools op hun workflow-engine. Dit kan worden geïmporteerd via Workflow in de bovenste balk | Importeren.
    8. Deel tools door de galaxy-tools/ map van de gekloonde repository te committen naar een publieke versiebeheerhost. Vraag samenwerkingspartners om dit te klonen om toegang te krijgen tot alle containerized tools, en laat ze op dezelfde manier draaien als op het lokale apparaat van de uitgever.
      OPMERKING: Publieke workflowmanager-instanties kunnen worden geconfigureerd, wat het handmatig delen van workflow- en toolbestanden tussen lokale implementaties omzeilt. In deze gevallen zijn tools toegankelijk voor alle gebruikers, en kunnen workflows en geschiedenissen openbaar worden gemaakt voor alle andere gebruikers. Dit valt buiten de reikwijdte van dit protocol, maar meer informatie is te vinden in het officiële Galaxy Training-netwerk over het verkrijgen van een permanente implementatie: https://training.galaxyproject.org/training-material/topics/admin/tutorials/ansible-galaxy/tutorial.html of de docker compose stack die in de repository wordt gegeven, kan ongewijzigd op een server worden uitgerold en vervolgens via een proxy of een vergelijkbare manier worden gerouteerd om het publiek toegankelijk te maken.

3. Het uitvoeren van een workflow vanaf het metaverse-platform

  1. De workflow starten
    1. Klik in het metaverse-platformextensievenster op Get Workflows (annotatie 2, Figuur 5). Een dropdown wordt gevuld met alle workflows die beschikbaar zijn op het workflow-engineaccount dat gekoppeld is aan de API-sleutel die in default.json is opgeslagen. Als dit niet het geval is, controleer dan of de API-sleutel correct is opgeslagen in het JSON-bestand en start de metaverse-platformapp opnieuw om te zorgen dat deze de sleutel oppikt.
    2. Selecteer de Complexe Workflow voor de lijst en klik vervolgens op Invoer Krijgen (annotatie 4, Figuur 5). De invoervelden die in de workflow zijn gedefinieerd (Stap 2.3.2) zullen verschijnen en dezelfde naam hebben.
    3. Voor elke bestandsgebaseerde invoer klik je op Selecteer Bestand en gebruik je de pop-up in de bestandsverkenner om het bijbehorende lokale bestand te selecteren: dagmc.h5m voor de CAD DAGMC-invoer en openmc_config.json voor de configuratiebestand-invoer .
    4. Klik op Workflow starten (annotatie 6, Figuur 5). Een bevestigingsbericht voor lancering wordt weergegeven in het Info-gedeelte (annotatie 7). Nadat de workflow is voltooid, bevestigen aanvullende berichten dat uitvoerbestanden zijn opgeslagen en dat de run is voltooid.
      OPMERKING: De voortgang van workflowtaken kan worden gevolgd via de webinterface van de workflow-engine bij http://localhost:8080 door te navigeren naar Admin | Jobs. Beheerderstoegang is vereist (zie Stap 1.2.2).
  2. De resultaten visualiseren
    OPMERKING: Na voltooiing van elke workflowuitvoering downloadt het systeem automatisch de uitvoerbestanden van de workflow-engine naar een lokale uitvoermap. Het savepad wordt aangestuurd door de output_dir-sleutel in het default.json-bestand van de extensie. Elke run wordt opgeslagen in een map met een tijdstempel, zodat uitvoer kan worden onderscheiden door de extensie. Als er problemen zijn met visualisatie op het metaverse-platform, kunnen de bestanden in deze mappen worden benaderd en handmatig worden bekeken om te zien of het probleem bij de workflow-engine ligt.
    1. Op het metaverse-platform vergroot je het Bestandsbeheer-gedeelte (annotatie 1, Figuur 6) en klik je op Verversen (annotatie 2). Dit haalt de lijst op van voltooide workflow-uitvoeringen die zijn opgeslagen in de lokale map.
    2. Selecteer in het dropdown Mappen (annotatie 3, Figuur 6) de map voor de huidige workflow (bevestig dat dit momenteel de enige is die er is) en klik opnieuw op Verversen om de Bestanden-dropdown te vullen met uitvoer van die uitvoering.
    3. Selecteer een bestand uit het keuzemenu Bestanden (annotatie 4, Figuur 6; alleen .usd, .txt, .json en .out-bestanden worden momenteel ondersteund) en klik vervolgens op Pull File (annotatie 5). Tekstgebaseerde bestanden worden weergegeven in het Info-paneel , USD-bestanden worden toegevoegd aan de huidige scène en moeten worden weergegeven in het hoofdvenster.
    4. Om de geïmporteerde geometrie uit te lijnen met de coördinatenconventie van Omniverse, open je het Stage-paneel aan de rechterkant, selecteer je beide geïmporteerde workflow-objecten en zet je in het Property-paneel net daaronder Rotate X op −90°. Dit corrigeert de mismatch tussen de z-up conventie die door de USD-exporttools wordt gebruikt en de y-up conventie van Omniverse. Pas deze rotatie toe op zowel het CAD USD- als het tracks-USD-bestand; de verwachte viewport-toestand na uitlijning is weergegeven in Figuur 8.
    5. Tot slot kunnen materialen worden toegewezen om meer contrast tussen de onderdelen te krijgen. Dit wordt bereikt door het tabblad Materialen onderaan de app te openen, een materiaal te selecteren en vervolgens te slepen en neer te zetten op de geometrie in de Stage-weergave in de rechterkolom. Doe dit voor beide geïmporteerde geometrieën om het contrast tussen hen te vergroten.

4. Nieuwe hulpmiddelen toevoegen

OPMERKING: Deze sectie beschrijft het ontwikkelproces voor het creëren en implementeren van nieuwe workflowtools. Het vereist toegang tot het bestandssysteem van de repository en admin-toegang tot de workflow-engine voor het debuggen. Gebruikers die alleen bestaande tools en workflows hoeven uit te voeren, of workflows hoeven te maken, hoeven deze sectie niet te volgen.

  1. Algemeen proces
    1. Ontwikkel en test het simulatie- of verwerkingsscript onafhankelijk van de workflow-engine voordat je het wrappt. De tools-wrapper roept een bestaand werkend script aan; het implementeren van nieuwe logica tijdens het ontwikkelen van een tool wordt niet aanbevolen.
    2. Bereid de uitvoeringsomgeving voor het script voor door een Docker-image te maken die alle runtime-afhankelijkheden (bibliotheken, binairen, databestanden, enz.) bevat die door het script vereist zijn.
      OPMERKING: Alle voorbeeldtools in dit protocol gebruiken Docker-containers als uitvoeringsomgeving. Conda-omgevingen worden ook ondersteund door de workflow-engine, maar worden hier niet gedemonstreerd. Meer informatie over Docker is te vinden via de officiële documentatie, of een goede inleidende cursus is hier te vinden: https://uomresearchit.github.io/docker-introduction/ .
    3. Maak een XML-tooldefinitiebestand dat de uitvoeringsomgeving (in dit geval Docker), het commando om het script aan te roepen, en de invoer, uitvoer en metadata van de tools voor weergave in de interface van de workflow-engine aangeeft.
    4. Zodra de wrapper is aangemaakt, plaats je de XML en eventuele scripts in een nieuwe map galaxy-tools// in de repository. Voeg een nieuwe vermelding toe voor de tool in galaxy-tools/tool_conf.xml onder de juiste tags, die verwijzen naar het betreffende bestandspad van het nieuw aangemaakte XML-bestand.
      OPMERKING: Zorg ervoor dat deze bestandsnaam exact is gekopieerd, want dit is een veelvoorkomende fout bij het uitrollen van nieuwe tools. Als de tool_conf.xml-invoer een onjuist pad bevat of het XML-bestand een syntaxisfout heeft, zal de workflow engine-instantie niet opstarten. Om de workflow-containerlogs op foutmeldingen te inspecteren, voer je het volgende uit vanaf de repository-root:
      'Docker stelt logs samen Galaxy
      XML-parsefouten verschijnen als regels van de vorm ERROR loading tool
    5. Deploy de workflow-engine opnieuw om de nieuwe tool te laden door het herstartscript uit te voeren vanaf de repository root: ./restart-galaxy.sh.
    6. Bevestig dat het gereedschap correct is geregistreerd. Navigeer naar http://localhost:8080, zoek de tool in het Tools-paneel en klik op de tool om te zorgen dat alle invoer zoals verwacht verschijnen. Als het hulpmiddel ontbreekt, volg dan bovenstaande opmerking voor debugging, en als er nog steeds fouten zijn, controleer dan de syntaxis van de tool XML zelf, want dit kan ook implementatiefouten veroorzaken.
    7. Draai de nieuwe tool zoals voorheen, maar met invoer die eerder getest zijn. De uitgangen zouden groen moeten worden in het Geschiedenispaneel
    8. Als tools falen, klik dan als admin op de mislukte (rode) output en klik op het Info-icoon . Dit toont een gedetailleerde uitvoerpagina en toont de stdout- en stderr-streams. Deze kunnen worden uitgebreid voor meer informatie over het debuggen van het gereedschap.
  2. Eenvoudige hulpmiddelen
    OPMERKING: Tools 1–5 illustreren steeds complexere wrappingpatronen. Het XML-bestand en eventuele scripts voor elk gereedschap bevinden zich in de bijbehorende galaxy-tools/simple// submap van de repository. Rol elke tool uit en voer deze uit volgens stappen 4.1.4–4.1.5 en sectie 2.1.
    Tool 1 – Een eenvoudig commando uitvoeren
    1. Kijk naar het galaxy-tools/simple/1/1.xml bestand. Het vereistenelement specificeert een Linux-uitvoeringsomgeving. Het commando-element bevat het echo-commando dat moet worden uitgevoerd.
    2. Voer Tool 1 uit via de workflow engine-interface zonder dat invoerbestanden nodig zijn. Omdat er ook geen outputbestanden gedefinieerd zijn, ga je als Admin naar de pagina Admin, Jobs en klik dan op het Informatie-icoon om de stdout- en stderr-streams te zien, wat hetzelfde is als in stap 4.1.8. De stdout-stroom zou alleen de 'hello world'-string uit het commando in het XML-bestand moeten bevatten.
      Tool 2 – Gebruik van tekstgebaseerde invoer
    3. Kijk naar het galaxy-tools/simple/2/2.xml bestand. Er is nu een vermelding in het invoerveld , met een param-element van type="text" en het commandogedeelte verwijst nu naar de invoervariabele via het naamlabel.
    4. Speel Tool 2 zoals voorheen; geef deze keer een invoer van een string aan het gereedschap. Dit kan alles zijn wat de gebruiker wenst. Bekijk de output zoals in stap 4.2.2, en de stdout-uitvoer moet de string zijn die de gebruiker in de tool-invoer heeft opgegeven.
      Tool 3 – Gebruik van een bestandsgebaseerde invoer
    5. Kijk nogmaals naar het toolbestand; Nu gebruikt de invoerparameter in plaats van een stringinvoer een type="data"-tag, waarmee het gebruik van een bestand mogelijk is. Dit wordt in de commandosectie aangeduid als een bestandspad, opnieuw met de naam van de invoerparameter.
    6. Maak een .txt bestand aan met een lokale teksteditor, als het niet wordt uitgevoerd:
      'echo "hello world from a file" > test_files/input.txt'
      vanuit de repository-wortelmap om de voorbeeldinvoer te genereren.
    7. Upload het aangemaakte .txt bestand zoals in Stap 2.1.1 en voer vervolgens Tool 3 uit zoals eerder, waarbij je het geüploade .txt bestand als invoer selecteert. Bekijk de stdout op dezelfde manier, en de inhoud van het .txt bestand zou daar moeten worden weergegeven. Als je het bovenstaande commando gebruikt, zou de output "hello world from a file" moeten zijn.
      Tool 4 – Output naar een bestand schrijven
    8. Onderzoek galaxy-tools/simple/4/4.xml. Een outputsectie declareert nu een benoemd uitvoerbestand dat in het commandogedeelte kan worden geraadpleegd.
    9. Voer de tool uit zoals voorheen met de .txt invoer, maar nu kan de uitvoer niet meer als admin worden weergegeven, maar door de gewone gebruiker in dit Geschiedenispaneel , en bij een succesvolle uitvoering wordt deze groen en kan je deze downloaden/bekijken in de workflow-engine zoals beschreven in eerdere secties.
      Tool 5 – Scripts uitvoeren in tools
    10. Bekijk galaxy-tools/simple/5/5.xml en het bijbehorende python-script galaxy-tools/simple/5/5.py. In de XML verwijst het commando naar het Python-script uit de tooldirectory, en de requirements-sectie verwijst nu naar een Python-image omdat Python nodig is om het script uit te voeren.
    11. Rol en voer de tool op dezelfde manier uit, en het zou zich hetzelfde moeten gedragen als Tool 4 (Stap 4.2.9), behalve dat het deze keer een script draait in plaats van het commando direct.
  3. Voorbeeld van complex gereedschap
    OPMERKING: Deze sectie documenteert de ontwikkeling van het neutronica-instrument als een uitgewerkt voorbeeld van het patroon beschreven in Sectie 4.1. De relevante bestanden staan in galaxy-tools/complex/openmc/. Hetzelfde patroon generaliseert naar elke simulatie- of verwerkingscode.
    1. Ontwikkel het run-script voor de simulatie. In dit voorbeeld voert het script galaxy-tools/complex/openmc/openmc_run.py een configuratiebestand uit (openmc_config.json), schrijft het neutronics-instellingenbestand en voert de simulatie uit. Test het script direct vanuit de opdrachtregel voordat je het in een Docker-image verpakt.
    2. Bouw de Docker-uitvoeringsomgeving met behulp van de Dockerfile op galaxy-tools/complex/openmc/Dockerfile. Dit vergroot het publieke imago met een paar extra pakketten. Bouw en tag lokaal of verwijs ernaar vanuit een containerregister.
    3. Maak de XML-wrapper galaxy-tools/complex/openmc/openmc.xml aan en declareer de Docker-image uit stap 4.3.2 in de requirements-sectie . Het commando om samen met de invoer- en uitvoerbestanden te draaien (zoals in het voorbeeld in Sectie 4.2) moet ook worden gedefinieerd.
    4. Zet de tool uit zoals in stappen 4.1.4-4.1.7 en gebruik vervolgens de testinvoer uit Sectie 2 om te controleren of de tool correct werkt.
      OPMERKING: De overige tools in de instantie (Tracks h5 naar vtp, CAD h5m naar vtk, h5m naar stl, stl naar obj, vtp naar obj, obj naar USD) zijn bestandsformaatconverters die hetzelfde ontwikkelpatroon volgen. Hun XML-bestanden bevinden zich in de galaxy-tools/complex/ directory en kunnen dienen als aanvullende referentievoorbeelden.

5. Het verbinden van workflows met de Metaverse

OPMERKING: Deze sectie biedt referentiemateriaal voor ontwikkelaars waarin de API-integratie van de workflow-engine en de architectuur van de metaverse-platformextensie worden beschreven. Gebruikers die alleen workflows vanaf het metaverse-platform hoeven te draaien, moeten Sectie 3 volgen en hoeven deze sectie niet te lezen. Ontwikkelaars die een andere front-end applicatie aan de workflow-engine willen koppelen, moeten beginnen bij Sectie 5.1.

  1. Workflow Engine API
    OPMERKING: Galaxy biedt een RESTful API aan. De Bioblend Python-bibliotheek biedt een hoger-niveau wrapper rond deze API en vormt de basis voor alle helperscripts die in dit protocol worden gebruikt. Bioblend wordt automatisch geïnstalleerd binnen de relevante Docker-uitvoeringsomgevingen die in de repository worden aangeboden.
    1. Importeer Bioblend en maak een verbinding met de draaiende workflow-engine door een GalaxyInstance-object te instantiëren met het serveradres en de API-sleutel uit stap 1.5.2. In Python in een omgeving met Bioblend geïnstalleerd:
      `van bioblend.galaxy import GalaxyInstance
      gi = GalaxyInstance(url='http://localhost:8080', key=)'
      OPMERKING: Dit werkt alleen voor lokale deployments; als de workflow-engine op een externe machine is geïmplementeerd, vervang dan de localhost door het adres en de poort van de geconfigureerde instance.
    2. Gebruik de hulpfuncties in galaxy-api/helper_functs.py om veelvoorkomende bewerkingen uit te voeren: het opsommen van beschikbare workflows (get_workflows), het ophalen van workflow-invoerdefinities (get_inputs) en het starten van een workflow met gespecificeerde invoerbestanden (launch_workflow). Raadpleeg de inline docstrings in dat bestand voor functiehandtekeningen en verwachte retourtypes.
    3. Breid de helper_functs.py uit met andere functies zoals vereist door de applicatie. De volledige referentie-API is te vinden op https://bioblend.readthedocs.io.
  2. Workflows koppelen aan de metaverse
    OPMERKING: Deze sectie beschrijft alleen de architectuur van de metaverse-platformextensie, zodat ontwikkelaars deze kunnen aanpassen voor verschillende workflow-uitvoer, extra bestandstypen of alternatieve metaverse-platforms.
    1. Open het hoofdtoegangspunt in de extensie in omni_exts/omni.galaxy.example/. Deze extensie gebruikt de Omniverse basisuitbreiding15 als uitgangspunt. Vervolgens voegt het alle functionaliteit toe uit het helper functions API Python-bestand zoals beschreven in stap 5.1.2 en geeft het een GUI om met de workflows te interageren.
    2. Wanneer workflows worden gestart, worden de door hen geproduceerde data automatisch gedownload van de workflow-engine en lokaal opgeslagen, waardoor ze zichtbaar zijn in het metaverse-platform. Dit maakt het ook mogelijk om de tijdens de workflowuitvoering gegenereerde metadata op te slaan en toegankelijk te maken, waardoor de herkomst van de simulatiegegevens wordt vastgesteld.
    3. Deze implementatie gebruikt de native omni.ui-bibliotheek van Omniverse om de interface te bouwen. De hoofdextensie staat in de extensiemap, en de primaire implementatie van de interface bevindt zich in het bestand omni_exts/omni.galaxy.example/omni/galaxy/example/window.py .

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Resultaten

Als de simulaties worden uitgevoerd met de verstrekte invoer in de git-repository, zouden de volgende resultaten moeten worden verkregen:

Na succesvolle voltooiing van Stap 2.1.3 verschijnen zowel de TBR - als de Tracks-uitvoerdatasets in het Geschiedenispaneel groen, wat een geslaagde run aangeeft. Een representatieve TBR-waarde met het meegeleverde configuratiebestand (5 batches van 1.000 deeltjes) is ongeve...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Discussie

Er zijn een paar cruciale stappen binnen het protocol. De meeste betreffen de initiële opstelling van de workflow-engine, zoals: het toevoegen van het admin-e-mailadres (protocol stap 1.2.2), aangezien dit vereist is voor admin-toegang tot de tools- en jobspanelen; het correct genereren van de API-sleutel voor de metaverse platformextensie (protocolstap 1.5.3) en het correct plakken in het standaardwaardebestand; En bij het toevoegen van tools, zorg ervoor dat deze aan het tool config-be...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Openbaarmakingen

De auteurs hebben geen belangenconflicten om te melden.

Dankbetuigingen

Dit project is ondersteund door de UK Atomic Energy Authority via het Fusion Industry Program. Het Fusion Industry Program stimuleert de groei van het Britse fusie-ecosysteem en bereidt het voor op de toekomstige wereldwijde markt voor fusie-energiecentrales. Meer informatie over het Fusion Industry Program is online te vinden: https://ccfe.ukaea.uk/programmes/fusion-industry-programme/

De voorbeeldrepository die bij dit protocol hoort, is beschikbaar op https://github.com/williamjsmith15/galaxy-omniverse-example (een publieke fork van https://github.com/UoMResearchIT/omniverse-workflows-fusion).

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Materialen

```html
Lijst van materialen gebruikt in dit artikel
NaamBedrijfCatalogusnummerOpmerkingen
BioblendGalaxy Projectv1.2+Python-bibliotheek die een high-level wrapper biedt rond de Galaxy REST API. Dit wordt gebruikt in de Omniverse-extensie helper scripts om workflows te lijstten, invoerdefinities op te halen en taken te starten. Automatisch geïnstalleerd binnen de relevante Docker-images; geen installatie op de host vereist.
Docker ContainersDockerv24.0.5Containerisatie-runtime die wordt gebruikt om elke simulatie en post-processing tool samen met al zijn afhankelijkheden te bundelen, wat zorgt voor portabiliteit en reproduceerbaarheid.
GalaxyGalaxy Projectv22.05Open-source workflow engine die wordt gebruikt om de gekoppelde simulatie- en verwerkingstools te orkestreren en deze via een REST API beschikbaar te maken.
GitGit SCMv2+Vereist om het repository te klonen om het protocol te volgen
NVIDIA RTX GPUNVIDIA-Vereist voor real-time ray-traced rendering in Omniverse (Sectie 3). Gebruikers zonder RTX-hardware kunnen alle stappen tot en met Sectie 2 voltooien en ParaView gebruiken voor visualisatie (zie Discussie).
OmniverseNVIDIACode 2022.3.3NVIDIA's collaboratieve 3D-platform. Dit wordt gebruikt als de visualisatie- en interactie-front-end voor workflow-uitvoer via een aangepaste Kit-extensie.
ParaViewKitwarev5.11Open-source wetenschappelijke visualisatie-applicatie die wordt gebruikt als een non-RTX-fallback voor het inspecteren van tussenliggende .vtk/.vtp-uitvoer.
Protocol RepositoryCustomv1.0Bevat Galaxy-configuratie samen met alle tool XML-wrappers, uitvoerscripts, Dockerfiles, testgegevens en de Omniverse-extensie. Gekloond in Stap 1.2.1. Sleutelbestanden worden ook direct als aanvullende uploads verstrekt (zie I.2).
PythonPythonv3.10+Runtime vereist voor het OpenMC-uitvoerscript en de Omniverse-extensie helper scripts. Opgenomen in de relevante Docker-images of met Omniverse download; geen aparte hostinstallatie is vereist.
The OpenMC Monte Carlo CodeOpenMCv0.13.3Open-source Monte Carlo deeltjestransportcode die hier wordt gebruikt voor fusie-neutronica-simulatie. Dit levert de tritiumfokkerijratio (TBR) en neutronenspooruitvoer.
Windows Subsystem for Linux (WSL)Microsoftv2Vereist om Docker uit te voeren op Windows-hosts (installeer via `wsl --install` in powershell). Linux- en Mac-gebruikers hebben dit niet nodig.
```

Herprints en machtigingen

Meer artikelen verkennen

TechniekEditie 233Editie 233Lege WaardeEditieGalaxyOmniverseFusionNeutronics