Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/28997
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2020_InacioMiuraJunior_tcc.pdfTrabalho de Conclusão de Curso (graduação)3,14 MBAdobe PDFver/abrir
Título: Programação paralela do método dos elementos de contorno
Autor(es): Miura Junior, Inácio
Orientador(es): Albuquerque, Éder Lima de
Assunto: Linguagem de programação (Computadores)
Software gratuito
Python (Linguagem de programação de computador)
Data de apresentação: 18-Dez-2020
Data de publicação: 21-Out-2021
Referência: MIURA JÚNIOR, Inácio. Programação paralela do método dos elementos de contorno. 2020. 104 f., il.Trabalho de Conclusão de Curso (Bacharelado em Engenharia Mecânica)—Universidade de Brasília, Brasília, 2020.
Resumo: O presente trabalho explora técnicas de programação de alto desempenho para aperfeiçoar um código de método dos elementos de contorno (MEC). Serão discutidas as vantagens da implementação da programação em paralelo, passando por uma revisão teórica sobre vetorização, multi-threading e programação paralela em clusters. A implementação do MEC foi escrita em Python devido a facilidade de programação que reduz o tempo gasto na etapa de desenvolvimento. Serão avaliadas as partes que mais consomem tempo de processamento para uma otimização utilizando a biblioteca Cython, que transforma trechos do programa em extensões em C. Foi explorado o uso de Softwares livres, Open Source, para soluções de geração de CAD (FreeCad, Designspark Mechanical), geração de malha (GMSH), leitura e conversão de malha (Meshio), visualização e pós-processamento (ParaView). Por fim, foi analisado o impacto da implementação de paralelismo, com memória compartilhada, em um dos trechos críticos da rotina de cálculo e foram discutidos os aspectos práticos e dificuldades técnicas, deste método, com o intuito de fomentar o uso de novas práticas mais eficientes de programação. A paralelização da rotina de integração, existente no código, aumentou a velocidade por um fator igual ao número de processadores utilizados.
Abstract: The present work explore high performance programming techniques to enhance a boundary element method (BEM) code. It was discussed the advantages of implementing parallel programming, throughout the concept of vectorization, multi-threading and parallel programming on clusters. The BEM implementation has been written in Python due to the ease of programming that reduces the time spent in the development stage. The most time consuming parts will be evaluated for a optimization utilizing the Cython library, that turns program snippets into C extensions. Free Open Source Softwares will be explored for solutions of CAD generation (FreeCad, Designspark Mechanical), Mesh generation (GMSH), Mesh reading and conversion (Meshio), visualization and post processing (ParaView).Finally, it was analised the impact of a parallel implementation, with shared memory, on a critical section of the calculation routine and it was discussed the practical aspects and technical dificulties of such method, with the intention of fomenting the use of new and more efficient programming practices. The paralelization of the integration routine, that exist in the code, enhanced the speed by a factor equal to the number of processors utilized.
Informações adicionais: Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2020.
Licença: A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta.
Aparece na Coleção:Engenharia Mecânica



Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.