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、およびNumba JITコンパイルを活用している。レイノルズ数1000~5000およびリチャードソン数0.1~0.3の範囲で、古典的せん断層、二重せん断配置、回転流、強制乱流の4つの標準的なテストケースを検討した。シャノンエントロピーと複雑度指数を用いた統計解析により、二重せん断層はレイノルズ数が低いにもかかわらず、強制乱流よりも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.