We study temporal step size control of explicit Runge-Kutta methods for compressible computational fluid dynamics (CFD), including the Navier-Stokes equations and hyperbolic systems of conservation laws such as the Euler equations. We demonstrate that error-based approaches are convenient in a wide range of applications and compare them to more classical step size control based on a Courant-Friedrichs-Lewy (CFL) number. Our numerical examples show that error-based step size control is easy to use, robust, and efficient, e.g., for (initial) transient periods, complex geometries, nonlinear shock capturing approaches, and schemes that use nonlinear entropy projections. We demonstrate these properties for problems ranging from well-understood academic test cases to industrially relevant large-scale computations with two disjoint code bases, the open source Julia packages Trixi.jl with OrdinaryDiffEq.jl and the C/Fortran code SSDC based on PETSc.
翻译:我们研究了明确的龙格-库塔压缩计算流体动态(CFD)的时间步数控制方法,包括纳维埃-斯托克方程式和欧拉方程式等保护法的双曲系统。我们证明,基于错误的方法在广泛的应用中是方便的,并将它们与基于库兰特-弗里德里赫-劳伊(CFL)号的更经典的步数控制方法进行比较。我们的数字实例表明,基于错误的步数控制很容易、有力和高效地使用,例如(最初的)瞬时段、复杂的地貌、非线性震荡捕捉方法以及使用非线性诱变预测的计划。我们展示了这些问题的特性,这些问题包括深埋伏的学术测试案例、与工业相关的大规模计算以及两个脱节的代码基础,即与普通DiffEq.jl的开放源的朱丽娅·特里希.jl软件包和基于PETSC的C/Fortran代码。