1
背景与问题
手动生成高质量网格一直是非常费时费力的工作。美国工业软件公司ENVENIO发布了一份针对仿真行业的调查报告《The CFD Survey》,该调查采访了28个国家的116位仿真从业者,涉及不同规模的公司。调查结果中显示(如下图),不论规模大小,所有的公司都认为在网格生成上花费了太长的时间。一方面,随着计算机算力提升,人力成本相对越来越昂贵。另一方面,数值模拟精度要求越来越高,所需网格数量逐渐增长到超过人工可控的规模。因此,网格生成的自动化、大规模化、并行化是网格技术发展的大势所趋。
仿真行业的调查结果[1]
众核处理器(GPU)日益严峻的“访存墙”[5]
2
SAMR特点和优势
(笛卡尔)AMR网格示例(素材来源于网络)
Tree-based Patch-based
SAMR网格具有局部结构化特点,同时能够通过高效的自适应能力捕捉多尺度特征。虽然笛卡尔形式网格在精确刻画边界上有一定不足,但是通过浸没边界法等非贴体网络边界模型也可以较好地实现边界条件。实际上,SAMR也完全可以使用曲线网格和贴体边界,只不过处理起来相对复杂一些。正因为SAMR相对其它网格有其独特性,在某些方面有其突出的优势,主要包括以下几个方面。
SAMR适配神威·太湖之光处理器架构体系
3
我们的SAMR框架
STL几何模型
通过选取计算域物理场某个特征量作为加密依据,SAMR框架可以自动根据加密依据加密或粗化网格。例如在流动模拟中,选取速度梯度作为加密依据,速度梯度大则代表流场变化剧烈,通过加密该区域可以更精确解析流场。
跟随特征的网格自适应示意图
一般负载均衡与逐层负载均衡策略的差异
SAMR框架通过容器化封装,将网格、场和计算域等数据对象进行了容器化实现,屏蔽了底层复杂的众核并行与MPI分布式并行相关数据结构和算法。用户通过使用容器和容器提供的函数式编程接口(函数指针+迭代器),可以在SAMR框架上快速开发所需的物理模型或求解算法。
算子定义示意图
4
一个应用例子
suboff流场局部
参考文献
[1] https://zhuanlan.zhihu.com/p/47164365
[2] Dubey A , Almgren A , Bell J , et al. Asurvey of high level frameworks in block-structured adaptive mesh refinementpackages[J]. Journal of Parallel & Distributed Computing, 2014,74(12):3217-3227.
3] Schornbaum F , U Rüde. Extreme-ScaleBlock-Structured Adaptive Mesh Refinement[J]. SIAM Journal on ScientificComputing, 2017, 40(3).
[4] Burstedde C , Wilcox L C , Ghattas O .p4est : Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests ofOctrees[J]. Siam Journal on Scientific Computing, 2011, 33(3):1103-1133.
[5] https://medium.com/riselab/ai-and-memory-wall-2cb4265cb0b8