• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学

• 论文 • 上一篇    下一篇

一种基于正弦变换的三维泊松方程并行求解算法

林士伟1,2,3,张卫民1,2,方民权1,2,李松1,2   

  1. (1.国防科技大学计算机学院,湖南 长沙 410073;2.海军海洋水文气象中心,北京 100161;
    3.国防科技大学海洋科学与工程研究院,湖南 长沙 410073)
  • 收稿日期:2017-01-11 修回日期:2017-03-26 出版日期:2017-08-25 发布日期:2017-08-25
  • 基金资助:

    国家自然科学基金(41375113)

A parallel 3D poisson equation solver
based on discrete sine transform

LIN Shi-wei1,2,3,ZHANG Wei-min1,2,FANG Min-quan1,2,LI Song1,2   

  1. (1.College of Computer,National University of Defense Technology,Changsha 410073;
    2.Naval Hydrologic Meteorological Center,Beijing 100161;
    3.Academy of Ocean Science and Engineering,National University of Defense Technology,Changsha 410073,China)
     
  • Received:2017-01-11 Revised:2017-03-26 Online:2017-08-25 Published:2017-08-25

摘要:

泊松方程的数值解法在许多物理或者工程问题上得到广泛应用,但是由于大部分三维泊松方程的离散化格式不具有明显的并行性,实际中使用整体迭代的思想,这使得计算效率和稳定性受到了限制。摒弃了传统数值解法中整体迭代的思想,结合离散正弦变换理论(DST),基于27点四阶差分格式,将三维泊松方程求解算法在算法级进行修改和并行优化,把整个求解问题转化成多个独立的问题进行求解,稳定性和并行性能得到大幅提升。对于确定的离散化形式,可以使用同一套参数解决不同的泊松方程,大大提高了编程效率。基于共享存储并行模型实现了该算法,实验结果显示,对于给出的实例,新算法具有较好的加速效果,计算结果精度误差约为10e-5,在可接受范围内,并且计算精度随着维数的升高具有一定提升。
 

关键词: 三维泊松方程, 离散正弦变换, 并行, OpenMP

Abstract:

Poisson equations are widely applied in physical and engineering problems. Most of numerical methods for solving 3D Poisson equations have no remarkable parallelism, and use the global iteration methods which limit the computational efficiency and stability. We abandon the idea of global iteration and combine the discrete sine transform theory (DST) with 27-point four-order difference scheme to modify and parallelize the 3D Poisson equation solver at the algorithm level, which separates the whole problem to several smaller independent ones and greatly improves the stability and parallel performance. For a given discrete form, common parameters can be used to solve different Possion equations so that the programming efficiency is greatly improved. The algorithm is implemented on the basis of the shared memory parallel model. Experimental results show that  for the given instance, the new algorithm has a good acceleration effect and the final error of the computing result is about 10e-5, within an acceptable rang. And the result accuracy gets improved with the increase of problem scale.
 

Key words: 3D poisson equation, discrete sine transform, parallel, OpenMP