Use este identificador para citar ou linkar para este item:
https://repositorio.ufu.br/handle/123456789/32272
ORCID: | http://orcid.org/0000-0001-8327-7790 |
Tipo do documento: | Trabalho de Conclusão de Curso |
Tipo de acesso: | Acesso Aberto Attribution-NonCommercial-NoDerivs 3.0 United States |
Título: | Assessment of programming languages for computational fluid dynamics |
Título(s) alternativo(s): | Avaliação de Diferentes Linguagens de Programação para Fluidodinâmica Computacional (CFD) |
Autor(es): | Burgos, Arturo Machado |
Primeiro orientador: | Andrade, João Rodrigo |
Primeiro membro da banca: | Martins, Ramon Silva |
Segundo membro da banca: | Duarte, Carlos Antonio Ribeiro |
Resumo: | Para a resolução da grande maioria dos problemas de dinâmica numérico-computacional quanto a dinâmica de fluidos computacional, CND e CFD, respectivamente, diferentes linguagens de programação são usadas. No presente trabalho buscamos avaliar rotinas comumente utilizadas em códigos CND e CFD para resolver diferentes problemas. O nível de complexidade dos testes varia, indo desde fáceis como avaliação de loops ou problemas recursivos até aqueles inicialmente um tanto complexos, uma vez que já lidam com conceitos de transporte de calor. Quatro linguagens de programação foram contabilizadas: Python, Fortran, Julia e MATLAB. Além disso, um deles contém uma variação, neste caso Python com o módulo Numba (especificamente o processo Just In Time - JIT). As análises das linguagens são quantitativas e qualitativas, ou seja, apesar de nos preocuparmos em analisar o tempo computacional despendido em cada um dos testes, procuramos também mostrar nossas impressões sobre a facilidade de uso ou sobre a documentação disponível nos fóruns. Quanto aos resultados, é possível inferir que dentre as linguagens de programação a que apresenta melhor desempenho é o FORTRAN. Porém Python demonstra ter um grande potencial, visto que é uma linguagem de alto nível e muito aceita pela comunidade. Além disso, verificou-se que com rotinas criadas por outros desenvolvedores, os processos são bastante otimizados, tornando os tempos de execução ainda mais curtos quando comparados aos demais. |
Abstract: | For the vast majority resolution of both computational numerical dynamics and computational fluid dynamics, CND and CFD respectively problems, different programming languages are used. In this present work we sought to evaluate routines commonly used in CND and CFD codes to solve different problems. The level of complexity of the tests varies, ranging from easy such evaluation of loops or recursive problems to those at first somewhat complex, since they already deal with concepts of heat transport. Four programming languages were accounted for: Python, FORTRAN, Julia and Matlab. Furthermore, one of them contains a variation, which in this case Python with the Numba module (specifically Just In Time process - JIT). The analysis of the languages are both quantitative and qualitative. That is, despite worrying about analyzing the computational time spent on each of the tests, we also try to show our impressions about the ease of use or the documentation available in forums. As for the results, it is possible to infer that among the programming languages the one with the best performance is FORTRAN. However Python demonstrates to have a great potential, since it is a high-order language and very embraced by the community. In addition, it was found that with routines created by other developers, processes are greatly optimized, making execution times even shorter when compared to the other languages. |
Palavras-chave: | Linguagens de programação Programming languages Computacional Computational Fluidodinâmica computacional Computational fluid dynamics Processos vetorizados Vectored process Computational numerical dynamics Dinâmica numérico-computacional |
Área(s) do CNPq: | CNPQ::ENGENHARIAS CNPQ::ENGENHARIAS::ENGENHARIA MECANICA CNPQ::ENGENHARIAS::ENGENHARIA MECANICA::FENOMENOS DE TRANSPORTE |
Idioma: | eng |
País: | Brasil |
Editora: | Universidade Federal de Uberlândia |
Referência: | BURGOS, Arturo Machado. Assessment of programming languages for computational fluid dynamics. 2021. 62 f. Trabalho de Conclusão de Curso (Graduação em Engenharia Mecânica) – Universidade Federal de Uberlândia, Uberlândia, 2021. |
URI: | https://repositorio.ufu.br/handle/123456789/32272 |
Data de defesa: | 10-Jun-2021 |
Aparece nas coleções: | TCC - Engenharia Mecânica |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
AssessmentProgrammingLanguages.pdf | 642.47 kB | Adobe PDF | Visualizar/Abrir |
Este item está licenciada sob uma Licença Creative Commons