We present the derivation, implementation, and analysis of a multiresolution adaptive grid framework for numerical simulations on octree-based 3D block-structured collocated grids with distributed computational architectures. Our approach provides a consistent handling of non-lifted and lifted interpolating wavelets of arbitrary order demonstrated using second, fourth, and sixth order wavelets, combined with standard finite-difference based discretization operators. We first validate that the wavelet family used provides strict and explicit error control when coarsening the grid, and show that lifting wavelets increase the grid compression rate while conserving discrete moments across levels. Further, we demonstrate that high-order PDE discretization schemes combined with sufficiently high order wavelets retain the expected convergence order even at resolution jumps. We then simulate the advection of a scalar to analyze convergence for the temporal evolution of a PDE. The results shows that our wavelet-based refinement criterion is successful at controlling the overall error while the coarsening criterion is effective at retaining the relevant information on a compressed grid. Our software exploits a block-structured grid data structure for efficient multi-level operations, combined with a parallelization strategy that relies on a one-sided MPI-RMA communication approach with active PSCW synchronization. Using performance tests up to 16,384 cores, we demonstrate that this leads to a highly scalable performance. The associated code is available under a BSD-3 license at https://github.com/vanreeslab/murphy.
翻译:我们提出一个多分辨率适应网格框架的衍生、实施和分析,用于对基于奥克特里的3D区块结构式合用网格以及分布式计算结构进行数字模拟。我们的方法是一致处理使用第二、第四和第六级分流的未提升和提升的任意排列波流,同时使用标准的有限差异分化操作员。我们首先确认,在变换网格时,波盘组使用的调整标准提供了严格和明确的错误控制,并表明,升波盘增加了电网压缩速度,同时保持了各层次之间的离散时间。此外,我们证明,高等级的PDE离散和足够高等级的分解波流组合计划甚至在分辨率跳跃时仍保留预期的汇合顺序。我们然后模拟一个斜度的斜度,以分析PDE的时间演变的趋同。结果显示,我们基于波盘的精度改进标准成功地控制了总体错误,而粗略标准则有效地保留了压缩电网格中的相关信息。我们的软件利用一个块结构化的网格数据结构化数据结构,用于高效的多层次操作,甚至3级分解,我们利用了这种同步的运行策略,在16RMDSDSB下,我们使用一种同步的运行的运行中,并用一种动态的进度测试。