ChatPaper.aiChatPaper

kh2d-solver: Библиотека на Python для моделирования идеализированной двумерной несжимаемой неустойчивости Кельвина-Гельмгольца

kh2d-solver: A Python Library for Idealized Two-Dimensional Incompressible Kelvin-Helmholtz Instability

September 19, 2025
Авторы: Sandy H. S. Herho, Nurjanna J. Trilaksono, Faiz R. Fajary, Gandhi Napitupulu, Iwan P. Anwar, Faruq Khadami, Dasapta E. Irawan
cs.AI

Аннотация

Мы представляем библиотеку с открытым исходным кодом на Python для моделирования двумерных несжимаемых неустойчивостей Кельвина-Гельмгольца в стратифицированных сдвиговых течениях. Решатель использует метод дробных шагов с проекцией и спектральным решением уравнения Пуассона через быстрое синус-преобразование, обеспечивая точность второго порядка по пространству. Реализация использует NumPy, SciPy и JIT-компиляцию Numba для эффективных вычислений. Четыре канонических тестовых случая исследуют числа Рейнольдса в диапазоне 1000–5000 и числа Ричардсона 0.1–0.3: классический сдвиговый слой, двойной сдвиговый конфигурация, вращающееся течение и вынужденная турбулентность. Статистический анализ с использованием энтропии Шеннона и индексов сложности показывает, что двойные сдвиговые слои достигают в 2.8 раза более высоких скоростей перемешивания по сравнению с вынужденной турбулентностью, несмотря на более низкие числа Рейнольдса. Решатель эффективно работает на стандартных настольных компьютерах, при этом моделирование на сетке 384×192 завершается примерно за 31 минуту. Результаты демонстрируют, что эффективность перемешивания зависит от механизмов генерации неустойчивостей, а не только от мер интенсивности, что ставит под сомнение параметризации, основанные на числе Ричардсона, и предлагает уточнения для представления субсеточных масштабов в климатических моделях.
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.
PDF02September 25, 2025