260 likes | 448 Views
并行有限元 ADVFEM 开发、测试与应用. 陈 林 河海大学工程力学系 chenlin@hhu.edu.cn http://grid.hhu.edu.cn. 一、开发背景.
E N D
并行有限元ADVFEM开发、测试与应用 陈 林 河海大学工程力学系 chenlin@hhu.edu.cn http://grid.hhu.edu.cn
一、开发背景 有限元法是求解复杂工程问题的一种近似数值解法,已经成为模拟数学物理及工程问题的重要工具。随着结构问题越来越复杂,传统串行计算机因受到内存容量与运算速度的限制往往束缚了有限元的应用。对于一些大型结构工程的计算,可归结为求解大型偏微分方程,计算的区域往往是高维的、大范围的,它们不仅自由度高,而且还含有非线性、随机荷载和复杂的边界条件等多种因素。因此,对这些结构的分析需要借助高阶有限元模型和进行大量的计算。这就要求我们在进行计算时需要引入并行技术。
通过并行计算可以: • 减少计算的时间; • 解决单个处理器的内存不能满足计算的需要
基于区域分解的并行有限元方法是当前并行计算最活跃的研究与应用领域之一。基于区域分解的并行有限元方法是当前并行计算最活跃的研究与应用领域之一。 它主要包括: • 网格的划分和基于其上的数据分割。网格划分的好坏将直接影响并行计算的效率和求解算法的收敛性态。 • 迭代方法的选取。
直接方法, 这种方法通常具有鲁棒性,只要系统的条件数不是很坏,就可以给出精确解。但由于问题的复杂和规模变大使得系统达到百万阶以上时,这种方法就不再适用,因为它要求巨大的存储和长的处理时间。如3D问题,内存和计算时间要求增长。 • 迭代方法,存储内存的要求变小,特别适合有限元方法离散的稀疏矩阵(一般说来这种矩阵具有大型、稀疏、病态等特点)。 • 针对问题选择迭代方法具有很好的收敛性。 • 适合并行计算。 • 好的预处理条件能够与直接方法匹配实施。
并行求解过程 • 区域网格剖分; • 分割区域为子区域; • 给每个子区域分配一个处理器; • 每个处理器在局部单元上实施计算; • 内部节点在本地处理器上; • 子区域的界面节点要求通信.
二、程序的开发 程序开发及运行环境 操作系统:RedHat Linux 9.0 开发环境:PGI C++ MPICH 网格数据 边界条件 区域分解 求解问题 弹性问题 弹塑性问题 并行求解 数据整合 求解规模 100-1000万自由度 可 视 化
前处理 前期数据准备简单,只需要单元和结点信息、边界条件和材料参数。可以通过其它软件来获得这些信息,如ABAQUS、GID等。 数据文件为: • 网格数据 job.msh • 边界条件 job.cnd • 材料参数 job.dat
METIS简介 METIS是一个分割大型不规则图形/网格的软件包。它的原理是基于多级图形分裂,先对图形进行连续粗化,对粗化后的图形进行分割,被计算分割后的区域映射到细小的图形上。最后再把这种划分逐步还原到规模不断增大的图,并在还原过程中用局部方法对划分进行微调,直到获得原图的划分。
处理器映射 “Part” 1 “Part” 2 “Part” 3 “Domain” 1 “Domain” 3 “Domain” 5 “Domain” 2 “Domain” 4 “Domain” 6 CPU 1 CPU 2 CPU 3 “Part” 4 “Part” 5 “Domain” 7 “Domain” 9 “Domain” 8 “Domain” 10 CPU 4 CPU 5
可视化 ADVFEM的计算结果可以在其它后处理软件中调用,如GID、TECPLOT等。
三、程序的测试与应用 对龙马面板堆石坝的简化模型进行线性分析 单元数:1295921 结点数:231574
ADVFEM在网格中的应用 ADVFEM程序可以利用河海大学校园网格的WEB方式来进行任务的提交。