[en] TOPSIM: A PLUGIN-BASED FRAMEWORK FOR LARGE-SCALE NUMERICAL ANALYSIS - LEONARDO SEPERUELO DUARTE (2017)
[pt] Métodos computacionais em engenharia são usados na solução de problemas físicos que não possuem solução analítica ou sua perfeita representação matemática é inviável. Técnicas de métodos numéricos, incluindo o amplamente usado método dos elementos finitos, podem exigir a solução de sistemas lineares com centenas de milhares de equações, demandando altos recursos computacionais (memória e tempo). Nesta tese, nós apresentamos um sistema baseado em plugins para análise numérica em larga escala. O sistema é usado como uma ferramenta original na solução de problemas de otimização topológica usando o método dos elementos finitos com milhões de elementos. Nossa estratégia utiliza uma técnica elemento-por-elemento para implementar um código altamente paralelo para um solver iterativo com baixo consumo de memória. Além disso, a abordagem de plugin proporciona um ambiente completamente flexível e fácil de estender, onde diferentes aplicações, exigindo diferentes tipos de elementos finitos, materiais, solvers lineares e formulações podem ser desenvolvidos e melhorados. O kernel do sistema é mínimo, com apenas um módulo gerenciador de plugin, responsável por carregar os plugins desejados em tempo real usando um arquivo de configuração de entrada. Todas as funcionalidades necessárias para uma determinada aplicação são definidas dentro dos plugins, sem a necessidade de mudar o kernel. Plugins podem disponibilizar ou exigir interfaces adicionais especializadas, onde outros plugins podem ser conectados para compor um sistema mais complexo e completo. Nós apresentamos resultados para uma análise estrutural estática linear elástica e para uma análise estrutural de otimização topológica. As simulações utilizam elementos Q4, hexagonal (Brick8) e prisma hexagonal (Honeycomb), com solvers diretos e iterativos usando computação sequencial, paralela e distribuída. Nós investigamos o desempenho com relação ao uso de memória e escalabilidade da solução para problemas com diferentes tamanhos, de exemplos pequenos a muito grandes em apenas uma máquina e em um cluster. Foi simulado um exemplo de análise estática linear elástica com 500 milhões de elementos em 300 máquinas.