O metaverso industrial combina mundos digitais e físicos para apoiar o design, simulação e visualização colaborativa 3D de sistemas engenheirados. Normalmente, consistia em muitos gêmeos digitais interconectados de componentes para oferecer uma visão geral do sistema. Grandes organizações como Boeing, BMW, Amazon e muitas outras estão adotando múltiplas abordagens para criarmetaversos 1. Sistemas para permitir múltiplas cadeias de ferramentas de simulação e processamento foram desenvolvidos e estão sendo utilizados. No entanto, esses exemplos normalmente são personalizados para a área de aplicação2 ou são opçõescomerciais 3,4 com algum vínculo com sistemas proprietários. Algumas alternativas de código aberto para construir gêmeos digitais foram usadas para criar alguns sistemas, como o Python Flask, com capacidades de simulação integradas. Ainda assim, esses são configurados como pedaços de código personalizados para realizar tarefas específicas relacionadas ao modelo5 em questão. No contexto desse protocolo, a plataforma metaverso (NVIDIA Omniverse) funciona como uma interface de visualização 3D e interação de fluxo de trabalho: as saídas de simulação são carregadas em uma cena compartilhada após a conclusão de uma execução de workflow, e novas execuções podem ser acionadas dentro do mesmo ambiente. Isso difere dos sistemas de gêmeos digitais ao vivo, nos quais os sensores em tempo real atualizam o modelo continuamente; O método demonstrado aqui suporta execução de fluxo de trabalho em lote e exploração pós-execução dos resultados. No entanto, isso é feito de forma a apoiar trabalhos futuros para integrar mais sistemas à plataforma do metaverso, permitindo a criação de gêmeos digitais com motores de fluxo de trabalho como backend computacional.
Fluxos de trabalho podem ser definidos como cadeias de ferramentas de software que especificam explicitamente o fluxo de dados entre elas. Eles permitem o encapsulamento de códigos de simulação existentes, scripts de processamento e outras etapas em um pipeline típico de análise, sem alterar a função destes, mas permitindo que sejam configurados e reconfigurados com entradas e saídas padronizadas que são independentes da ferramenta. Fluxos de trabalho permitem a fácil replicação dos resultados por meio do compartilhamento de ferramentas, além de fornecer metadados e proveniência sobre quais versões das ferramentas foram usadas, em que ordem e com quais entradas. As próprias ferramentas podem ser reutilizadas em muitos pipelines de simulação, permitindo que pesquisadores gastem menos tempo configurando simulações e mais tempo projetando experimentos e explorando os resultados. Os sistemas de fluxo de trabalho também são escaláveis, com métodos para se conectar a diferentes recursos locais de computação, nuvem e HPC, permitindo que muitos fluxos de trabalho de grande escala sejam executados em hardware específico de formaautomatizada 6.
A abordagem manual típica é inerentemente lenta, propensa a erros e difícil de reproduzir, na qual um pesquisador executa manualmente cada ferramenta de simulação ou pós-processamento, move arquivos intermediários entre ambientes e precisa documentar entradas e saídas de execução individuais. Em contraste, um gerente de workflow formaliza o fluxo de dados uma vez e o executa novamente deterministicamente. Isso traz muitos benefícios em relação aos pipelines manuais: o mesmo fluxo de trabalho pode ser executado idênticamente em diferentes entradas, suportando estudos de parâmetros sem scripts personalizados; cada execução captura automaticamente todos os metadados de proveniência, abordando qualquer lacuna de reprodutibilidade; E, uma vez que uma ferramenta está pronta, seu custo de reutilização em fluxos de trabalho subsequentes cai para quase zero, exceto no tempo de computação. Esses benefícios foram quantificados para bioinformática por Wratten et al.7 e para proteômica/metabolômica por Perez-Riverol eMoreno 8 e Verhoeven et al.9.
Historicamente, fluxos de trabalho têm sido usados principalmente na área de bioinformática 8,9 com grande sucesso em grandes instâncias públicas como o servidor europeuGalaxy 10,11, que até 2022 hospedava mais de 50.000 usuários, 2.500 ferramentas, executava mais de 47 milhões de trabalhos e 260.000 execuções de fluxos de trabalho. A mesma pilha de motores de fluxo de trabalho suporta escalabilidade para recursos HPC e nuvem via o sistema distribuído de execução de tarefasPulsar 6,11, com implantações operacionais abrangendo 13 endpoints Pulsar em 10 países europeus. Entre os muitos gerenciadores de workflow disponíveis, incluindo Snakemake, Nextflow, Toil e motores compatíveis com CWL, o Galaxy workflowengine 11 foi selecionado por alguns motivos. Uma das principais razões é sua interface madura baseada em navegador, que reduz a barreira de entrada para especialistas em domínio que não atuam principalmente na linha de comando; ele expõe uma interface completa de programação de aplicações (API) para transferência de estado representacional (REST) (usada no presente trabalho para fazer a ponte para a front-end do metaverso); seu modelo de história e empregos captura a proveniência de uma forma que é fácil de revelar a colaboradores não especialistas; e suporta descarregamento HPC transparente via o mencionado sistema Pulsar (embora isso não seja discutido na seção de protocolo deste artigo). A abordagem descrita neste artigo, no entanto, é em princípio independente do mecanismo de fluxo de trabalho: integrações equivalentes poderiam ser construídas sobre motores alternativos. A contribuição desse trabalho não é o gerenciador de fluxo de trabalho em si, mas a tradução de um gerenciador de fluxo de trabalho de uso geral originalmente desenvolvido para bioinformática para outros campos (com o exemplo específico da neutronia de fusão aqui), e sua integração com uma plataforma de metaverso industrial (NVIDIA Omniverse), dentro de uma pilha totalmente conteinerizada e localmente implantável, aplicada a experimentos virtuais 3D.
Por fim, a containerização permite o compartilhamento de muitos softwares ao empacotar código com o sistema operacional e todas as dependências necessárias para rodar. Esses ambientes evitam problemas de dependências ausentes e o incômodo de instalar alguns códigos de simulação. Eles são semelhantes em propósito às máquinas virtuais, mas muito mais leves e portáteis. Eles aumentam drasticamente a compartilhabilidade e a reprodutibilidade dos pacotes de software. Nesse método, o gerenciador de workflow e as ferramentas individuais rodam em contêineresDocker 12 , aumentando a compatibilidade com diferentes sistemas operacionais, desde que o usuário possa rodar contêineres.
Este protocolo é destinado a pesquisadores especialistas em domínio, por exemplo, engenheiros de neutrônica de fusão, analistas de dinâmica dos fluidos computacionais ou profissionais de elementos finitos, que são fluentes nas ferramentas de simulação de sua própria área, mas que não usaram anteriormente um gerenciador de fluxo de trabalho ou implantação baseada em contêineres. Pressupõe-se familiaridade com um único código de simulação e operação básica na linha de comando; familiaridade com Galaxy ou o Omniverso não é. Leitores iniciantes em conteinerização devem consultar a documentação oficial do Docker (https://docs.docker.com/) ou o treinamento introdutório disponível em: https://uomresearchit.github.io/docker-introduction/ antes de seguir a Seção 1; Os comandos básicos necessários para executar o software estão todos contidos no protocolo.
O restante deste relatório abordará a configuração e o uso do sistema implantável localmente. Depois, seguirá etapas para desenvolver novas ferramentas para o sistema e um método para vincular outros pacotes externos ao motor de fluxo de trabalho, como uma plataforma de metaverso. Ao longo do relatório, uma simulação de neutrônica usando o OpenMC13 serve como estudo de caso. O OpenMC foi selecionado porque demonstra o pipeline completo de CAD-para-simulação-para-visualização de saída que motiva a arquitetura do fluxo de trabalho. Um arquivo de geometria e um arquivo de configuração servem como entradas estruturadas; a simulação de transporte de nêutrons de Monte Carlo produz uma métrica escalar (a razão de reprodução de trítio, TBR) que pode ser comparada a uma faixa conhecida de valores, e um conjunto de dados espacialmente resolvido de trilha de nêutrons que pode ser processado e apresentado em um formato visualizável para a renderização 3D na aplicação do metaverso.