Kutta
Um pequeno túnel de vento 2D em Go com Ebitengine: um escoamento Lattice-Boltzmann por um aerofólio que você desenha, corta em asa e flap, e anima. Intuição visual qualitativa, não CFD validado.
Kutta é um pequeno túnel de vento 2D. Ele escoa um fluxo por um aerofólio e o deixa visível: o campo de velocidade, a vorticidade, um campo tipo pressão, as estrias de fumaça e os vetores de sustentação e arrasto, tudo reagindo ao vivo enquanto você muda o ângulo de ataque.
É escrito em Go e renderizado com Ebitengine, e roda como um único aplicativo desktop.
O objetivo é intuição, não engenharia. O Kutta roda em unidades de rede (lattice), não físicas: acerta o formato do escoamento (estagnação no bico, a esteira, sucção em cima, separação conforme o ângulo sobe) e erra os números de propósito. É para ensinar, para curiosidade de aeromodelismo e para demos que ficam bonitas no projetor, não para dimensionar uma asa de verdade. O atrito de pele é ignorado, então o arrasto sai baixo; limitação conhecida, não bug escondido.
O solver é um método Lattice-Boltzmann 2D (D2Q9 com colisão BGK): fluxo livre pela esquerda, o corpo como parede no-slip via bounce-back de meio caminho, e as forças saindo da integral da pressão sobre as faces do corpo. Os pacotes de baixo nível (lbm, foil, scene/sceneio, viz) não têm peso de renderização e testam sem tela; uma ferramenta de snapshot renderiza os campos direto para PNG para conferir a física sem abrir janela.
Também tem um editor de formas. Desenha uma forma fechada, arrasta vértices, puxa alças Bézier para curvar arestas, e corta e junta formas para dividir um aerofólio em uma asa e um flap que mantêm o perfil de verdade. Um modo de animação percorre uma linha do tempo e faz keyframes da pose de cada parte enquanto o escoamento continua rodando. As cenas salvam como .afoil, um formato textual pequeno em s-expressions.
Os perfis NACA de 4 e 5 dígitos são gerados a partir das fórmulas, então um código como 2412, 0012 ou 23012 produz a forma sem carregar nada do disco.
Funciona em macOS, Windows e Linux, com binários prontos e um cask do Homebrew (brew install --cask crgimenes/tap/kutta). Licença MIT.