论文标题
具有自适应力更新的加速自我磨削流体动力学模拟
Accelerating self-gravitating hydrodynamics simulations with adaptive force updates
论文作者
论文摘要
许多天体物理水体动力学模拟必须考虑重力,并且在所有分辨率元素的位置评估重力场可能会产生大量成本。典型算法每次对元件进行流体动力更新时,都会更新每个分辨率元件位置的重力场,但是实际上所需的流体动力学和重力更新频率通常可能有所不同。我们表明,仅通过更新由已确定的最大时间段的时间尺度上的重力来优化流体动力学模拟中的重力计算,以准确的重力整合$ΔT_ {\ rm grav} $,而在典型的Hydro Hydro计划和Gravity Olvers的典型误差预算中保持良好状态。我们在Gizmo代码中的实现使用了Grudić&Hopkins 2020中引入的潮汐时间尺度来确定$ΔT_{\ rm grav} $和力量更新频率,并使用重力求解器评估的混蛋来构建加速器的预测因子,以在更新之间使用加速度。我们在标准的自我赋予流体动力学测试问题上测试了该方案,在评估重力力量少得多的同时,找到了非常接近幼稚方案的解决方案,从而优化了模拟。我们还在Starforge MHD GMC模拟中演示了$ \ sim 70 \%$速度,并且在高分辨率运行中可能会增加。通常,该方案引入了一个新的可调参数,用于与例如时步公差,数值分辨率和重力求解器的公差。
Many astrophysical hydrodynamics simulations must account for gravity, and evaluating the gravitational field at the positions of all resolution elements can incur significant cost. Typical algorithms update the gravitational field at the position of each resolution element every time the element is updated hydrodynamically, but the actual required update frequencies for hydrodynamics and gravity can be different in general. We show that the gravity calculation in hydrodynamics simulations can be optimised by only updating gravity on a timescale dictated by the already-determined maximum timestep for accurate gravity integration $Δt_{\rm grav}$, while staying well within the typical error budget of hydro schemes and gravity solvers. Our implementation in the GIZMO code uses the tidal timescale introduced in Grudić & Hopkins 2020 to determine $Δt_{\rm grav}$ and the force update frequency in turn, and uses the jerk evaluated by the gravity solver to construct a predictor of the acceleration for use between updates. We test the scheme on standard self-gravitating hydrodynamics test problems, finding solutions very close to the naïve scheme while evaluating far fewer gravity forces, optimising the simulations. We also demonstrate a $\sim 70\%$ speedup in a STARFORGE MHD GMC simulation, with larger gains likely in higher-resolution runs. In general, this scheme introduces a new tunable parameter for obtaining an optimal compromise between accuracy and computational cost, in conjunction with e.g. time-step tolerance, numerical resolution, and gravity solver tolerance.