CFD com Python: 12 Passos para Navier-Stokes
Introdução
CFD com Python, também conhecido como os 12 passos para Navier-Stokes, é um módulo prático para o aprendizado dos fundamentos de Dinâmica dos Fluidos Computacional (CFD, do Inglês Computational Fluid Dynamics) por meio de códigos que resolvem as equações diferenciais parciais que descrevem a física dos escoamentos. Esta é uma adaptação e tradução para português por Felipe N. Schuch. Os textos e códigos originais foram parte do curso ministrado pela Prof. Lorena Barba entre 2009 e 2013 no departamento de Engenharia Mecânica da Universidade de Boston (Prof. Barba então se mudou para Universidade George Washington).
O curso é para iniciantes. O módulo assume que o leitor tenha conhecimentos básicos sobre programação (qualquer linguagem) e alguma familiaridade com equações diferenciais e mecânica dos fluidos. Guiando estudantes através destes passos (sem falhar nenhum!), podemos ensina-los lições valiosas. A constante evolução entre os exercícios proporciona um senso de recompensa ao final de cada atividade, e eles sentem que estão aprendendo com pouco esforço. Conforme avançam, eles naturalmente praticam como reutilizar trechos de código e progressivamente aprendem técnicas de programação e visualização. Enquanto eles analisam os resultados, aprendem sobre difusão, precisão e convergência. Em todos os casos, o aluno é encorajado a seguir o trabalho de cada lição paralelamente ao reescrever em um Jupyter Notebook novo, mantendo anotações pessoais de seu progresso e de seus experimentos.
We hope that the CFD Python series will help a new cohort of students and self-learners gain basic CFD skills. Let us know what you think!
Prof. Lorena Barba
Como Acessar
Existem basicamente duas opções, descritas à seguir:
Executar online
Execute uma seção interativa dessa versão do CFD com Python em seu navegador usando o serviço Binder. Esta opção não requer nenhuma instalação na sua máquina, apenas clique no botão:
- Espere a aplicação carregar tudo para você, isso pode levar algum tempo;
- O próximo passo é abrir os arquivos na pasta
tarefas
; - Ao final do curso, não esqueça de salvar uma cópia do Notebook com suas anotações pessoais.
Instalação
Se você gostaria de executar na sua própria máquina por meio da instalação de alguma distribuição Python, consulte os detalhes sobre o procedimento em nosso repositório no GitHub.
Conteúdo
Os passos 1 a 4 são em uma direção espacial (1D). Passos 5 a 10 são em duas dimensões (2D). Passos 11 e 12 resolvem as equações de Navier-Stokes em 2D. Três Notebooks “bônus” cobrem a condição CFL de estabilidade, operações de arranjos multi-dimensionais com NumPy e definição de funções em Python.
- Ligeira Introdução à Python – Para novatos em Python, essa lição introduz bibliotecas numéricas (NumPy e Matplotlib), variáveis em Python, endentação e manipulação de arranjos.
- Passo 1 – Convecção linear com avanço à partir da condição inicial (CI) e condições de contorno (CC) apropriadas.
- Passo 2 – Com as mesmas CI/BCs, convecção não linear.
- Condição CFL – Explorando a estabilidade numérica e a condição de Courant-Friedrichs-Lewy (CFL).
- Passo 3 – Com as mesmas CI/BCs, apenas difusão.
- Passo 4 – Equação de Burgers, com CI dente de serra e CC periódica (e uma introdução ao SymPy).
- Operações com arranjos em NumPy
- Passo 5 – Convecção linear 2D com CI função quadrada e CC apropriadas.
- Passo 6 – Com as mesmas CI/BCs, convecção não linear 2D.
- Passo 7 – Com as mesmas CI/BCs, difusão 2D.
- Passo 8 – Equação de Burgers 2D.
- Definindo Funções em Python
- Passo 9 – Equação de Laplace 2D com CI zero e CC ambas Neumann e Dirichlet.
- Passo 10 – Equação de Poisson 2D.
- Passo 11 – Resolve o escoamento em Cavidade com Navier-Stokes 2D.
- Passo 12 – Resolve o escoamento em Canal com Navier–Stokes 2D.
nbviewer
, que os apresenta na tela, porem não em forma executável. Para isso, consulte Executar online.Conteúdo complementar
Existem ainda duas outras versões do CFD com Python:
- Versão original em Inglês, por Prof. Lorena Barba.
- Tradução para Espanhol, por F.J. Navarro-Brull para CAChemE.org
A versão original foi ainda publicada em:
- Barba, Lorena A., and Forsyth, Gilbert F. (2018). CFD Python: the 12 steps to Navier-Stokes equations. Journal of Open Source Education, 1(9), 21, doi.org/10.21105/jose.00021