论文部分内容阅读
随着经济不断发展,在建或拟建工程规模不断扩大,尤其混凝土坝规模也在扩大,这就极大地增加了工程设计人员在初期设计阶段数值分析的工作量。虽然计算机的单核处理性能不断提高,但是为了发挥出多核计算机的运算能力,越来越多的设计人员开发并行计算编程来进一步提高计算机的运算效率和处理问题规模。本文结合科技部“高性能计算重大专项”,编写针对混凝土重力坝结构(静力)分析的不同类型并行程序,主要工作如下: (1)本文采用的基本算法是有限元区域分解算法,着重介绍了区域分解算法的理论和公式、区域分解算法改进版FETI的理论,并对FETI最终方程中每一个子部分的求解进行推导。针对最终方程条件数不好,其是个病态方程,采用PCG迭代求解。PCG迭代法不仅能解决方程条件数不好的问题,而且能保证求解速度和保证精度。 (2)介绍了一些常见的并行编程模式和并行计算机的两种分类方法。针对某重力坝结构计算,编写不同形式的并行程序,测试每一种并行程序的加速比,比较其中的不同点以及适用性。对于不同类型计算机,可通过采用相应类型的并行模式以充分发挥计算机计算能力。 (3)通过编写不同形式的并行计算程序对某重力坝进行静力分析,对比其中加速度比等差异。通过对实际问题的计算发现存储问题、矩阵求逆问题、大规模矩阵乘(BKBT)的问题是区域分解算法中存在的三个问题。根据以上缺陷,本文分别采用下三角存储、调用库函数、初等行(列)变换对程序进行进一步优化,极大的降低了文件储存空间,提高计算效率。