长江科学院院报 ›› 2020, Vol. 37 ›› Issue (10): 1-8.DOI: 10.11988/ckyyb.20191114

• 专家特约稿 • 上一篇    下一篇

数值流形法覆盖系统并行生成算法研究

张友良, 莫思阳   

  1. 海南大学 土木建筑工程学院,海口 570228
  • 收稿日期:2019-09-11 修回日期:2019-12-11 出版日期:2020-10-01 发布日期:2020-10-29
  • 作者简介:张友良(1972-),男,湖北武穴人,教授,博士,主要从事岩土数值计算及高性能精细模拟等方面的教学和科研工作。E-mail:zhangyouliang@hainanu.edu.cn
  • 基金资助:
    海南省重大科技计划项目(ZDKJ201803);国家自然科学基金地区科学基金项目(51868017)

Parallel Algorithm of Cover System Generation in Numerical Manifold Method

ZHANG You-liang, MO Si-yang   

  1. School of Civil and Architectural Engineering, Hainan University, Haikou 570228, China
  • Received:2019-09-11 Revised:2019-12-11 Published:2020-10-01 Online:2020-10-29

摘要: 计算效率低是当前制约数值流形法应用于大型实际工程模拟的瓶颈问题,并行计算作为一种加速计算技术,能有效地提高数值流形法的计算效率。在串行算法基础上,系统研究了基于分布式内存编程模式的数值流形法覆盖系统和流形单元并行生成算法。首先,在分析并行算法与串行算法不同点和难点的基础上,采用区域分解算法实现并行任务分配,并提出覆盖系统并行生成主要步骤。采用临时规则粗网格形成负载均衡的子区域,提出相应子区域生成算法。其次,在深入分析数值流形法数学覆盖、物理覆盖和流形单元之间关系基础上,探讨并行算法中子区域覆盖系统生成的关键技术,以及物理覆盖和流形单元编号规则。然后,针对并行算法提出了建立覆盖系统界面信息算法,为数值流形法并行计算过程中通讯和数据交换提供支持。最后,在覆盖系统并行生成算法基础上,采用C++面向对象编程技术开发了相应程序。2个算例结果验证了算法正确性和有效性,为后续并行模拟提供了前处理器。

关键词: 数值流形法, 覆盖系统, 并行计算, 区域分解算法, 流形单元, 子区域, 界面单元

Abstract: Computational time of numerical manifold method is a bottleneck problem in simulating large-scale practical engineering problems. Parallel computing is an effective accelerating technique. Based on the serial algorithm, the parallel cover system and the manifold element generation algorithm based on the distributed memory programming mode are studied. Compared with the serial algorithm, differences and difficulties of parallel algorithm are firstly described. The domain decomposition algorithm is used to assign parallel tasks, and the main steps of parallel algorithm of cover system are proposed. The generation of sub-domain is formed by using a temporary coarse grid taking load balancing into consideration, and the corresponding sub-domain generation algorithm is proposed. In subsequence, based on the analysis of the relationship among mathematical covers, physical covers and manifold elements of numerical manifold method, the essential techniques in parallel algorithm, as well as physical coverage and manifold element numbering rules are discussed. Then the algorithm for establishing the interface information is proposed for the parallel algorithm, which provides necessary information for data exchange in the parallel computing process of the numerical manifold method. Finally, based on the parallel generation algorithm of cover system, a code was developed using C++ and object-oriented programming technology. Two numerical examples verify the parallel algorithm, which provides a preprocessor for subsequent parallel simulation.

Key words: numerical manifold method, cover system, parallel computing, domain decomposition algorithm, manifold element, sub-domain, interface element

中图分类号: