Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/40435
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2021_GuilhermeMesquitaCorrea_tcc.pdf1,14 MBAdobe PDFver/abrir
Título: Implementação de diferentes métodos iterativos para a resolução de sistemas lineares com aplicação em mecânica dos fluidos
Autor(es): Corrêa, Guilherme Mesquita
Orientador(es): Rosa, Adriano Possebon
Assunto: Equações lineares
Mecânica dos fluidos
Linguagem de programação - Python
Data de apresentação: 10-Nov-2021
Data de publicação: 8-Nov-2024
Referência: CORRÊA, Guilherme Mesquita. Implementação de diferentes métodos iterativos para a resolução de sistemas lineares com aplicação em mecânica dos fluidos. 2021. 128 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia Mecânica) — Universidade de Brasília, Brasília, 2021.
Resumo: O presente trabalho estuda e compara diversos métodos iterativos de resolução de sistemas de equa- ções lineares aplicados na solução do problema da cavidade na mecânica dos fluidos. Os métodos abordados vão desde métodos simples como Jacobi e Gauss-Seidel, até métodos mais avançados como o Gradiente Conjugado Pré-condicionado e o Multigrid. Os diversos métodos iterativos são aplicados para várias malhas com diferentes graus de refinamento e são comparados em termos de número de iterações necessárias para resolver o problema e tempos de execução dos códigos. As equações governantes do problema da cavidade são apresentadas, bem como a transformação das mesmas, que são originalmente equações diferenciais parciais, em um sistema de equações lineares através do método de projeção e do método de diferenças finitas. A implementação dos métodos iterativos é feita através do Python, uma linguagem de programação muitas vezes considerada lenta para esse propósito. Por ser lenta, uma otimização é implementada à linguagem para ace- lerar a velocidade de execução dos códigos através da biblioteca Numba. Uma comparação entre os tempos de execução obtidos no Python otimizado será feita com códigos equivalentes executa- dos em Fortran, que é considerada uma linguagem rápida para esse tipo de aplicação. De uma forma geral, o método do Gradiente Conjugado Pré-condicionado se mostrou o mais rápido dentre todos os métodos testados nesse trabalho, seguido do Multigrid e do Gradiente Conjugado sem pré-condicionamento. Em relação à linguagem de programação utilizada, o Python, conseguiu- se acelerar consideravelmente seu tempo de execução dos códigos com a utilização da biblioteca Numba, tornando-o comparável com o Fortran, especialmente no sistema operacional Windows.
Abstract: In this work we study and compare several iterative methods for solving linear system of equations applied to the cavity problem of the fluid mechanics. The methods considered here goes from simple methods like the Jacobi and Gauss-Seidel method to more advanced methods like Preconditioned Conjugated Gradient and Multigrid method. The iterative methods are applied to several grids with diferent levels of refinement and are compared in terms of number of iterations necessary to solve the problem and execution time of the codes. The governing equations of the cavity problem are presented, as well as the transformation of the governing equations, which are partial diferential equations, into a system of linear equations through the projection method and the finite diferences method. The implementation of the iterative methods is done in Python, a programming language often considered slow for such purpose. For this reason, a optimization is implemented to the language in order to accelerate the execution time of the codes using the Numba library. A comparison will be done between execution times got in optimized Python codes and equivalent Fortran codes, which is a language considered fast for this kind of application. In a general way, the Preconditioned Conjugate Gradient was the fastest method compared to the other ones, followed by Multigrid and Conjugate Gradient without preconditioning. When it comes to the programing language used, the Python, it was possible to considerably accelerate the execution time of the codes using the library Numba, making Python comparable to Fortran, specially on operational system Windows.
Informações adicionais: Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2021.
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.