Este trabalho visa quebrar muitas das barreiras de entrada em um código acadêmico que resolva Navier-Stokes, acoplando-o a um ambiente Jupyter sandbox. Para alunos de fluidodinâmica computacional, ele fornece experiência prática direta e um local seguro para praticar e aprender, enquanto para usuários avançados e desenvolvedores de código, funciona como uma ferramenta de prototipagem rápida.
Iniciantes podem enfrentar muitas barreiras de entrada em um código acadêmico para Fluidodinâmica Computacional (CFD), por exemplo:
Esse trabalho visa quebrar essas barreiras ao construir uma camada Python, ou mais especificamente Jupyter Notebook, sobre o código CFD, programado originalmente em Fortran.
Para tanto, o código CFD de alta ordem Xcompact3d foi modificado para aceitar toda a configuração do escoamento sob investigação de uma fonte externa, incluindo parâmetros físicos e numéricos, condição inicial e condições de contorno, e uma geometria sólida que pode ser inserida no domínio cartesiano por meio do método das fronteiras imersas (IBM, do inglês Immersed Boundary Method). A configuração do escoamento, por sua vez, é fornecida a partir de um Jupyter Notebook, aproveitando a documentação embutida com células Markdown (incluindo facilmente figuras, tabelas e equações $\LaTeX$), visualização e interatividade com widgets e bibliotecas de plotagem, além da versatilidade e legibilidade da programação em Python. Além disso, os parâmetros de entrada podem ser verificados quanto à consistência e compatibilidade. O conhecimento prévio de NumPy e Matplotlib é suficiente para começar com as configurações de escoamento exemplificadas. No entanto, não há limitação para estendê-lo para ferramentas mais avançadas como Pandas, Xarray, Dask, Numba, Holoview, Plotly e muitos outros do ecossistema Jupyter. Na verdade, o Jupyter CFD Sandbox foi incorporado ao pacote Python Xcompact3d-toolbox.
O resultado da metodologia apresentada nesse trabalho pode beneficiar usuários de diferentes níveis:
Além disso, é um avanço importante em termos de reprodutibilidade de pesquisa, e pode ser portado para qualquer outro solucionador numérico, (avise-nos se você fizer isso).
Tutoriais e diversas configurações de escoamento estão disponíveis na Documentação do Xcompact3d-toolbox.