kh2d-solver: Uma Biblioteca Python para Instabilidade de Kelvin-Helmholtz Bidimensional Idealizada e Incompressível
kh2d-solver: A Python Library for Idealized Two-Dimensional Incompressible Kelvin-Helmholtz Instability
September 19, 2025
Autores: Sandy H. S. Herho, Nurjanna J. Trilaksono, Faiz R. Fajary, Gandhi Napitupulu, Iwan P. Anwar, Faruq Khadami, Dasapta E. Irawan
cs.AI
Resumo
Apresentamos uma biblioteca Python de código aberto para simular instabilidades bidimensionais incompressíveis de Kelvin-Helmholtz em fluxos de cisalhamento estratificados. O resolvedor emprega um método de projeção de passo fracionário com solução espectral de Poisson via Transformada Rápida de Seno, alcançando precisão espacial de segunda ordem. A implementação utiliza NumPy, SciPy e compilação JIT com Numba para computação eficiente. Quatro casos de teste canônicos exploram números de Reynolds de 1000 a 5000 e números de Richardson de 0,1 a 0,3: camada de cisalhamento clássica, configuração de cisalhamento duplo, fluxo rotacional e turbulência forçada. A análise estatística usando entropia de Shannon e índices de complexidade revela que camadas de cisalhamento duplo alcançam taxas de mistura 2,8 vezes maiores do que a turbulência forçada, apesar de números de Reynolds mais baixos. O resolvedor opera eficientemente em hardware de desktop padrão, com simulações de grade 384x192 concluindo em aproximadamente 31 minutos. Os resultados demonstram que a eficiência de mistura depende dos caminhos de geração de instabilidade, e não apenas de medidas de intensidade, desafiando parametrizações baseadas no número de Richardson e sugerindo refinamentos para a representação de subescala em modelos climáticos.
English
We present an open-source Python library for simulating two-dimensional
incompressible Kelvin-Helmholtz instabilities in stratified shear flows. The
solver employs a fractional-step projection method with spectral Poisson
solution via Fast Sine Transform, achieving second-order spatial accuracy.
Implementation leverages NumPy, SciPy, and Numba JIT compilation for efficient
computation. Four canonical test cases explore Reynolds numbers 1000--5000 and
Richardson numbers 0.1--0.3: classical shear layer, double shear configuration,
rotating flow, and forced turbulence. Statistical analysis using Shannon
entropy and complexity indices reveals that double shear layers achieve
2.8times higher mixing rates than forced turbulence despite lower Reynolds
numbers. The solver runs efficiently on standard desktop hardware, with
384times192 grid simulations completing in approximately 31 minutes. Results
demonstrate that mixing efficiency depends on instability generation pathways
rather than intensity measures alone, challenging Richardson number-based
parameterizations and suggesting refinements for subgrid-scale representation
in climate models.