流场有限元分析的并行计算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
迭代次数 加速比
1
算
例
利用上述思路, 在署光 2333 并行计算机上编程 计算了一个简单的二维后掠台阶流场。流场计算网 格如图 2 所示, 层流局部流场速度矢量分布示于图 0。层流和紊流计算加速比如下表所示:
层流计算 +33 233 + 4 0+ + 4 05 +33 2 4 00 紊流计算 233 2 4 16 033 2 4 ,+
[! = 3] 的进展 , 但由于并行计算的困难 (如任务分配的
流场中各点速度在 " , ( 567) $ 方向的分量 #, 单元节点上速度在 " , ( 567) $ 方向的分量 #,
压强 ( 89) 单元节点上压强值 ( 89) 紊动动能 ( +6:;) 紊动能量耗散率 ( +6:;) 动力粘性系数 ( (・ 765# ) 紊流粘性系数 ( &・ ’6 ( # ) 流体密度 ( )* 6 ( 0 )
! " "%
<
困难; 现有算法语言的限制; 现有串行处理方式的约 束; 通讯开销与计算开销间的平衡等等) , 讨论并行 算法理论和并行算法设计与分析的居多, 研究并行 算法的实现并解决实际问题的文献鲜见。 本文尝试 从流场有限元分析入手, 利用国产并行计算机曙光 讨论实现流场有限元分析并行计算的方法。 #))),
1& " " 1 $ " 1% ! ( " 14 " 15
(4)
过消息传递的方程进行。 因此 ;99 的并行编程难度 较大, 所有消息传递要由程序员来设计和控制。
引入罚函数后得到流场有限元分析的分离式求解法
[+] 列式 : ! (5) ! && " ! " #& " ! ! &$ $ " ! ! &% % ! # & ! (+) ! $$ $ ! " #$ " ! ! $& " " ! ! $% % ! # $ ! (6) ! %% % ! " #% " ! ! %& " " ! ! %$ $ ! # % ! 44 ! ! " #4 " ! ! 4& " " ! ! 4$ $ " ! 4% % " & ! ! #4
第$期
李人宪, 等: 流场有限元分析的并行计算
6*
( ! #,"" # ! " ,#" )($) !! " ! #," ! " $ ,# #(" # "% ) 紊动能方程
统矩阵与右端项的计算中去, 既是实现了并行计算。 值得指出的是, 采用串行的顺序求解法可在求 解第二式时利用第一式的计算结果, 求解第三式时 利用第一、 二式的计算结果等等, 从而提高迭代效 率, 而并行计算则不具备这种优势。 但由于几组方程 同时求解, 总的时间利用率应该是大大提高的。 评价 并行计算效率通常使用加速比公式: 2$ ! *& *$
$
$
式中 * & — — — 串行算法在单台处理机上的运动时 间; — — 利用 $ 个结点 ( 89: ) 的并行计算运行时 *$ — 间。
#& ! & ) (, # $ ! &)% 文 [+] 采用等参数单元, 按 ,-./0123 加权余量法导出
有限元列式: ! ! & &$ & && ! ! & $& & $$ ! & %& & %$ ! * * " )& " )$ & 4& & 4$ & 5& & 5$
!! , !# , !0 !, ", # $ $ %
文献标识码: 4 符 号
并行计算 (或并行算法) 是与并行计算机系统、 并行计算机编译软件相并列的并行处理技术体系。 它是实现用并行处理技术求解实际问题的最终环 节。 自六十年代出现并行处理概念以来, 发达国家在 并行处理技术上已达到很高的水平 (见 . . . ’ /01 ’ , 已用并行处理技术求解了相当多的 !(2 ’ 34! 等) 实际问题。 国内在并行算法研究方面也取得了一定
第 !" 卷
第#期 #))# 年 * 月
应
用
力
学
学
报
$%&’ !"
(% ’ #
!"#$%&% ’()*$+, (- +..,#%/ 0%!"+$#!&
+,- ’ #))#
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
并行计算是提高流场数值分析计算效率的有效 方法, 尽管并行计算的实现要依赖于计算机硬件设 备, 但计算效率的提高更多地依赖算法的改进。本 文的工作只是在有限元流场分析并行计算方面的一 个初上尝试。流场有限元分析中存在着大量的矩阵 相加、 相乘, 也有相当多的矩阵分解和方程组求解, 这些计算可以按照并行计算的思想来改造和执行,
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
图2
后掠台阶二维流场计算网格图
图0
局部流场速度矢量分布图 (放大)
随着迭代次数的增加, 加速比加大。当然, 迭代 次数应以收敛判据为依据, 不同的流场问题, 不同的 收敛判据其迭代次数会不一样, 本例中是减小收敛 判据以观察迭代次数与加速比间的关系。
曙光 $((( 是继曙光 &((( 之后我国自行研制的
大规模并行计算机系统 ( ;99) , 每个 89: 有自己的 独立内存。 它吸纳了群集 (<.=>?/0)并行机的一些特 点, 克服了共享内存并行机 ( @;9) 中存储器与处理 器系统间的通讯瓶颈问题。 但 ;99 结构体系不能使 各 89: 之间共享内存, 89: 之间的数据交换只能通
63
应
用
力
学
学
报
第 +6 卷
分发至各计算结点; 结果数据的收集则由聚集函数 ( !"#$%&’()*) 完成。 为保证数据通讯不产生干涉, 采 用了阻塞通讯方式。 如此, 定常不可压缩紊流流场有限 元分析并行计算的程序流程可用图 + 表示: 可见, 不可压三维紊流流场采用罚函数法作并 行计算至少要用到 , 个结点, 层流计算因只求解 -, 可只用 0 个结点。 二维情况则分别要用 1 个或 2 ., /, 个结点。
"# & # ’ " $ , "" !! " & ," !(" # #& ) "# & ! 紊动耗散率方程
(%)
$ $ "# $,"" # ( & &"% ’ & " !( $ &(’) " , " !( !!$ " ## ) $ 式中
& $ ’ & !( ! #," ) # ! #," ! " ,# , "% ! !(" $ (" ! ( ) (*, ( & ! & ) ’’, ( $ ! & ) *$,
!
引
言
随着计算机运行速度的提高和存储容量的加 大, 数值计算已成为与理论分析和实验研究并列的 研究流体流动问题的方法。 然而, 由于流体流动的复 杂性, 使流场数值计算的工作量非常巨大, 以至于利 用目前运算速度最快的计算机仍无法仔细模拟大多 数工程流场。 因此, 计算流体力学工作者一直在寻求 更好的算法来大规模提高计算速度。 并行计算是目 前最行之有效的方法之一。 狭义地讲, 并行计算就是 在具有多个 +,- 的计算机上设计算法, 实现多组计 算任务同时进行, 使原来按序列依次进行的计算工 作并行完成, 从而大大提高计算效率。
#
紊态流场有限元分析并行算法
定常不可压缩紊流流场, 采用 ). ! 两方程紊流 [*] 模型模拟时可用下述方程组描述 : 连续性方程 ! 5 ,5 > ) 动量方程 (!)
#))).)?.#1 修回日期: #))!.)0.## " 来稿日期: 第一作者简介: 李人宪, 男, 西南交通大学机械工程学院教授, 四川省成都市二环路北一段; 研究方向: 热动力机械强度及动 !"3/ 年生, 万方数据 力学分析, 车辆空气动力学 @
万方数据
(*) ! 55! ! " #5 " ! ! 5& " " ! ! 5$ $ " ! 5% % ! #5 (&() 式 (5) 7(&()中每一式都表示一组非线性代 数方程组, 各式之间是相互耦合的。 但求解方程组时 各式又可认为是相互独立的。 即, 若给出一组初值 各式可以独立求解, 计算结果 "( , $( , %( , !( , !( , 再作为下次迭代的初值代入, 循环求解。 即然各式可 分别独立求解, 当然也应该可以同时求解, 而这正是 并行计算的思路。 只要能使计算机同时求解这五组 万方数据 方程, 并将计算结果收集后再分配到各方程组的系
! & &% ! & $% ! & %%
" ) & 4% & 5%
* %
%
" )& " )$ " )% ( ( ( ( ( ( ( & 44 ( ( , ( - ( . ( / 0 + & 55 $
并行计算在曙光 $((( 上的 实现
文章编号: (#))#) !)))./"0" )#.))11.)0
流百度文库有限元分析的并行计算
李人宪
(西南交通大学
"
杨忠超
成都 *!))0!)
摘要: 在流场有限元分离式求解法的基础上, 导出了并行计算的算法流程, 可利用并行计算机同时 求解的相互耦合的流场描述非线性方程组, 并在曙光 #))) 并行计算机系统上成功实施, 比之串行 计算, 较大幅度地提高了计算效率。 关键词: 并行计算; 有限元法; 流场 中图分类号: 203 主 要
有些已有成熟的算法。如何在特定的计算机上成功 实施还有待于进一步的工作。 参
+ 2 0 1 , : 5
考
文
献
,
结
论
张德富, 并行处理技术, 南京大学出版社, +662 陈国良, 并行算法的设计与分析, 高等教育出版社, +661 夏绍瑟等译, 并行计算机体系结构, 程序设计 * 7 8 7 霍克尼等著, 及算法, 清华大学出版社, +695 徐甲同, 李学干, 并行处理技术, 西安电子科技大学出版社, +666 陈景良, 并行数值方法, 清华大学出版社, +690 陶文铨, 数值传热学, 西安交通大学出版社, +699 李人宪, 刘应清, 高速列车紊态外流场的数值模拟研究, 应用力学 学报, 233+ 年, +期
图& 三维紊态流场有限元分析并行计算框图
由于 ;99 各结点间不能共享内存, 式 (5)7(&() 求解前需首先将每循环计算初值分发到各个结点, 而 每循环计算完成后还必须把各结点的计算结果数据收 集并传回根结点 (控制结点) 。 考虑程序的可移植性, 拟 采用 ;9& ( ;/>>-A/ 9->>23A B3?/0C-</) 的编程环境, 每循 环初始时, 由广播函数 ( ;9BDE8F@G) 将循环初值数据
1
算
例
利用上述思路, 在署光 2333 并行计算机上编程 计算了一个简单的二维后掠台阶流场。流场计算网 格如图 2 所示, 层流局部流场速度矢量分布示于图 0。层流和紊流计算加速比如下表所示:
层流计算 +33 233 + 4 0+ + 4 05 +33 2 4 00 紊流计算 233 2 4 16 033 2 4 ,+
[! = 3] 的进展 , 但由于并行计算的困难 (如任务分配的
流场中各点速度在 " , ( 567) $ 方向的分量 #, 单元节点上速度在 " , ( 567) $ 方向的分量 #,
压强 ( 89) 单元节点上压强值 ( 89) 紊动动能 ( +6:;) 紊动能量耗散率 ( +6:;) 动力粘性系数 ( (・ 765# ) 紊流粘性系数 ( &・ ’6 ( # ) 流体密度 ( )* 6 ( 0 )
! " "%
<
困难; 现有算法语言的限制; 现有串行处理方式的约 束; 通讯开销与计算开销间的平衡等等) , 讨论并行 算法理论和并行算法设计与分析的居多, 研究并行 算法的实现并解决实际问题的文献鲜见。 本文尝试 从流场有限元分析入手, 利用国产并行计算机曙光 讨论实现流场有限元分析并行计算的方法。 #))),
1& " " 1 $ " 1% ! ( " 14 " 15
(4)
过消息传递的方程进行。 因此 ;99 的并行编程难度 较大, 所有消息传递要由程序员来设计和控制。
引入罚函数后得到流场有限元分析的分离式求解法
[+] 列式 : ! (5) ! && " ! " #& " ! ! &$ $ " ! ! &% % ! # & ! (+) ! $$ $ ! " #$ " ! ! $& " " ! ! $% % ! # $ ! (6) ! %% % ! " #% " ! ! %& " " ! ! %$ $ ! # % ! 44 ! ! " #4 " ! ! 4& " " ! ! 4$ $ " ! 4% % " & ! ! #4
第$期
李人宪, 等: 流场有限元分析的并行计算
6*
( ! #,"" # ! " ,#" )($) !! " ! #," ! " $ ,# #(" # "% ) 紊动能方程
统矩阵与右端项的计算中去, 既是实现了并行计算。 值得指出的是, 采用串行的顺序求解法可在求 解第二式时利用第一式的计算结果, 求解第三式时 利用第一、 二式的计算结果等等, 从而提高迭代效 率, 而并行计算则不具备这种优势。 但由于几组方程 同时求解, 总的时间利用率应该是大大提高的。 评价 并行计算效率通常使用加速比公式: 2$ ! *& *$
$
$
式中 * & — — — 串行算法在单台处理机上的运动时 间; — — 利用 $ 个结点 ( 89: ) 的并行计算运行时 *$ — 间。
#& ! & ) (, # $ ! &)% 文 [+] 采用等参数单元, 按 ,-./0123 加权余量法导出
有限元列式: ! ! & &$ & && ! ! & $& & $$ ! & %& & %$ ! * * " )& " )$ & 4& & 4$ & 5& & 5$
!! , !# , !0 !, ", # $ $ %
文献标识码: 4 符 号
并行计算 (或并行算法) 是与并行计算机系统、 并行计算机编译软件相并列的并行处理技术体系。 它是实现用并行处理技术求解实际问题的最终环 节。 自六十年代出现并行处理概念以来, 发达国家在 并行处理技术上已达到很高的水平 (见 . . . ’ /01 ’ , 已用并行处理技术求解了相当多的 !(2 ’ 34! 等) 实际问题。 国内在并行算法研究方面也取得了一定
第 !" 卷
第#期 #))# 年 * 月
应
用
力
学
学
报
$%&’ !"
(% ’ #
!"#$%&% ’()*$+, (- +..,#%/ 0%!"+$#!&
+,- ’ #))#
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
并行计算是提高流场数值分析计算效率的有效 方法, 尽管并行计算的实现要依赖于计算机硬件设 备, 但计算效率的提高更多地依赖算法的改进。本 文的工作只是在有限元流场分析并行计算方面的一 个初上尝试。流场有限元分析中存在着大量的矩阵 相加、 相乘, 也有相当多的矩阵分解和方程组求解, 这些计算可以按照并行计算的思想来改造和执行,
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
图2
后掠台阶二维流场计算网格图
图0
局部流场速度矢量分布图 (放大)
随着迭代次数的增加, 加速比加大。当然, 迭代 次数应以收敛判据为依据, 不同的流场问题, 不同的 收敛判据其迭代次数会不一样, 本例中是减小收敛 判据以观察迭代次数与加速比间的关系。
曙光 $((( 是继曙光 &((( 之后我国自行研制的
大规模并行计算机系统 ( ;99) , 每个 89: 有自己的 独立内存。 它吸纳了群集 (<.=>?/0)并行机的一些特 点, 克服了共享内存并行机 ( @;9) 中存储器与处理 器系统间的通讯瓶颈问题。 但 ;99 结构体系不能使 各 89: 之间共享内存, 89: 之间的数据交换只能通
63
应
用
力
学
学
报
第 +6 卷
分发至各计算结点; 结果数据的收集则由聚集函数 ( !"#$%&’()*) 完成。 为保证数据通讯不产生干涉, 采 用了阻塞通讯方式。 如此, 定常不可压缩紊流流场有限 元分析并行计算的程序流程可用图 + 表示: 可见, 不可压三维紊流流场采用罚函数法作并 行计算至少要用到 , 个结点, 层流计算因只求解 -, 可只用 0 个结点。 二维情况则分别要用 1 个或 2 ., /, 个结点。
"# & # ’ " $ , "" !! " & ," !(" # #& ) "# & ! 紊动耗散率方程
(%)
$ $ "# $,"" # ( & &"% ’ & " !( $ &(’) " , " !( !!$ " ## ) $ 式中
& $ ’ & !( ! #," ) # ! #," ! " ,# , "% ! !(" $ (" ! ( ) (*, ( & ! & ) ’’, ( $ ! & ) *$,
!
引
言
随着计算机运行速度的提高和存储容量的加 大, 数值计算已成为与理论分析和实验研究并列的 研究流体流动问题的方法。 然而, 由于流体流动的复 杂性, 使流场数值计算的工作量非常巨大, 以至于利 用目前运算速度最快的计算机仍无法仔细模拟大多 数工程流场。 因此, 计算流体力学工作者一直在寻求 更好的算法来大规模提高计算速度。 并行计算是目 前最行之有效的方法之一。 狭义地讲, 并行计算就是 在具有多个 +,- 的计算机上设计算法, 实现多组计 算任务同时进行, 使原来按序列依次进行的计算工 作并行完成, 从而大大提高计算效率。
#
紊态流场有限元分析并行算法
定常不可压缩紊流流场, 采用 ). ! 两方程紊流 [*] 模型模拟时可用下述方程组描述 : 连续性方程 ! 5 ,5 > ) 动量方程 (!)
#))).)?.#1 修回日期: #))!.)0.## " 来稿日期: 第一作者简介: 李人宪, 男, 西南交通大学机械工程学院教授, 四川省成都市二环路北一段; 研究方向: 热动力机械强度及动 !"3/ 年生, 万方数据 力学分析, 车辆空气动力学 @
万方数据
(*) ! 55! ! " #5 " ! ! 5& " " ! ! 5$ $ " ! 5% % ! #5 (&() 式 (5) 7(&()中每一式都表示一组非线性代 数方程组, 各式之间是相互耦合的。 但求解方程组时 各式又可认为是相互独立的。 即, 若给出一组初值 各式可以独立求解, 计算结果 "( , $( , %( , !( , !( , 再作为下次迭代的初值代入, 循环求解。 即然各式可 分别独立求解, 当然也应该可以同时求解, 而这正是 并行计算的思路。 只要能使计算机同时求解这五组 万方数据 方程, 并将计算结果收集后再分配到各方程组的系
! & &% ! & $% ! & %%
" ) & 4% & 5%
* %
%
" )& " )$ " )% ( ( ( ( ( ( ( & 44 ( ( , ( - ( . ( / 0 + & 55 $
并行计算在曙光 $((( 上的 实现
文章编号: (#))#) !)))./"0" )#.))11.)0
流百度文库有限元分析的并行计算
李人宪
(西南交通大学
"
杨忠超
成都 *!))0!)
摘要: 在流场有限元分离式求解法的基础上, 导出了并行计算的算法流程, 可利用并行计算机同时 求解的相互耦合的流场描述非线性方程组, 并在曙光 #))) 并行计算机系统上成功实施, 比之串行 计算, 较大幅度地提高了计算效率。 关键词: 并行计算; 有限元法; 流场 中图分类号: 203 主 要
有些已有成熟的算法。如何在特定的计算机上成功 实施还有待于进一步的工作。 参
+ 2 0 1 , : 5
考
文
献
,
结
论
张德富, 并行处理技术, 南京大学出版社, +662 陈国良, 并行算法的设计与分析, 高等教育出版社, +661 夏绍瑟等译, 并行计算机体系结构, 程序设计 * 7 8 7 霍克尼等著, 及算法, 清华大学出版社, +695 徐甲同, 李学干, 并行处理技术, 西安电子科技大学出版社, +666 陈景良, 并行数值方法, 清华大学出版社, +690 陶文铨, 数值传热学, 西安交通大学出版社, +699 李人宪, 刘应清, 高速列车紊态外流场的数值模拟研究, 应用力学 学报, 233+ 年, +期
图& 三维紊态流场有限元分析并行计算框图
由于 ;99 各结点间不能共享内存, 式 (5)7(&() 求解前需首先将每循环计算初值分发到各个结点, 而 每循环计算完成后还必须把各结点的计算结果数据收 集并传回根结点 (控制结点) 。 考虑程序的可移植性, 拟 采用 ;9& ( ;/>>-A/ 9->>23A B3?/0C-</) 的编程环境, 每循 环初始时, 由广播函数 ( ;9BDE8F@G) 将循环初值数据